Veebiserver labor 2: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Vzernova (talk | contribs)
Nstsetni (talk | contribs)
 
(66 intermediate revisions by 2 users not shown)
Line 6: Line 6:


[[Category:IT infrastruktuuri teenused]]
[[Category:IT infrastruktuuri teenused]]
=Versioonide ajalugu=
Versioon 1(20% valmis): 24.11.2009
Versioon 2(50% valmis): 30.11.2009
Versioon 3(85% valmis): 01.12.2009
Versioon 4(100% valmis): 07.12.2009
Versioon 5(muudetud): 15.12.2009


=Sissejuhatus=
=Sissejuhatus=
Meil on vaja luua veebiserveri, ehk interneti püsiühendusega arvuti, milles hoitakse veebisaite:
*www.album.ee
*photo.album.ee
=Eeldused=
=Eeldused=
Ubuntu server 9.10
Apache 2.2.12
OpenSSL 0.9.8g
=Nõuded=
=Nõuded=
SNI SSL


monitooring-valida millega monitoorida
* Konfigureerida kaks veebilehte
* Mõlemal lehel peab olema võimalik kasutada php'd
* Konfigureerida mysql ja phpMyAdmin andmebaaside seadistamiseks
* Seadistada SSL
* Seadistada SNI
* Monitooring - valida millega monitoorida


=Installeerimise ja konfigureerimise juhend=
=Installeerimise ja konfigureerimise juhend=
Logime ennast root kasutajaks:
<pre>
sudo -i
</pre>
Enne installerimist tasub uuendada tarkvara nimekirja:
<pre>
apt-get update
</pre>
Kuna nõudeks on uuem Ubuntu versioon siis on vaja meie oma uuendada
apt-get install update-manager
apt-get install update-manager-core
apt-get dist-upgrade
do-release-upgrade
Veersiooni kontrollimiseks:
lsb-release
Testimiseks paigalda links veebisirvija
apt-get install links
==Veebiserveri installeerimine==
Kui on juba olemas mingi varem tehtud veebiserver, siis on vaja lihtsalt uuendada .conf failid, uus installeerimine ei ole tarvis.
Installeerimine apt abil:
<pre>
apt-get install apache2
</pre>
Teenuse taaskäivitamine:
<pre>
/etc/init.d/apache2 restart
</pre>
==MySQL installeerimine==
MySQL installeerimiseks tuleb sisestada Shelli käsk:
<pre>
apt-get install mysql-server
</pre>
Installeerimisel küsitakse MySQL root parooli määramist.
==phpMyAdmin installeerimine==
=== Paigaldamine ===
<pre>apt-get install phpmyadmin</pre>
Installeerimise käigus palutakse valida:<br />
1) veebiserver, millele phpMyAdmin paigalda - vali apache2<br />
2) administraatori parool<br />
3) kas paigaldada vaikimisi seadistusega andmebaas - yes
=== Seadistamine ===
Muudame Apache konfiguratsioonifaili '''/etc/apache2/apache2.conf'''
<pre>nano /etc/apache2/apache2.conf</pre>
Lisa sinna rida:
<pre>Include /etc/phpmyadmin/apache.conf</pre>
Apache teenus tuleb taaskäivitada:
<pre>/etc/init.d/apache2 restart</pre>
=== Kontroll ===
Kontrollida saab käsureaga:
<pre>links http://masinanimi_või_IP/phpmyadmin</pre>
===Alternatiivne seadistamine===
Include lause lisamise asemel võib lihtsalt linkida phpmyadmin konfiguratsioonifaili Apache seadistuste kataloogi:
<pre>ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf</pre>
==Nimelahenduse loomine==
1) Uurida välja oma masina IP käsuga <pre>ifconfig</pre>
2) Muuta 'hosts' faili käsuga <pre> nano /etc/hosts</pre>
3) Lisada read
<pre><MasinaIP> www.album.ee
<MasinaIP> photo.album.ee</pre>
4) Testimiseks pingida www.album.ee ja photo.album.ee
ping '''www.album.ee'''
ping '''photo.album.ee'''
Neid veebilehti saab pingida/testida ainult kohalikust serverimasinast.
Kui ping vastab, on nimelahendus õigesti seadistatud
==Nimepõhiste virtuaalserverite loomine ==


