Sqltutor - instalace: Porovnání verzí
Řádek 52: | Řádek 52: | ||
=== Změna jména databáze, uživatele a hesla === | === Změna jména databáze, uživatele a hesla === | ||
Pokud má být sqltutor nainstalován na veřejném serveru, nastavete hodnoty proměnných DBNAME, DBUSER a PASSWD ve skriptu install-tutor.sh | |||
<pre> | <pre> |
Verze z 9. 5. 2008, 18:04

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 knihovny 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).
Změna jména databáze, uživatele a hesla
Pokud má být sqltutor nainstalován na veřejném serveru, nastavete hodnoty proměnných DBNAME, DBUSER a PASSWD ve skriptu install-tutor.sh
DBNAME=xxxxxx DBUSER=yyyyyy PASSWD=zzzzzz # su - # su - postgresql # ALTER USER $DBUSER WITH PASSWORD '$PASSWD';" cd sqltutor/sqltutor rm -f settings.cpp cvs update -dPA sed -i /^T\ SQLtutor::db_connection/s/sqlquiz/$DBNAME/ settings.cpp sed -i /^T\ SQLtutor::db_connection/s/wwwquiz/$DBUSER/ settings.cpp sed -i /^T\ SQLtutor::db_connection/s/krok/$PASSWD/ settings.cpp make && cp -v sqltutor /usr/lib/cgi-bin/sqltutor
Skript přeedituje zdrojový text, přeloží program sqltutor a nakopíruje jej do adresáře cgi-bin.
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 zdrojového adresáře příkladů a zadejte příkaz make
cd sqltutor/sqlquiz/cs/gi_ctu 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