Sqltutor - instalace: Porovnání verzí

Z GeoWikiCZ
 
(Není zobrazeno 9 mezilehlých verzí od stejného uživatele.)
Řádek 132: Řádek 132:
  make install
  make install


== Administrace ==
== Krok za krokem: instalace pomocí sqltutor-install.sh ==


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.
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 .


;Testovano pro:
./sqltutor-install.sh
* 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.
Nejprve definujeme cesty ke Git repozitářům


=== Odkazy ===
<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.
* [[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.