|
|
(38 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| =Legend=
| |
| Firmale on vaja luua kaks veebilehte:
| |
|
| |
|
| *www.firma.ee
| |
| *sales.firma.ee
| |
|
| |
| Mõlemal lehel saab kasutada php'd
| |
|
| |
| Lisaks tuleb konfigureerida mysql ja phpMyAdmin andmebaaside seadistamiseks
| |
|
| |
|
| |
| =Üldinformatsioon=
| |
| Allolev juhend sobib veebiserveri paigaldamiseks Ubuntu 9.04 operatsioonisüsteemis, kuid suure tõenäosusega ka uuemate/vanemate versioonidega.
| |
|
| |
| Selle juhendi kasutajalt eeldatakse linuxi käsurea mõningast tundmist ning oskust kasutada käsurealt tekstieditori n. '''vi''' või '''nano'''.
| |
|
| |
| =Töö käik=
| |
| Kuna enamus järgnevaist toimingutest vajavad root kasutaja privileege, on 2 võimalust:
| |
|
| |
| 1. Käivitada iga säherdune käsk root kasutaja õigustes '''sudo''' abil
| |
| näiteks:
| |
| <pre>
| |
| sudo apt-get update
| |
| sudo nano /etc/hosts
| |
| </pre>
| |
| 2. Logime ennast root kasutajaks ning käivitame vajalikud toimingud. Kuna '''sudo'''-t sel juhul enam vaja ei lähe, hoiad selle arvelt pisut aega kokku. Samas on aga tunduvalt lihtsam midagi ära rikkuda, sest '''KÕIK''' käsud käivitatakse root kasutaja õigustes!
| |
| <pre>
| |
| sudo -i
| |
| apt-get update
| |
| vi /etc/hosts
| |
| </pre>
| |
|
| |
| Kuidas keegi jätkab on igaühe enda valida. Järgnevas juhendis on root kasutaja õigustes käivitatavatel käskudel ees '''sudo'''. Kui otsustad ennast kohe root kasutajaks keerata, siis edaspidistes toimingutes võid (aga ei pea) sudo eest ära jätta. Kuna enamus konfiguratsioonifaile on root kasutaja omad, pead nende muutmiseks omama ka root kasutaja privileege - tekstieditor tuleb käivitada toot kasutaja õigustes nagu ülal näidatud.
| |
|
| |
| =Eeldused=
| |
|
| |
| Et üleüldse saaks veebisirvijaga serveristr seest minna aadressidele www.firma.ee ja sales.firma.ee on vaja seadistada nimelahendus nii, et eelpool nimetatud aadressidele vastaks serveri enda ip aadress.
| |
|
| |
| Kuna lokaalne server vastab alati aadressil 127.0.0.1 siis lisa /etc/hosts faili read:
| |
| <pre>
| |
| 127.0.0.1 www.firma.ee
| |
| 127.0.0.1 sales.firma.ee
| |
| </pre>
| |
| Saad seda teha näiteks nii:
| |
| <pre>
| |
| sudo echo "127.0.0.1 www.firma.ee" >> /etc/hosts
| |
| sudo echo "127.0.0.1 sales.firma.ee" >> /etc/hosts
| |
| </pre>
| |
|
| |
| * Testimiseks pingi www.firma.ee ja sales.firma.ee Kui ping vastab, on nimelahendus õigesti seadistatud.
| |
| * Kui sa ühendud mõnest teisest arvutist, siis pead seadistama ka teise arvuti nimelahenduse korrektse serevri IP aadressiga
| |
|
| |
| =Installeerimine=
| |
|
| |
| Enne installeerimist tasub uuendada tarkvara nimekirja:
| |
| <pre>
| |
| sudo apt-get update
| |
| </pre>
| |
|
| |
| Installeerime apt abil links veebissirvija, apache veebiserveri, mysql andmebaasi ning phpMyadmin kasutajaliidese:
| |
| <pre>
| |
| sudo apt-get install links apache2 mysql-server phpmyadmin
| |
| </pre>
| |
|
| |
| Installeerimise käigus küsitakse:
| |
|
| |
| * MySQL peakasutaja (root) parooli määramist
| |
| * Veebiserver, millele phpMyAdmin paigalda - vali apache2
| |
| * phpMyadmini administraatori parooli
| |
| * kas paigaldada vaikimisi seadistusega andmebaas - vali "yes"
| |
|
| |
|
| |
| =Seadistamine=
| |
|
| |
| ==phpMyadmin==
| |
|
| |
| Installi ajal lingitakse phpmyadmini seadistustefail apache2 seadistuste kataloogi. Kontrolli, kas link eksisteerib:
| |
| <pre>
| |
| ls -la /etc/apache2/conf.d/phpmyadmin.conf
| |
| </pre>
| |
|
| |
| Kui linki ei ole, siis on seadistamiseks 2 varianti:
| |
|
| |
| Tekita see link ise:
| |
| <pre>
| |
| sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
| |
| </pre>
| |
|
| |
| Või lisa Apache konfiguratsioonifaili '''/etc/apache2/apache2.conf''' rida:
| |
| <pre>Include /etc/phpmyadmin/apache.conf</pre>
| |
|
| |
| ==Nimepõhiste virtuaalserverite loomine ==
| |
|
| |
| *Loo kataloogid www ja sales /var/www kausta.
| |
| <pre>
| |
| sudo mkdir -p /var/www/www /var/www/sales
| |
| </pre>
| |
|
| |
| *Loo /etc/apache2/sites-available/default konfiguratsiooni failist koopiad nimedega www ja sales:
| |
| <pre>
| |
| sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/sales
| |
| sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/www
| |
| </pre>
| |
|
| |
| * Muuda sales ja www faile:
| |
|
| |
| sales:
| |
| <pre>
| |
| <VirtualHost *:80>
| |
| ServerAdmin webmaster@localhost
| |
| ServerName sales.firma.ee #Lisa see rida siia
| |
| DocumentRoot /var/www/sales #Seda rida tuleb muuta
| |
| <Directory />
| |
| Options FollowSymLinks
| |
| AllowOverride None
| |
| </Directory>
| |
| <Directory /var/www/sales>
| |
| Options Indexes FollowSymLinks MultiViews
| |
| AllowOverride None
| |
| Order allow,deny
| |
| allow from all
| |
| </Directory>
| |
|
| |
| ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
| |
| <Directory "/usr/lib/cgi-bin">
| |
| AllowOverride None
| |
| Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
| |
| Order allow,deny
| |
| Allow from all
| |
| </Directory>
| |
|
| |
| ErrorLog /var/log/apache2/sales.error.log #Seda rida tuleb muuta
| |
|
| |
| # Possible values include: debug, info, notice, warn, error, crit,
| |
| # alert, emerg.
| |
| LogLevel warn
| |
|
| |
| CustomLog /var/log/apache2/sales.access.log combined #Seda rida tuleb muuta
| |
|
| |
| Alias /doc/ "/usr/share/doc/"
| |
| <Directory "/usr/share/doc/">
| |
| Options Indexes MultiViews FollowSymLinks
| |
| AllowOverride None
| |
| Order deny,allow
| |
| Deny from all
| |
| Allow from 127.0.0.0/255.0.0.0 ::1/128
| |
| </Directory>
| |
|
| |
| </VirtualHost>
| |
|
| |
| </pre>
| |
|
| |
| www:
| |
| <pre>
| |
| <VirtualHost *:80>
| |
| ServerAdmin webmaster@localhost
| |
| ServerName www.firma.ee #Lisa see rida siia
| |
| DocumentRoot /var/www/www #Seda rida tuleb muuta
| |
| <Directory />
| |
| Options FollowSymLinks
| |
| AllowOverride None
| |
| </Directory>
| |
| <Directory /var/www/www>
| |
| Options Indexes FollowSymLinks MultiViews
| |
| AllowOverride None
| |
| Order allow,deny
| |
| allow from all
| |
| </Directory>
| |
|
| |
| ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
| |
| <Directory "/usr/lib/cgi-bin">
| |
| AllowOverride None
| |
| Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
| |
| Order allow,deny
| |
| Allow from all
| |
| </Directory>
| |
|
| |
| ErrorLog /var/log/apache2/www.error.log #Seda rida tuleb muuta
| |
|
| |
| # Possible values include: debug, info, notice, warn, error, crit,
| |
| # alert, emerg.
| |
| LogLevel warn
| |
|
| |
| CustomLog /var/log/apache2/www.access.log combined #Seda rida tuleb muuta
| |
|
| |
| Alias /doc/ "/usr/share/doc/"
| |
| <Directory "/usr/share/doc/">
| |
| Options Indexes MultiViews FollowSymLinks
| |
| AllowOverride None
| |
| Order deny,allow
| |
| Deny from all
| |
| Allow from 127.0.0.0/255.0.0.0 ::1/128
| |
| </Directory>
| |
|
| |
| </VirtualHost>
| |
|
| |
| </pre>
| |
|
| |
|
| |
| *sales ja www virtualhostide kasutamiseks tuleb keelata default lehekülg ja lubada sales ning www, sisestades käsurealt järgmised käsud:
| |
|
| |
| <pre>
| |
| a2ensite sales
| |
| a2ensite www
| |
| a2dissite default
| |
| </pre>
| |
|
| |
| ==SSL keskkonna loomine==
| |
|
| |
| ===Sertifikaadi genereerimine===
| |
| Kõik allpool toodud käsud teha root kasutaja alt
| |
| <pre>sudo -i</pre>
| |
| Kõigepealt liikuda kataloogi /etc/apache2/ ja siis genereerida '''www.firma.ee''' võtmed
| |
| <pre>cd /etc/apache2/</pre>
| |
| Käivitada seal käsk:
| |
| <pre>openssl req -nodes -new -keyout www.firma.ee.key -newkey rsa:1024 > www.firma.ee.csr </pre>
| |
| <p>Küsimustele vastata nii nagu allpool näidatud.</p>
| |
| <pre>Country Name (2 letter code) [AU]:EE
| |
| State or Province Name (full name) [Some-State]:Tallinn
| |
| Locality Name (eg, city) []:Tallinn
| |
| Organization Name (eg, company) [Internet Widgits Pty Ltd]:Firma
| |
| Organizational Unit Name (eg, section) []:
| |
| Common Name (eg, YOUR name) []:www.firma.ee
| |
| Email Address []:
| |
| A challenge password []:
| |
| An optional company name []:
| |
| </pre>
| |
| Käivitada need käsud
| |
| <pre>openssl x509 -req -days 3650 -in www.firma.ee.csr -signkey www.firma.ee.key -out www.firma.ee.crt</pre>
| |
| <pre>openssl x509 -in www.firma.ee.crt -noout -text</pre>
| |
| Nüüd genereerime '''sales.firma.ee''' võtmed
| |
| <pre>cd /etc/apache2/</pre>
| |
| Käivitada seal käsk:
| |
| <pre>openssl req -nodes -new -keyout sales.firma.ee.key -newkey rsa:1024 > sales.firma.ee.csr </pre>
| |
| <p>Küsimustele vastata nii nagu allpool näidatud.</p>
| |
| <pre>Country Name (2 letter code) [AU]:EE
| |
| State or Province Name (full name) [Some-State]:Tallinn
| |
| Locality Name (eg, city) []:Tallinn
| |
| Organization Name (eg, company) [Internet Widgits Pty Ltd]:Firma
| |
| Organizational Unit Name (eg, section) []:
| |
| Common Name (eg, YOUR name) []:sales.firma.ee
| |
| Email Address []:
| |
| A challenge password []:
| |
| An optional company name []:
| |
| </pre>
| |
| Käivitada need käsud
| |
| <pre>openssl x509 -req -days 3650 -in sales.firma.ee.csr -signkey sales.firma.ee.key -out sales.firma.ee.crt</pre>
| |
| <pre>openssl x509 -in sales.firma.ee.crt -noout -text</pre>
| |
|
| |
| ===SSL seadistamine===
| |
| SSL mooduli lubamiseks järgmine käsk
| |
| <pre>
| |
| a2enmod ssl
| |
| </pre>
| |
| Seejärel restardime apache
| |
| <pre>/etc/init.d/apache2 restart</pre>
| |
| Seadistame apache2.
| |
| <pre>nano /etc/apache2/ports.conf</pre>
| |
| Failis ports.conf peab <IfModule mod_ssl.c> ja </IfModule> tagide vahel olema ainult järgmised read.
| |
| <pre>
| |
| Listen 443
| |
| Listen 444
| |
| </pre>
| |
| Järgnevalt muuta faili /etc/apache2/sites-enabled/www/
| |
| <pre>nano /etc/apache2/sites-enabled/www</pre>
| |
| Lisada faili lõppu peale viimast </VirtualHost> rida järgnev uus Virtualhosti sektsioon.
| |
| Jälgida, et crt ja key failid oleks vastavates kataloogides.
| |
| <pre>
| |
| <VirtualHost *:443>
| |
| ServerAdmin webmaster@localhost
| |
| ServerName www.firma.ee
| |
| DocumentRoot /var/www/www
| |
| <Directory />
| |
| Options FollowSymLinks
| |
| AllowOverride None
| |
| </Directory>
| |
| <Directory /var/www/www>
| |
| Options Indexes FollowSymLinks MultiViews
| |
| AllowOverride None
| |
| Order allow,deny
| |
| allow from all
| |
| </Directory>
| |
|
| |
| ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
| |
| <Directory "/usr/lib/cgi-bin">
| |
| AllowOverride None
| |
| Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
| |
| Order allow,deny
| |
| Allow from all
| |
| </Directory>
| |
|
| |
| ErrorLog /var/log/apache2/www.error.log
| |
|
| |
| # Possible values include: debug, info, notice, warn, error, crit,
| |
| # alert, emerg.
| |
| LogLevel warn
| |
|
| |
| CustomLog /var/log/apache2/www.access.log combined
| |
|
| |
| Alias /doc/ "/usr/share/doc/"
| |
| <Directory "/usr/share/doc/">
| |
| Options Indexes MultiViews FollowSymLinks
| |
| AllowOverride None
| |
| Order deny,allow
| |
| Deny from all
| |
| Allow from 127.0.0.0/255.0.0.0 ::1/128
| |
| </Directory>
| |
| ErrorLog /var/log/apache2/www.firma.ee-ssl-error.log
| |
| TransferLog /var/log/apache2/www.firma.ee-ssl-access.log
| |
|
| |
| SSLEngine on
| |
| SSLCertificateFile /etc/apache2/www.firma.ee.crt
| |
| SSLCertificateKeyFile /etc/apache2/www.firma.ee.key
| |
| SSLOptions +StdEnvVars
| |
|
| |
|
| |
| </VirtualHost>
| |
|
| |
| </pre>
| |
| Nüüd tuleb muuta '''sales''' faili
| |
| <pre>nano /etc/apache2/sites-enabled/sales</pre>
| |
| Lisada faili lõppu peale viimast </VirtualHost> rida järgnev uus Virtualhosti sektsioon.
| |
| Jälgida, et crt ja key failid oleks vastavates kataloogides.
| |
| <pre>
| |
| <VirtualHost *:444>
| |
| ServerAdmin webmaster@localhost
| |
| ServerName sales.firma.ee
| |
| DocumentRoot /var/www/sales
| |
| <Directory />
| |
| Options FollowSymLinks
| |
| AllowOverride None
| |
| </Directory>
| |
| <Directory /var/www/sales>
| |
| Options Indexes FollowSymLinks MultiViews
| |
| AllowOverride None
| |
| Order allow,deny
| |
| allow from all
| |
| </Directory>
| |
|
| |
| ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
| |
| <Directory "/usr/lib/cgi-bin">
| |
| AllowOverride None
| |
| Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
| |
| Order allow,deny
| |
| Allow from all
| |
| </Directory>
| |
|
| |
| ErrorLog /var/log/apache2/sales.error.log
| |
|
| |
| # Possible values include: debug, info, notice, warn, error, crit,
| |
| # alert, emerg.
| |
| LogLevel warn
| |
|
| |
| CustomLog /var/log/apache2/sales.access.log combined
| |
|
| |
| Alias /doc/ "/usr/share/doc/"
| |
| <Directory "/usr/share/doc/">
| |
| Options Indexes MultiViews FollowSymLinks
| |
| AllowOverride None
| |
| Order deny,allow
| |
| Deny from all
| |
| Allow from 127.0.0.0/255.0.0.0 ::1/128
| |
| </Directory>
| |
| ErrorLog /var/log/apache2/sales.firma.ee-ssl-error.log
| |
| TransferLog /var/log/apache2/sales.firma.ee-ssl-access.log
| |
|
| |
| SSLEngine on
| |
| SSLCertificateFile /etc/apache2/sales.firma.ee.crt
| |
| SSLCertificateKeyFile /etc/apache2/sales.firma.ee.key
| |
| SSLOptions +StdEnvVars
| |
|
| |
|
| |
| </VirtualHost>
| |
|
| |
| </pre>
| |
| Seejärel restardime apache
| |
| <pre>/etc/init.d/apache2 restart</pre>
| |
| Testimiseks käivitame järgmised käsud
| |
| <pre>
| |
| links www.firma.ee
| |
| links sales.firma.ee
| |
| links https://www.firma.ee:443
| |
| links https://sales.firma.ee:444
| |
| </pre>
| |
| Kui tulevad õiged lehed ette ja erroreid ei viska, siis on kõik OK.
| |
|
| |
|
| |
| =Käivitamine/Seiskamine=
| |
|
| |
| Veebiserveri käivitamine:
| |
| <pre>
| |
| sudo /etc/init.d/apache2 start
| |
| </pre>
| |
| või
| |
| <pre>
| |
| sudo service apache2 start
| |
| </pre>
| |
|
| |
| Veebiserveri seiskamine:
| |
| <pre>
| |
| sudo /etc/init.d/apache2 stop
| |
| </pre>
| |
| või
| |
| <pre>
| |
| sudo service apache2 stop
| |
| </pre>
| |
|
| |
| Siinkohal oleks mõistlik uurida, kas veebiserver peale serveri (re)starti automaatselt käivitub:
| |
|
| |
| Üsna lihtne on seda teha '''sysvconfig''' utiliidi abil. Kui sul seda ei ole, siis paigalda see apti abil:
| |
| <pre>
| |
| sudo apt-get install sysvconfig
| |
| </pre>
| |
|
| |
| Peale '''IGAT''' konfiguratsioonimuudatust peaks muudatused ka veebiserverisse laadima.
| |
| Peale igat seetõttu, et kui midagi valesti läks, siis on viga lihtsam leida.
| |
|
| |
| Selleks võib veebiserverile teha restardi:
| |
| <pre>
| |
| sudo /etc/init.d/apache2 restart
| |
| </pre>
| |
| või
| |
| <pre>
| |
| sudo service apache2 restart
| |
| </pre>
| |
|
| |
| Saab ka ilma restardita:
| |
| <pre>
| |
| sudo /etc/init.d/apache2 reload
| |
| </pre>
| |
| või
| |
| <pre>
| |
| sudo service apache2 reload
| |
| </pre>
| |
|
| |
| '''reload''' eelis on selles, et see toimib kasutajatele märkamatult, kasutajate sessioonid säilivad. Näiteks kui sinu veebilehele on sisseloginud 100 kasutajat, siis '''restart''' puhul peaksid nad kõik uuesti sisse logima, '''reload''' puhul ei pea.
| |
|
| |
| =Tulemuse kontroll=
| |
|
| |
| Tuleb luua phpinfo.php leht, mille vaatamisel kuvatakse phpinfo funktsiooni väljund:
| |
| <pre>
| |
| echo "<?php phpinfo(); ?>" > /var/www/phpinfo.php
| |
| </pre>
| |
|
| |
| Tuleb luua index.html fail nii /var/www/www/ kui /var/www/sales/ kataloogi:
| |
| <pre>
| |
| echo "<h1>Firma pealeht</h1>" > /var/www/www/index.html
| |
| echo "<h1>Myygiosakond</h1>" > /var/www/sales/index.html
| |
| </pre>
| |
|
| |
| *Kontrollimiseks mine veebilehitsejaga järgmistele aadressidele:
| |
| <pre>
| |
| links http://www.firma.ee/phpinfo.php
| |
| links http://www.firma.ee
| |
| links http://sales.firma.ee
| |
| links http://www.firma.ee/phpmyadmin/
| |
| </pre>
| |
|
| |
| Minnes http://www.firma.ee/phpinfo.php peaksid nägema standartset phpinfo lehte.
| |
|
| |
| Minnes links abil lehele www.firma.ee peab kuvatama leht sisuga "firma pealeht". Külastusest peab jääma jälg logifaili
| |
| '''/var/log/apache2/www.firma.ee.access.log''' , vigadest peab jääma jälg faili '''/var/log/apache2/www.firma.ee.error.log'''
| |
|
| |
| Minnes links abil lehele sales.firma.ee peab kuvatama leht sisuga "müügiosakond". Külastusest peab jääma jälg logifaili
| |
| '''/var/log/apache2/sales.firma.ee.access.log''' , vigadest peab jääma jälg faili '''/var/log/apache2/sales.firma.ee.error.log'''
| |
|
| |
|
| |
| http://www.firma.ee/phpmyadmin/ lehel peab saama luua andmebaase ja tabeleid
| |
|
| |
| =Varundus ja taastamine=
| |
|
| |
| Varundamiseks kopeeri allolevates kataloogides asuvad failid alternatiivsele andmekandjale.
| |
|
| |
| Failiõiguste säilitamiseks ja andmete tihendamiseks kasuta '''tar''' käsku.
| |
|
| |
| ==Andmete asukohad==
| |
| Veebide sisu: /var/www
| |
| Veebi sales.firma sisu: /var/www/sales
| |
| Apache2 konfiguratsioon: /etc/apache2
| |
| Veebiserveri logifailid: /var/log/apache2
| |
|
| |
| ==Varundamise ja taastamise näited==
| |
| Varundame kõik veebid juurkataloogis asuvasse faili veebid.tar.gz
| |
| <pre>
| |
| sudo tar -cvvf /veebid.tar.gz /var/www/*
| |
| </pre>
| |
| Taastame kõik veebid juurkataloogis olevast failist veebid.tar.gz endisesse asukohta:
| |
| <pre>
| |
| sudo tar -xvvf /veebid.tar.gz
| |
| </pre>
| |