Sqltutor - instalace

Instalace Sqltutora se skládá ze dvou kroků
- překlad a instalace programu sqltutor
- vytvoření a naplnění databáze příkladů
- 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
Git
Zdrojové texty sqltutor si stáhnete z anonymního Git serveru
git clone git://git.savannah.gnu.org/sqltutor.git
Přejdete do vytvořeného adresáře 'sqltutor', vytvoříte konfigurační skript pomocí autogen.sh a poté zadáte příkazy configure a make, např.
cd sqltutor ./autogen.sh ./configure --bindir=/usr/lib/cgi-bin --infodir=/usr/share/info make
Před spuštěním příkazu ./configure můžete explicitně nastavit parametry překladu, např.
export CXXFLAGS=
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.
Instalce a inicializace databáze
Musíte mít nainstalován databázový systém PostgreSQL. Nejprve databázi vytvoříme
createdb sqltutor
Pokud překlad a sestavení programu proběhlo v pořádku můžete sqltutora nainstalovat (včetně inicializace databáze) příkazem
su make install
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), např.
http://localhost/cgi-bin/sqltutor
Parametry pg_hba.conf
Pro přístup k databázi PostgreSQL musí být nastaveny korektní hodnoty v souboru pg_hba.conf
. Pod operačním systémem Debian GNU/Linux není pro zpřístupnění databáze určené pouze pro práci na lokálním počítači nic nastavovat. Soubor pg_hba.conf
mimo jiné obsahuje implicitní parametry
# TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all ident sameuser # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
Umístění souboru pg_hba.conf
je závislé na distribuci, obvykle
/etc/postgresql/verze_postgresu/main/pg_hba.conf
.
Explicitní nastavení
Na jiných systémech, např. SuSE GNU/Linux, je nutné implicitní nastavení upravit a do souboru souboru pg_hba.conf
přidat řádek
local all all md5
Jestliže hodláme povolit přístup přes TCP/IP z lokálního počítače pro všechny existující uživatele s heslem. V případě, že hodláme tento přístup povolit pouze pro aplikaci SQLtutor (zvýšení bezpečnosti), je možné psát explicitně
local sqlquiz wwwquiz md5
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).
Pokud vaše instalace nespouští server Apache (nebo jiný web server) automaticky, musíte jej pochopitelně spustit explicitně dřív, než začnete používat program sqltutor.
Odkazy
- skript pro instalaci sqltutor v učebně B 870.