Sqltutor - instalace

Z GeoWikiCZ

Instalaci programu sqltutor a databáze příkladů sqlquiz tvoří dva hlavní kroky

  • překlad a instalace programu sqltutor
  • vytvoření a naplnění databáze sqlquiz

Každý z modulů sqltutor a sqlquiz je umístěn do vlastního podadresáře stejného jména, implicitně se předpokládá, že jsou oba umístěny v jednom společném adresáři.

Pokud se moduly sqltutor a sqlquiz nenacházejí ve společném adresáři, je nutno upravit Makefile modulu sqlquiz (nastavit proměnnou TUTOR).

Poznámka
Pokud není řečeno jinak, jsou všechny následující příklady převzaty z prostředí OS Debian/GNU Linux.

Překlad a instalace programu sqltutor

Musíte mít nainstalován následující software a knihovny

  • web server s podporou CGI skriptů (např. Apache)
  • kompilator g++ a program autoconf
  • C++ knihovnu libpqxx pro připojení k databázi PostgreSQL
  • C++ hlavičkové soubory knihovnu libpqxx-dev
apt-get install postgresql postgresql  
apt-get install libpqxx libpqxx-dev

CVS

Zdrojové texty sqltutor si stahnete z anonymního CVS serveru

cvs -d:pserver:anonymous@cvs.sv.gnu.org:/sources/sqltutor co sqltutor

Přejdete do vytvořeného podadresáře sqltutor a zadáte příkazy ./configure a make

 cd sqltutor/sqltutor
 ./configure
 make

Před spuštěním příkazu ./configure můžete explicitně nastavit parametry překladu, např.

export CXXFLAGS=

Pokud máte nainstalované všechny potřebné knihovna a překlad a sestavení programu proběhne bez chyb, nakopírujte program sqltutor do adresáře pro který máte povoleno spouštění CGI skriptů, např.

su
cp sqltutor /usr/lib/cgi-bin

Ověřte, že adresu na které je program umístěn, tj. CGI skript sqltutor, lze spustit z webového prohlížeče (úvodní dialogový panel nevyžaduje připojení k databázi).

Pokud chcete program sqltutor instalovat na veřejně přístupný server, musíte před jeho překladem změnit přístupové heslo k databázi v souboru settings.cpp (nastavení parametru db_connection).

Vytvoření a naplnění databáze sqlquiz

Musíte mí nainstalován databázový system PostgreSQL

1. vytvořte databázi

su
su - postgres
createdb sqlquiz

2. založte uživatele pro www přístup a nastavte mu heslo (uživatel by neměl mít oprávnění pro vytváření další rolí a databází).

createuser -D -R wwwquiz
psql
ALTER USER wwwquiz WITH PASSWORD 'krok';

3. Pokud již není vytvořen v databázi template1, vytvoříte v databázi sqlquiz jazyk PL/PGSQL

su
su - postgres
psql wwwquiz
sqlquiz=> CREATE LANGUAGE plgqsql;

Přejděte do adresáře sqltutor/sqlquiz a zadejte příkaz make

cd sqltutor/sqlquiz
make

Makefile v modulu sqlquiz se odvolává na soubory z modulu sqltutor (vytvořní tabulek, nastavení přístupových práv, úložná procedura pro výběr další otázky, atd.)

Ve webovém prohlížeči na příslušné adrese zadáte program sqltutor a můžete začít řešit testy.

Administrace

Program sqltutor v podstatě žádnou administraci nevyžaduje. Informace o spouštěných testech a záznamy o zadaných otázkách a odpovědích jsou ukládány v tabulkách sessions a sessions_answers.

Testovano pro
  • sqltutor-0.03.06.tar.gz
  • sqlquiz-2008-04-16.tar.gz
  • GNU autoconf 2.61
  • GNU g++ 4.1.2
  • postgresql-8.1
  • libpqxx-2.6.8
  • OS Debian/GNU Linux (etch).

SuSE GNU/Linux

  • Do souboru /etc/postgresql/main/pg_hba.conf přidejte řádek
local all all md5