Veebiserver labor 2: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Vzernova (talk | contribs)
Nstsetni (talk | contribs)
 
(20 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=
Line 53: Line 65:
==Veebiserveri installeerimine==
==Veebiserveri installeerimine==


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


Installeerimine apt abil:
Installeerimine apt abil:
Line 109: Line 121:
<MasinaIP> photo.album.ee</pre>
<MasinaIP> photo.album.ee</pre>
4) Testimiseks pingida www.album.ee ja 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
Kui ping vastab, on nimelahendus õigesti seadistatud


Line 220: Line 235:
a2ensite photo
a2ensite photo
a2ensite www
a2ensite www
a2dissite default
a2dissite default


Line 226: Line 240:


</pre>
</pre>
Kui teil on mõni veebileht ka olemas siis seda tuleb ka välja lülitada
*Testimine
*Testimine
Testimiseks tuleb luua index.html fail nii www kui ka photo kataloogi.
Testimiseks tuleb luua index.html fail nii www kui ka photo kataloogi.
Line 296: Line 311:
Käivitada need käsud
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>
<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>
<pre>openssl x509 -in www.album.ee.crt -noout -text</pre>
Nüüd genereerime '''photo.album.ee''' võtmed
Nüüd genereerime '''photo.album.ee''' võtmed
Line 314: Line 330:
Käivitada need käsud
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>
<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>
<pre>openssl x509 -in photo.album.ee.crt -noout -text</pre>


==SNI Seadistamine==
==SNI Seadistamine==
Line 527: Line 543:
===Testimiseks käivitame järgmised käsud:===
===Testimiseks käivitame järgmised käsud:===


  links www.firma.ee
  links www.album.ee
  links sales.firma.ee
  links photo.album.ee
  <nowiki>links https://www.album.ee</nowiki>
  <nowiki>links https://www.album.ee</nowiki>
  <nowiki>links https://photo.album.ee</nowiki>
  <nowiki>links https://photo.album.ee</nowiki>
Line 547: Line 563:
==Varukoopiate tegemine==
==Varukoopiate tegemine==
Failide kopeerimiseks sisestage käsk:
Failide kopeerimiseks sisestage käsk:
cp -a [mida][kuhu]
cp -a [mida] [kuhu]
Näiteks:
Näiteks:
  cp -a /var/www/www /home
  cp -a /var/www/www /home
Line 569: Line 585:


=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