Sqltutor - instalace

Z GeoWikiCZ

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.

Naplnění databáze tutoriálů

Musíte mít nainstalován databázový systém PostgreSQL. Nejprve databázi vytvoříme

createdb sqltutor

Databázi inicializujeme příkazem

make database

Pokud překlad a sestavení programu proběhne v pořádku můžete sqltutora nainstalovat 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).

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.