# envvars - default environment variables for apache2ctl
*Loo kataloogid www ja photo /var/www kausta.
<pre>
mkdir -p /var/www/www /var/www/photo
</pre>


# Since there is no sane way to get the parsed apache2 config in scripts, some
*Kopeeri /etc/apache2/sites-available kaustas oleva default konfiguratsiooni faili ning loo koopiad www ja photo nimedega.
# settings are defined via environment variables and then used in apache2ctl,
 
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
<pre>
export APACHE_RUN_USER=www-data
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/photo
export APACHE_RUN_GROUP=www-data
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/www
export APACHE_PID_FILE=/var/run/apache2.pid
</pre>
 
*Ava photo konfiguratsiooni faili nanoga.
 
<pre>
nano /etc/apache2/sites-available/photo
</pre>
 
*Muudetud photo fail peaks välja nägema selline :
 
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName '''photo.album.ee'''
        DocumentRoot '''/var/www/photo'''
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory '''/var/www/photo'''>
                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/photo.error.log'''
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog '''/var/log/apache2/photo.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>
</VirtualHost>
 
 
*Ava www konfiguratsiooni faili nanoga.
 
<pre>
nano /etc/apache2/sites-available/www
</pre>
 
*Muudetud www fail peaks välja nägema selline :
 
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName '''www.album.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>
</VirtualHost>
 
*photo ja www virtualhostide kasutamiseks tuleb keelata default lehekülg ja lubada photo ning www, sisestades käsurealt järgmised käsud:
 
<pre>
 
a2ensite photo
a2ensite www
a2dissite default
 
/etc/init.d/apache2 reload
 
</pre>
Kui teil on mõni veebileht ka olemas siis seda tuleb ka välja lülitada
*Testimine
Testimiseks tuleb luua index.html fail nii www kui ka photo kataloogi.
Selleks tegutse järgmiselt:
 
1. Loo fail www kataloogi
<pre>
nano /var/www/www/index.html
</pre>
1.1 Kirjuta faili
<pre>
<h1>Tere tulemast www.album.ee veebilehele!</h1>
</pre>
2. Loo fail photo kataloogi
<pre>
nano /var/www/photo/index.html
</pre>
2.1 Kirjuta faili
<pre>
<h1>Siin saab fotod vaadata</h1>
</pre>
*Kontrollimiseks mine veebilehitsejaga järgmistele aadressidele:
<pre>
links www.album.ee
links photo.album.ee
</pre>
 
Kui ei tööta siis kontrollige, et kõik failid oleks korralikult muudetud. Võib olla veebilehe nimi on juba olemas, selle kontrollimiseks vaadake mis IP aadressile läheb signaal:
 
ping www.album.ee
 
kui IP on teie arvuti oma, siis viga ei ole selles!
 
==phpinfo lehe loomine==
Loo fail
<pre>
nano /var/www/www/phpinfo.php
</pre>
Kirjuta faili
<pre>
<?php
phpinfo();
?>
</pre>
Kontrollimiseks mine veebilehitsejaga aadressile
<pre>
links http://www.album.ee/phpinfo.php
</pre>
Peaks nägema standartset phpinfo lehte.
 
 
==SSL keskkonna loomine==
===Sertifikaadi genereerimine===
 
Kõigepealt liikuda kataloogi /etc/apache2/ ja siis genereerida '''www.album.ee''' võtmed
<pre>cd /etc/apache2/</pre>
Käivitada seal käsk:
<pre>openssl req -nodes -new -keyout www.album.ee.key -newkey rsa:1024 > www.album.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]:Album
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:www.album.ee
Email Address []:
A challenge password []:
An optional company name []:
</pre>
Käivitada need käsud
<pre>openssl x509 -req -days 3650 -in www.album.ee.csr -signkey www.album.ee.key -out www.album.ee.crt</pre>
Kuvada sertifikaadi sisu:
<pre>openssl x509 -in www.album.ee.crt -noout -text</pre>
Nüüd genereerime '''photo.album.ee''' võtmed
<pre>cd /etc/apache2/</pre>
Käivitada seal käsk:
<pre>openssl req -nodes -new -keyout photo.album.ee.key -newkey rsa:1024 > photo.album.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]:Album
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:photo.album.ee
Email Address []:
A challenge password []:
An optional company name []:
</pre>
Käivitada need käsud
<pre>openssl x509 -req -days 3650 -in photo.album.ee.csr -signkey photo.album.ee.key -out photo.album.ee.crt</pre>
Kuvada sertifikaadi sisu:
<pre>openssl x509 -in photo.album.ee.crt -noout -text</pre>
 
==SNI Seadistamine==
Kasutades Server Name Indication, ehk SNI, saab ühe IP ja pordi pealt suunata päringuid erinevatele https veebilehtedele.<br>
Tekitame uue faili nimega 000-default, kataloogis '''/etc/apache2/sites-enabled/''' :
<pre>
nano /etc/apache2/sites-enabled/000-default
</pre>
 
Konfiguratsioonifaili sisuks on:
<pre>
NameVirtualHost *:443
SSLStrictSNIVHostCheck off
 
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        ServerName www.album.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.album.ee-ssl-error.log
  TransferLog  /var/log/apache2/www.album.ee-ssl-access.log
 
  SSLEngine on
  SSLCertificateFile /etc/apache2/www.album.ee.crt
  SSLCertificateKeyFile /etc/apache2/www.album.ee.key
  SSLOptions +StdEnvVars
 
</VirtualHost>
 
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        ServerName photo.album.ee
        DocumentRoot /var/www/photo
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/photo>
                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/photo.error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/photo.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/photo.album.ee-ssl-error.log
  TransferLog  /var/log/apache2/photo.album.ee-ssl-access.log
 
  SSLEngine on
  SSLCertificateFile /etc/apache2/photo.album.ee.crt
  SSLCertificateKeyFile /etc/apache2/photo.album.ee.key
  SSLOptions +StdEnvVars
 
 
</VirtualHost>
 
<VirtualHost *:80>
 
      ServerAdmin webmaster@localhost
      ServerName www.album.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>       
</VirtualHost>
 
<VirtualHost *:80>
 
        ServerAdmin webmaster@localhost
        ServerName photo.album.ee
        DocumentRoot /var/www/photo
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/photo>
                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/photo.error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn                 
 
        CustomLog /var/log/apache2/photo.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>             
 
</VirtualHost>
 
</pre>
'''NameVirtualHost *:443''' - tähendab, et kõigil IP'del on virtual host päringud <br>
'''SSLStrictSNIVHostCheck''' - kui off siis ühendus on lubatud mitte-SNI klientidelt ka, on - ei lubata.
Uue browseri kasutajatel peab olema '''on'''. Kuna selles töös on kasutatud vana browseri versioon siis on '''off'''.
 
===Restardime apache kontrollimiseks:===
 
/etc/init.d/apache2 restart
 
===Testimiseks käivitame järgmised käsud:===
 
links www.album.ee
links photo.album.ee
<nowiki>links https://www.album.ee</nowiki>
<nowiki>links https://photo.album.ee</nowiki>
 
Kui tulevad õiged lehed ette ja erroreid ei viska, siis on kõik OK.
 
==Teenuse start/stop/restart==
 
Apache2
 
  /etc/init.d/apache2 {start | stop | restart}
 
Mysql-server
 
  /etc/init.d/mysql {start | stop | restart}


=Varundamisjuhend=
=Varundamisjuhend=
==Varukoopiate tegemine==
Failide kopeerimiseks sisestage käsk:
cp -a [mida] [kuhu]
Näiteks:
cp -a /var/www/www /home
Veebide sisu backup siit
/var/www/www
Veebi photo.album backup siit
/var/www/photo
 
Apache2 konfiguratsiooni kausta backup siit
/etc/apache2
Apache2 log failide backup teha siit
/var/log/apache2
=Taastejuhend=
=Taastejuhend=
==Taastamine==
Failide taastamiseks minge kataloogi kus on varukoopia salvestatud ja sisestage käsk:
cp -a [mida] [kuhu]
Näiteks:
cp -a /home/apache2 /etc
Veebi sisu andmed taasta kataloogi backupist
/var/www
photo.album andmed taasta kataloogi backupist
/var/www/photo
Veebiserveri upgrades tulnud tõrked taasta varasem konfiguratsioon kataloogi backupist
/etc/apache2
logifailid taasta kataloogi backupist
/var/log/apache2
=Teenuse monitoorimise soovitused=
Kui midagi ei tööta:
* Kõigepealt tehke teenuse restart
/etc/init.d/apache2 restart
Kui mingi probleem on teenuse sees, siis ta viskab teade täpselt kus kohas see viga on.
*Kontrollige kõik .conf ja .log failid, et süntaks oleks õige.
*Kui üleval mainitud ei aita, siis proovige varukoopiate taastamine.
*Abiinfo saamiseks võtke ühendust [[e-maili]] või [[telefoni]] teel
=Lingid=
[http://kuutorvaja.eenet.ee/wiki/Apache'i_veebiserver Kuutõrvaja - Apache'i veebiserver] - Siit saab abi
[http://www.ubuntu.com/getubuntu/upgrading Ubuntu serevri upgrade]
[http://en.wikipedia.org/wiki/Server_Name_Indication SNI]

Latest revision as of 23:07, 15 December 2009

Autorid

  • Niina Stsetnikova
  • Viktoria Mulina

Versioonide ajalugu

Versioon 1(20% valmis): 24.11.2009

Versioon 2(50% valmis): 30.11.2009

Versioon 3(85% valmis): 01.12.2009

Versioon 4(100% valmis): 07.12.2009

Versioon 5(muudetud): 15.12.2009

Sissejuhatus

Meil on vaja luua veebiserveri, ehk interneti püsiühendusega arvuti, milles hoitakse veebisaite:

  • www.album.ee
  • photo.album.ee

Eeldused

Ubuntu server 9.10

Apache 2.2.12

OpenSSL 0.9.8g

Nõuded

  • Konfigureerida kaks veebilehte
  • Mõlemal lehel peab olema võimalik kasutada php'd
  • Konfigureerida mysql ja phpMyAdmin andmebaaside seadistamiseks
  • Seadistada SSL
  • Seadistada SNI
  • Monitooring - valida millega monitoorida

Installeerimise ja konfigureerimise juhend

Logime ennast root kasutajaks:

sudo -i

Enne installerimist tasub uuendada tarkvara nimekirja:

apt-get update

Kuna nõudeks on uuem Ubuntu versioon siis on vaja meie oma uuendada

apt-get install update-manager
apt-get install update-manager-core 
apt-get dist-upgrade 
do-release-upgrade 

Veersiooni kontrollimiseks:

lsb-release 

Testimiseks paigalda links veebisirvija

apt-get install links

Veebiserveri installeerimine

Kui on juba olemas mingi varem tehtud veebiserver, siis on vaja lihtsalt uuendada .conf failid, uus installeerimine ei ole tarvis.

Installeerimine apt abil:

apt-get install apache2

Teenuse taaskäivitamine:

/etc/init.d/apache2 restart

MySQL installeerimine

MySQL installeerimiseks tuleb sisestada Shelli käsk:

apt-get install mysql-server

Installeerimisel küsitakse MySQL root parooli määramist.

phpMyAdmin installeerimine

Paigaldamine

apt-get install phpmyadmin

Installeerimise käigus palutakse valida:
1) veebiserver, millele phpMyAdmin paigalda - vali apache2
2) administraatori parool
3) kas paigaldada vaikimisi seadistusega andmebaas - yes

Seadistamine

Muudame Apache konfiguratsioonifaili /etc/apache2/apache2.conf

nano /etc/apache2/apache2.conf

Lisa sinna rida:

Include /etc/phpmyadmin/apache.conf

Apache teenus tuleb taaskäivitada:

/etc/init.d/apache2 restart

Kontroll

Kontrollida saab käsureaga:

links http://masinanimi_või_IP/phpmyadmin

Alternatiivne seadistamine

Include lause lisamise asemel võib lihtsalt linkida phpmyadmin konfiguratsioonifaili Apache seadistuste kataloogi:

ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf

Nimelahenduse loomine

1) Uurida välja oma masina IP käsuga

ifconfig

2) Muuta 'hosts' faili käsuga

 nano /etc/hosts

3) Lisada read

<MasinaIP> www.album.ee
<MasinaIP> photo.album.ee

4) Testimiseks pingida www.album.ee ja photo.album.ee

ping www.album.ee
ping photo.album.ee

Neid veebilehti saab pingida/testida ainult kohalikust serverimasinast. Kui ping vastab, on nimelahendus õigesti seadistatud

Nimepõhiste virtuaalserverite loomine

  • Loo kataloogid www ja photo /var/www kausta.
mkdir -p /var/www/www /var/www/photo
  • Kopeeri /etc/apache2/sites-available kaustas oleva default konfiguratsiooni faili ning loo koopiad www ja photo nimedega.
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/photo
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/www
  • Ava photo konfiguratsiooni faili nanoga.
nano /etc/apache2/sites-available/photo
  • Muudetud photo fail peaks välja nägema selline :
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       ServerName photo.album.ee
       DocumentRoot /var/www/photo
       <Directory />
               Options FollowSymLinks
               AllowOverride None
       </Directory>
       <Directory /var/www/photo>
               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/photo.error.log
       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn
       CustomLog /var/log/apache2/photo.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>
</VirtualHost>


  • Ava www konfiguratsiooni faili nanoga.
nano /etc/apache2/sites-available/www
  • Muudetud www fail peaks välja nägema selline :
<VirtualHost *:80>
       ServerAdmin webmaster@localhost
       ServerName www.album.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>
</VirtualHost>
  • photo ja www virtualhostide kasutamiseks tuleb keelata default lehekülg ja lubada photo ning www, sisestades käsurealt järgmised käsud:

a2ensite photo
a2ensite www
a2dissite default

/etc/init.d/apache2 reload

Kui teil on mõni veebileht ka olemas siis seda tuleb ka välja lülitada

  • Testimine

Testimiseks tuleb luua index.html fail nii www kui ka photo kataloogi. Selleks tegutse järgmiselt:

1. Loo fail www kataloogi

nano /var/www/www/index.html

1.1 Kirjuta faili

<h1>Tere tulemast www.album.ee veebilehele!</h1>

2. Loo fail photo kataloogi

nano /var/www/photo/index.html

2.1 Kirjuta faili

<h1>Siin saab fotod vaadata</h1>
  • Kontrollimiseks mine veebilehitsejaga järgmistele aadressidele:
links www.album.ee
links photo.album.ee

Kui ei tööta siis kontrollige, et kõik failid oleks korralikult muudetud. Võib olla veebilehe nimi on juba olemas, selle kontrollimiseks vaadake mis IP aadressile läheb signaal:

ping www.album.ee

kui IP on teie arvuti oma, siis viga ei ole selles!

phpinfo lehe loomine

Loo fail

nano /var/www/www/phpinfo.php

Kirjuta faili

<?php
phpinfo();
?>

Kontrollimiseks mine veebilehitsejaga aadressile

links http://www.album.ee/phpinfo.php

Peaks nägema standartset phpinfo lehte.


SSL keskkonna loomine

Sertifikaadi genereerimine

Kõigepealt liikuda kataloogi /etc/apache2/ ja siis genereerida www.album.ee võtmed

cd /etc/apache2/

Käivitada seal käsk:

openssl req -nodes -new -keyout www.album.ee.key -newkey rsa:1024 > www.album.ee.csr 

Küsimustele vastata nii nagu allpool näidatud.

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]:Album
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:www.album.ee
Email Address []:
A challenge password []:
An optional company name []:

Käivitada need käsud

openssl x509 -req -days 3650 -in www.album.ee.csr -signkey www.album.ee.key -out www.album.ee.crt

Kuvada sertifikaadi sisu:

openssl x509 -in www.album.ee.crt -noout -text

Nüüd genereerime photo.album.ee võtmed

cd /etc/apache2/

Käivitada seal käsk:

openssl req -nodes -new -keyout photo.album.ee.key -newkey rsa:1024 > photo.album.ee.csr 

Küsimustele vastata nii nagu allpool näidatud.

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]:Album
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:photo.album.ee
Email Address []:
A challenge password []:
An optional company name []:

Käivitada need käsud

openssl x509 -req -days 3650 -in photo.album.ee.csr -signkey photo.album.ee.key -out photo.album.ee.crt

Kuvada sertifikaadi sisu:

openssl x509 -in photo.album.ee.crt -noout -text

SNI Seadistamine

Kasutades Server Name Indication, ehk SNI, saab ühe IP ja pordi pealt suunata päringuid erinevatele https veebilehtedele.
Tekitame uue faili nimega 000-default, kataloogis /etc/apache2/sites-enabled/ :

nano /etc/apache2/sites-enabled/000-default

Konfiguratsioonifaili sisuks on:

NameVirtualHost *:443
SSLStrictSNIVHostCheck off

<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        ServerName www.album.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.album.ee-ssl-error.log
   TransferLog  /var/log/apache2/www.album.ee-ssl-access.log

   SSLEngine on
   SSLCertificateFile /etc/apache2/www.album.ee.crt
   SSLCertificateKeyFile /etc/apache2/www.album.ee.key
   SSLOptions +StdEnvVars

 </VirtualHost>

<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        ServerName photo.album.ee
        DocumentRoot /var/www/photo
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/photo>
                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/photo.error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/photo.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/photo.album.ee-ssl-error.log
   TransferLog  /var/log/apache2/photo.album.ee-ssl-access.log

   SSLEngine on
   SSLCertificateFile /etc/apache2/photo.album.ee.crt
   SSLCertificateKeyFile /etc/apache2/photo.album.ee.key
   SSLOptions +StdEnvVars


 </VirtualHost>

<VirtualHost *:80>

       ServerAdmin webmaster@localhost
       ServerName www.album.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>        
</VirtualHost>

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        ServerName photo.album.ee
        DocumentRoot /var/www/photo
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/photo>
                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/photo.error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn                  

        CustomLog /var/log/apache2/photo.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>               

</VirtualHost>

NameVirtualHost *:443 - tähendab, et kõigil IP'del on virtual host päringud
SSLStrictSNIVHostCheck - kui off siis ühendus on lubatud mitte-SNI klientidelt ka, on - ei lubata. Uue browseri kasutajatel peab olema on. Kuna selles töös on kasutatud vana browseri versioon siis on off.

Restardime apache kontrollimiseks:

/etc/init.d/apache2 restart

Testimiseks käivitame järgmised käsud:

links www.album.ee
links photo.album.ee
links https://www.album.ee
links https://photo.album.ee

Kui tulevad õiged lehed ette ja erroreid ei viska, siis on kõik OK.

Teenuse start/stop/restart

Apache2

 /etc/init.d/apache2 {start | stop | restart}

Mysql-server

 /etc/init.d/mysql {start | stop | restart}

Varundamisjuhend

Varukoopiate tegemine

Failide kopeerimiseks sisestage käsk: cp -a [mida] [kuhu] Näiteks:

cp -a /var/www/www /home

Veebide sisu backup siit

/var/www/www 

Veebi photo.album backup siit

/var/www/photo
 

Apache2 konfiguratsiooni kausta backup siit

/etc/apache2

Apache2 log failide backup teha siit

/var/log/apache2

Taastejuhend

Taastamine

Failide taastamiseks minge kataloogi kus on varukoopia salvestatud ja sisestage käsk: cp -a [mida] [kuhu]

Näiteks:

cp -a /home/apache2 /etc

Veebi sisu andmed taasta kataloogi backupist

/var/www

photo.album andmed taasta kataloogi backupist

/var/www/photo

Veebiserveri upgrades tulnud tõrked taasta varasem konfiguratsioon kataloogi backupist

/etc/apache2

logifailid taasta kataloogi backupist

/var/log/apache2

Teenuse monitoorimise soovitused

Kui midagi ei tööta:

  • Kõigepealt tehke teenuse restart
/etc/init.d/apache2 restart

Kui mingi probleem on teenuse sees, siis ta viskab teade täpselt kus kohas see viga on.

  • Kontrollige kõik .conf ja .log failid, et süntaks oleks õige.
  • Kui üleval mainitud ei aita, siis proovige varukoopiate taastamine.
  • Abiinfo saamiseks võtke ühendust e-maili või telefoni teel

Lingid

Kuutõrvaja - Apache'i veebiserver - Siit saab abi
Ubuntu serevri upgrade 
SNI