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.
Instalace 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
Instalace datasetů
Oficiální datasety pro Sqltutor jsou dostupné v Git repozitáři GNU
git clone git://git.sv.gnu.org/sqltutor/datasets.git
Nejprve provedeme konfiguraci
cd sqltutor-datasets ./autogen.sh ./configure
Pro nainstalování datasetů pro PostGIS
./configure --enable-postgis
V tomto případě musí být databáze vytvořena s rozšířením PostGIS
Datasety nainstalujeme příkazem
make install
Krok za krokem: instalace pomocí sqltutor-install.sh
git clone git://git.savannah.gnu.org/sqltutor.git git clone git@geo.fsv.cvut.cz:sqltutor-datasets datasets ln -sf sqltutor/sqltutor-install.sh .
./sqltutor-install.sh
Nejprve definujeme cesty ke Git repozitářům
GNU Sqltutor installer v. 1.0 ============================= To install sqltutor you must have git repositories for sqltutor and datasets and tutorials ready. $ git clone git://git.savannah.gnu.org/sqltutor.git $ git clone git://git.sv.gnu.org/sqltutor/datasets.git Where is sqltutor git repository? ./sqltutor Where is datasets git repository? ./datasets
dále nastavíme databázi (název, uživatele, hesla)
Sqltutor database name ? sqltutor Sqltutor WWW user ? sqlquiz Sqltutor WWW user password? sqlkrok Sqltutor EXEC user ? sqlexec Sqltutor EXEC user password? sqlkrok
adresáře kam se sqltutor nainstaluje (vyžaduje právo zápisu)
The directory for installing CGI binaries ? /usr/lib/cgi-bin The directory for installing Info documentation? /usr/share/info
a volitelně zapneme podporu pro PostGIS (y)
Do you want to enable PostGIS extension? (y/n) : n
V tomto případě ještě definujeme cestu k PostGIS inicializačním SQL dávkám
The PostGIS directory? /usr/share/postgresql/8.4/contrib/postgis-1.5
V následujících krocích se sqltutor nakonfiguruje, zkompiluje a nainstaluje včetně všech dostupných datasetů.
Související články
- skript pro instalaci sqltutor v učebně B 870.