Pisut know-how veebiserveri installeerimiseks
Kindlasti leidub selle saidi külastajate seas kasutajaid, kes teeksid alltoodut hoopis teisiti, kuid ka nendele on antud võimalus siia täiendavaid artikleid üles panna ja miks mitte alternatiivseid ning konkureerivaid.
Tänapäeval on veebiserverid enamjaolt dünaamilised: andmed hoitakse andmebaasis ning nendest genereeritakse html vorming serveripoolsete skriptide abil. Sageli saadetakse andmeid kliendi brauserisse krüptitud kujul.
Vabavara areng toimub väga kiirelt st. uute alltoodud komponentide versioone antakse välja keskmiselt kaks korda kvartalis. Kindlaim viis endale sobivalt server häälestada, on installeerida tarkvara lähtekoodist.
Autor kasutab veebiserveri installeerimiseks järgnevaid komponente, sulgudes on viide komponendi allalaadimiseks:
Teiste komponentide installeerimisprotsess aga võtab sõltuval masina võimsusest oluliselt rohkem aega
Lae enda arvutisse OpenSSL 0.9.7d:
Veendu et failis:
Lae enda arvutisse Apache 2.0.49:
Täieliku ülevaate saamiseks võimalikest võtmetest konfiguratsioonis saad:
Sertifikaadi loomine:
Loo kataloogid:
Apache paigutab oma konfiguratsiooni PREFIX/conf kataloogi
Et järgida hea tava, tee sümboolne link PREFIX/conf jaoks
Kopeeri see fail algkäivituse skriptide kataloogi:
MySQL 4.0.18 võib installeerida kahel moel: a) eelkompileeritud b) lähtekoodist c) paketist: rpm | tgz | deb
eelkompileeritud variant on algajale turvalisem, kuid sisaldab ka üldiselt mittevajalikku (minu näites viimased 3 omadust);
paketist installeeritud variandid võivad probleeme tekitada hilisemal PHP installeerimisel
a) Installeerimine lähtekoodist:
Lae enda arvutisse MySQL 4.0.18:
Täieliku ülevaate saamiseks võimalikest võtmetest konfiguratsioonis saad:
minu näide kasutab andmebaasi asukohana kataloogi /sql.data
-march=i686 sõltub su arvutist:
Veendu et failis:
Lae enda arvutisse MySQL 4.0.18:
Lõpphäälestus mõlema variandi jaoks:
Veendu, et on olemas kasutaja mysql.mysql:
MySQL installatsiooniskriptide käivitamine:
Kopeeri see fail algkäivituse skriptide kataloogi:
Lae enda arvutisse PHP 4.3.6:
Täieliku ülevaate saamiseks võimalikest võtmetest konfiguratsioonis saad:
Kokkuvõtteks:
See kirjutis on minu jaoks esimene sellelaadne dokument.
Linux'ga kogemust on ka vaid paari aasta jagu
Kõik nüansid, niipalju kui ma neid siia kribasin, on saadud isiklike kogemuste, googeldamise, e.a.u.l.vestlus ja e.a.u.l.install vestluse ja abi tulemusena.
Oleks meeldiv sellelaadseid eestikeelseid kirjutisi rohkem kohata. Kõikvõimalikud kommentaarid, märkused on väga teretulnud!
TM
Tänapäeval on veebiserverid enamjaolt dünaamilised: andmed hoitakse andmebaasis ning nendest genereeritakse html vorming serveripoolsete skriptide abil. Sageli saadetakse andmeid kliendi brauserisse krüptitud kujul.
Vabavara areng toimub väga kiirelt st. uute alltoodud komponentide versioone antakse välja keskmiselt kaks korda kvartalis. Kindlaim viis endale sobivalt server häälestada, on installeerida tarkvara lähtekoodist.
Autor kasutab veebiserveri installeerimiseks järgnevaid komponente, sulgudes on viide komponendi allalaadimiseks:
Zlib 1.2.1 (http://www.zlib.net/zlib-1.2.1.tar.gz) OpenSSL 0.9.7d (http://www.openssl.org/source/openssl-0.9.7d.tar.gz) Apache 2.0.49 (http://apache.datanet.ee/httpd/httpd-2.0.49.tar.gz) MySQL 4.0.18 (http://mysql.mirror.ok.ee/Downloads/MySQL-4.0/mysql-4.0.18.tar.gz) PHP 4.3.6 (http://ee2.php.net/distributions/php-4.3.6.tar.gz)Lae enda arvutisse Zlib 1.2.1:
wget http://www.zlib.net/zlib-1.2.1.tar.gzPaki zlib-1.2.1 arhiiv lahti:
tar xzf zlib-1.2.1.tar.gzMuuda jooksev kataloog zlib-1.2.1:
cd zlib-1.2.1/Staatiline (static) Zlib-1.2.1 installeerimine:
./configure && make test && make installJagatud (shared) Zlib-1.2.1 installeerimine:
make clean && ./configure --shared && make test && make installPaigalda kaks faili:
mv -f zutil.h /usr/local/include mv -f zutil.c /usr/local/includeVeendu et failis:
/etc/ld.so.confon rida:
/usr/local/libKui ei ole, siis lisa see sinna juurde:
echo /usr/local/lib >> /etc/ld.so.confTeavita ka süsteemi uute teekide olemasolust:
ldconfig -vZLib 1.2.1 on installeeritud, lähtekoodi pole praegu rohkem vaja:
cd ../ rm -rf zlib-1.2.1/Siin me kohvipausi ei tee, kuna Zlib installeerimine toimub küllalt kiirelt
Teiste komponentide installeerimisprotsess aga võtab sõltuval masina võimsusest oluliselt rohkem aega
Lae enda arvutisse OpenSSL 0.9.7d:
wget http://www.openssl.org/source/openssl-0.9.7d.tar.gzPaki openssl-0.9.7d arhiiv lahti:
tar xzf openssl-0.9.7d.tar.gzMuuda jooksev kataloog openssl-0.9.7d:
cd openssl-0.9.7d/OpenSSL 0.9.7d installeerimine:
./config --prefix=/usr/local/ssl shared zlib-dynamic && ./config -t && make test && make installKOHVIPAUS 5 minutit ;)
Veendu et failis:
/etc/ld.so.confon rida:
/usr/local/ssl/libKui ei ole, siis lisa see sinna juurde:
echo /usr/local/ssl/lib >> /etc/ld.so.confTeavita ka süsteemi uute teekide olemasolust:
ldconfig -vOpenSSL 0.9.7d on installeeritud, lähtekoodi pole praegu rohkem vaja:
cd ../ rm -rf openssl-0.9.7d/Veendu, et sul on õige versioon OpenSSL kasutusel:
openssl versionpeab väljastama:
OpenSSL 0.9.7d 17 Mar 2004
Lae enda arvutisse Apache 2.0.49:
wget http://apache.datanet.ee/httpd/httpd-2.0.49.tar.gzPaki httpd-2.0.49.tar.gz arhiiv lahti:
tar xzf httpd-2.0.49.tar.gzMuuda jooksev kataloog httpd-2.0.49:
cd httpd-2.0.49/Apache 2.0.49 installeerimine:
Täieliku ülevaate saamiseks võimalikest võtmetest konfiguratsioonis saad:
./configure -hKuivõrd valik on tõelisel mahukas, soovitan selle õpetusega eelnevalt tutvuda, et selgitada enda jaoks vajalikud võtmed
./configure \ --prefix=/usr/local/apache2 \ --enable-mods-shared=most \ --enable-deflate \ --enable-ssl \ --with-ssl=/usr/local/ssl \ --enable-mime-magic \ --enable-cgi \ --enable-vhost-alias \ --enable-rewrite && make && make installKOHVIPAUS 5 minutit ;)
Sertifikaadi loomine:
Loo kataloogid:
mkdir /usr/local/apache2/conf/ssl.crt mkdir /usr/local/apache2/conf/ssl.keyKoosta sertifikaat:
openssl req -new -out server.csrEemalda parool privaatvõtmest, koosta serveri võti:
openssl rsa -in privkey.pem -out server.keyKoosti iseallkirajstav sertifikaat, avalik võti kehtivusega 365 päeva:
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365Paiguta loodud failid varem loodud sertifikaadi ja võtme kataloogi:
mv -f server.crt /usr/local/apache2/conf/ssl.crt mv server.key /usr/local/apache2/conf/ssl.keyApache 2.0.49 on installeeritud, lähtekoodi pole praegu rohkem vaja:
cd ../ rm -rf httpd-2.0.49/Veendu, et on olemas kasutaja apache.apache:
id apacheKui vastuseks on umbes midagi taolist:
uid=1000(apache) gid=102(apache) groups=102(apache)on kõik OK! Kui vastuseks on:
id: apache: No such usertuleb luua kasutaja ja grupp apache.apache:
groupadd apache useradd -g apache apacheÜldjuhul hoitakse kõik konfiguratsioonifailid kataloogis: /etc
Apache paigutab oma konfiguratsiooni PREFIX/conf kataloogi
Et järgida hea tava, tee sümboolne link PREFIX/conf jaoks
ln -s /usr/local/apache2/conf /etc/httpdMuuda failis /etc/httpd/httpd.conf read:
User nobody Group #-1ümber:
User apache Group apacheApache käivitamine, taaskäivitamine ja peatamine käib skripti abil, mis asub PREFIX/bin/apachectl
Kopeeri see fail algkäivituse skriptide kataloogi:
Slackware: ln -s /usr/local/apache2/bin/apachectl /etc/rc.d/rc.httpd RedHat/Fedora: ln -s /usr/local/apache2/bin/apachectl /etc/rc3.d/S92apachectl ln -s /usr/local/apache2/bin/apachectl /etc/rc5.d/S92apachectl ln -s /usr/local/apache2/bin/apachectl /etc/rc0.d/K92apachectl ln -s /usr/local/apache2/bin/apachectl /etc/rc6.d/K92apachectlMinu näites (enamlevinud võtmetega):
/etc/rc.d/rc.httpd (start|restart|startssl|stop)
MySQL 4.0.18 võib installeerida kahel moel: a) eelkompileeritud b) lähtekoodist c) paketist: rpm | tgz | deb
eelkompileeritud variant on algajale turvalisem, kuid sisaldab ka üldiselt mittevajalikku (minu näites viimased 3 omadust);
paketist installeeritud variandid võivad probleeme tekitada hilisemal PHP installeerimisel
a) Installeerimine lähtekoodist:
Lae enda arvutisse MySQL 4.0.18:
wget http://mysql.mirror.ok.ee/Downloads/MySQL-4.0/mysql-4.0.18.tar.gzPaki mysql-4.0.18.tar.gz arhiiv lahti:
tar xzf mysql-4.0.18.tar.gzMuuda jooksev kataloog mysql-4.0.18:
cd mysql-4.0.18/MySQL 4.0.18 installeerimine:
Täieliku ülevaate saamiseks võimalikest võtmetest konfiguratsioonis saad:
./configure -help
CFLAGS="-O3 -march=i686" \ CXX=gcc CXXFLAGS="-O3 -march=i686 -felide-constructors -fno-exceptions -fno-rtti" \ ./configure \ --prefix=/usr/local/mysql \ --enable-assembler \ --with-mysqld-ldflags=-all-static \ --localstatedir=/sql.data \ --enable-thread-safe-client \ --with-extra-charsets=complex \ --without-debug \ --without-bench \ --without-isam \ --without-innodb \ && make && make installMärkused:
minu näide kasutab andmebaasi asukohana kataloogi /sql.data
-march=i686 sõltub su arvutist:
uname -mannab sulle vastuse, mida kasutada i686 asemel
Veendu et failis:
/etc/ld.so.confon rida:
/usr/local/mysql/lib/mysqlKui ei ole, siis lisa see sinna juurde:
echo /usr/local/mysql/lib/mysql >> /etc/ld.so.confTeavita ka süsteemi uute teekide olemasolust:
ldconfig -vb) Installeerimine eelkompileeritud kujul:
Lae enda arvutisse MySQL 4.0.18:
wget http://mysql.mirror.ok.ee/Downloads/MySQL-4.0/mysql-standard-4.0.18-pc-linux-i686.tar.gzPaki mysql-standard-4.0.18-pc-linux-i686.tar.gz arhiiv lahti:
tar xzf mysql-standard-4.0.18-pc-linux-i686.tar.gzPaigalda failid kataloogi /usr/local
mv mysql-standard-4.0.18-pc-linux-i686 /usr/localÜldjuhul teisi MySQL versioone samas masinas ei kasutata ning ümberpaigutatud kataloogi võib lõplikult ümbernimetada
mv /usr/local/mysql-standard-4.0.18-pc-linux-i686 /usr/local/mysqlMuuda jooksev kataloog /usr/local/mysql:
cd /usr/local/mysql/
Lõpphäälestus mõlema variandi jaoks:
Veendu, et on olemas kasutaja mysql.mysql:
id mysqlKui vastuseks on umbes midagi taolist:
uid=27(mysql) gid=27(mysql) groups=27(mysql)on kõik OK! Kui vastuseks on:
id: mysql: No such usertuleb luua kasutaja ja grupp mysql.mysql:
groupadd mysql useradd -g mysql mysqlJooksvast kataloogist lahkumata kopeeri vaikimisi konfiguratsioonifail:
cp support-files/my-medium.cnf /etc/my.cnfKonfiguratsioonifaili /etc/my.cnf [mysqld] sektsiooni võid lisada rea:
default-character-set=estoniakui soovid eesti keele tuge andmete sorteerimisel
MySQL installatsiooniskriptide käivitamine:
scripts/mysql_install_dbOmanikuõigused:
chown -R root /usr/local/mysql chgrp -R mysql /usr/local/mysql a) kompileeritud lähtekoodist: chown -R mysql.mysql /sql.data b) eelkomileeritud paigaldamine: chown -R mysql /usr/local/mysql/dataMySQL käivitamine, taaskäivitamine ja peatamine käib skripti abil, mis asub support-files/mysql.server
Kopeeri see fail algkäivituse skriptide kataloogi:
Slackware: a) kompileeritud lähtekoodist: cp support-files/mysql.server /etc/rc.d/rc.mysqld b) eelkomileeritud paigaldamine: ln -s /usr/local/mysql/support-files/mysql.server /etc/rc.d/rc.mysqld RedHat/Fedora: a) kompileeritud lähtekoodist: cp support-files/mysql.server /etc/init.d/mysqld ln -s /etc/init.d/mysqld /etc/rc3.d/S91mysqld ln -s /etc/init.d/mysqld /etc/rc5.d/S91mysqld ln -s /etc/init.d/mysqld /etc/rc0.d/K91mysqld ln -s /etc/init.d/mysqld /etc/rc6.d/K91mysqld b) eelkomileeritud paigaldamine: ln -s /usr/local/mysql/support-files/mysql.server /etc/rc3.d/S91mysqld ln -s /usr/local/mysql/support-files/mysql.server /etc/rc5.d/S91mysqld ln -s /usr/local/mysql/support-files/mysql.server /etc/rc0.d/K91mysqld ln -s /usr/local/mysql/support-files/mysql.server /etc/rc6.d/K91mysqldMinu näites (enamlevinud võtmetega):
/etc/rc.d/rc.mysqld (start|restart|stop)Kui MySQL installeeriti lähtekoodist kompileerides, võib kustutada ka kataloogi
cd ../ rm -rf mysql-4.0.18/
Lae enda arvutisse PHP 4.3.6:
wget http://ee2.php.net/distributions/php-4.3.6.tar.gzPaki php-4.3.6.tar.gz arhiiv lahti:
tar xzf php-4.3.6.tar.gzMuuda jooksev kataloog php-4.3.6:
cd php-4.3.6/PHP 4.3.6 installeerimine:
Täieliku ülevaate saamiseks võimalikest võtmetest konfiguratsioonis saad:
./configure --helpKuivõrd valik on tõelisel mahukas, soovitan selle õpetusega eelnevalt tutvuda, et selgitada enda jaoks vajalikud võtmed
./configure \ --prefix=/usr/local/php \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-openssl=/usr/local/ssl \ --with-zlib \ --with-mysql=/usr/local/mysql \ --with-mime-magic \ --enable-mbstring \ --enable-mbregex \ --with-gettext \ --enable-track-vars \ --enable-force-cgi-redirect && make && make installKopeeri PHP konfiguratsioonifail õigesse kohta:
cp php.ini-recommended /usr/local/php/lib/php.ini ln -s /usr/local/php/lib/php.ini /etc/php.iniPHP 4.3.6 on installeeritud, lähtekoodi pole praegu rohkem vaja:
cd ../ rm -rf php-4.3.6/Veendu, et failis /etc/httpd/httpd.conf on read:
LoadModule php4_module modules/libphp4.so DirectoryIndex index.html index.html.var index.php AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phpsMuuda failis /etc/php.ini read:
output_buffering = On output_handler = zlib.output_compression = Off expose_php = OffTekita üks lihtne PHP testfail:
echo "<?php phpinfo(); ?>" > /usr/local/apache2/htdocs/index.php
/etc/rc.d/rc.httpd restartKui kõik on sujunud vigadeta, peaks olema näha PHP konfiguratsiooni kokkuvõttev tabel
lynx localhostvõi graafilisemast brauserist:
http://serveri_hostname_või_IP_mida_ma_just_konfisin
Kokkuvõtteks:
See kirjutis on minu jaoks esimene sellelaadne dokument.
Linux'ga kogemust on ka vaid paari aasta jagu
Kõik nüansid, niipalju kui ma neid siia kribasin, on saadud isiklike kogemuste, googeldamise, e.a.u.l.vestlus ja e.a.u.l.install vestluse ja abi tulemusena.
Oleks meeldiv sellelaadseid eestikeelseid kirjutisi rohkem kohata. Kõikvõimalikud kommentaarid, märkused on väga teretulnud!
TM
Teemad:
- Kommenteerimiseks logi sisse või registreeru

Kommentaarid
straydog
K, 19. Mai 2004 10:35
Püsiviide
tänud!
kmail
R, 11. Juuni 2004 12:39
Püsiviide
njaa
Pamper
R, 5. Aug 2005 14:04
Püsiviide
Suured tänud manuaali eest.