Sqltutor - instalace: Porovnání verzí
(Není zobrazeno 41 mezilehlých verzí od 2 dalších uživatelů.) | |||
Řádek 1: | Řádek 1: | ||
{{Databáze}} | {{Databáze}}{{Upravit}} | ||
[[Soubor:Sqltutor-1.png|250px|right]] | [[Soubor:Sqltutor-1.png|250px|right]] | ||
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 [http://www.debian.org Debian/GNU Linux]. | |||
;Poznámka: Pokud není řečeno jinak, jsou všechny následující příklady převzaty z prostředí OS | |||
== Překlad a instalace programu sqltutor == | == Překlad a instalace programu sqltutor == | ||
Řádek 17: | Řádek 14: | ||
Musíte mít nainstalován následující software a knihovny | Musíte mít nainstalován následující software a knihovny | ||
* web server s podporou CGI skriptů (např. Apache) | * web server s podporou CGI skriptů (např. [http://www.apache.org Apache]) | ||
* kompilator g++ a program autoconf | * kompilator [http://directory.fsf.org/project/gpp/ g++] a program [http://www.gnu.org/software/autoconf/ autoconf] | ||
* C++ knihovnu libpqxx pro připojení k databázi PostgreSQL | * C++ knihovnu [http://pqxx.org/development/libpqxx/ libpqxx] pro připojení k databázi [[PostgreSQL]] | ||
* C++ hlavičkové soubory knihovny libpqxx-dev | * C++ hlavičkové soubory knihovny libpqxx-dev | ||
Řádek 25: | Řádek 22: | ||
apt-get install libpqxx libpqxx-dev | apt-get install libpqxx libpqxx-dev | ||
=== | === Git === | ||
Zdrojové texty [http://savannah.nongnu.org/projects/sqltutor sqltutor] si | Zdrojové texty [http://savannah.nongnu.org/projects/sqltutor sqltutor] si stáhnete z anonymního [[Git]] serveru | ||
git clone git://git.savannah.gnu.org/sqltutor.git | |||
Přejdete do vytvořeného | Přejdete do vytvořeného adresáře 'sqltutor', vytvoříte konfigurační skript pomocí <tt>autogen.sh</tt> a poté zadáte příkazy <tt>configure</tt> a <tt>make</tt>, např. | ||
cd sqltutor/ | cd sqltutor | ||
./configure | ./autogen.sh | ||
./configure --bindir=/usr/lib/cgi-bin --infodir=/usr/share/info | |||
make | make | ||
Před spuštěním příkazu ./configure můžete explicitně nastavit parametry překladu, např. | Před spuštěním příkazu <tt>./configure</tt> můžete explicitně nastavit parametry překladu, např. | ||
export CXXFLAGS= | export CXXFLAGS= | ||
=== Změna jména databáze, uživatele a hesla === | === Změna jména databáze, uživatele a hesla === | ||
Řádek 77: | Řádek 66: | ||
Skript přeedituje zdrojový text, přeloží program sqltutor a nakopíruje jej do adresáře cgi-bin. | 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 | 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 | su | ||
make install | |||
Ověřte, že adresu na které je program umístěn, tj. CGI skript <tt>sqltutor</tt>, lze spustit z webového prohlížeče (úvodní dialogový panel nevyžaduje připojení k databázi), např. | |||
<nowiki>http://localhost/cgi-bin/sqltutor</nowiki> | |||
=== Parametry pg_hba.conf === | === Parametry pg_hba.conf === | ||
Řádek 134: | Řádek 110: | ||
local sqlquiz wwwquiz md5 | 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 [[PostGIS#Vytvoření 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 | |||
<pre> | |||
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 | |||
</pre> | |||
dále nastavíme databázi (název, uživatele, hesla) | |||
<pre> | |||
Sqltutor database name ? sqltutor | |||
Sqltutor WWW user ? sqlquiz | |||
Sqltutor WWW user password? sqlkrok | |||
Sqltutor EXEC user ? sqlexec | |||
Sqltutor EXEC user password? sqlkrok | |||
</pre> | |||
adresáře kam se sqltutor nainstaluje (vyžaduje právo zápisu) | |||
<pre> | |||
The directory for installing CGI binaries ? /usr/lib/cgi-bin | |||
The directory for installing Info documentation? /usr/share/info | |||
</pre> | |||
a volitelně zapneme podporu pro PostGIS (y) | |||
<pre> | |||
Do you want to enable PostGIS extension? (y/n) : n | |||
</pre> | |||
V tomto případě ještě definujeme cestu k PostGIS inicializačním SQL dávkám | |||
<pre> | |||
The PostGIS directory? /usr/share/postgresql/8.4/contrib/postgis-1.5 | |||
</pre> | |||
V následujících krocích se sqltutor nakonfiguruje, zkompiluje a nainstaluje včetně všech dostupných datasetů. | |||
== Související články == | |||
* [[B870 - instalace SQLtutor|skript]] pro instalaci sqltutor v učebně B 870. |
Aktuální verze z 31. 10. 2010, 15:26

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.