Ero sivun ”Apache-harjoituksia” versioiden välillä

Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
(wikitys, putsaus, luokitus)
Rivi 1: Rivi 1:
Kyseessä on OPEKO:n kurssille (30-31.1.2006 / Timo Kapanen) tehtyä materiaalia, josta on poistettu kuvat ja muita vain kurssille kuuluvaa materiaalia.
Tarkoituksena on pystyttää oppilaitoksen (yrityksen) www-palvelin, johon tulee niin oppilaitoksen (yrityksen) kuin oppilaiden (työntekijöiden) kotisivut. Mahdollistetaan salasanasuojattujen hakemistojen tekeminen, määritetään mukautetut virheilmoitukset, tarkastellaan palvelimelle pääsyn rajoittamista, tutkitaan miten virtualHost määritteet toimivat ja lopuksi tutkitaan miten saadaan helposti luotua raportteja sivustojen käytöstä webalizerin avulla.


Tarkoituksena on luoda oppilaitoksen / yrityksen www-palvelin, johon tulee niin oppilaitoksen / yrityksen kuin oppilaiden / työntekijöiden kotisivut. Mahdollistetaan salasanasuojattujen hakemistojen tekeminen, määritetään mukautetut virheilmoitukset, tarkastellaan palvelimelle pääsyn rajoittamista, tutkitaan miten virtualHost määritteet toimivat ja lopuksi tutkitaan miten saadaan helposti luotua raportteja sivustojen käytöstä webalizerin avulla.
==Perustoimet==


Perustoimet
===Asennus ja käynnistys===
*Asenna [[Apache httpd|Apache]]
yum install httpd


Asennus ja käynnistys <br>
*Käynnistä Apache:
Asenna apache:<br>
service httpd start
yum install httpd


Käynnistä Apache:<br>
*Tarkista Apachen toimivuus selaimella (127.0.0.1 tai localhost)
service httpd start


Tarkista Apachen toimivuus selaimella (127.0.0.1)
*Oletussivun luominen:
Luo index.html /var/www/html/ hakemistoon:
touch /var/www/html/index.html


Oletussivun luominen:<br>
*Kirjoita tekstieditorilla (vaikkapa mc:llä) sisältö. Tarkista toimivuus.
Luo index.html /var/www/html/ hakemistoon:<br>
touch /var/www/html/index.html


Kirjoita mc:llä sisältö.<br>
*Mahdollista index.htm ja index.php
Tarkista toimivuus.
/etc/httpd/conf/httpd.conf rivi 375


Mahdollista index.htm ja index.php<br>
*Käyttäjien kotihakemiston käyttöönotto:
/etc/httpd/conf/httpd.conf rivi 375
rivi 339: #UserDir disable (lisää risuaita)
rivi 346: UserDir public_html (poista risuaita)


Käyttäjien kotihakemiston käyttöönotto: <br>
*Käynnistä Apache uudestaan:
rivi 339: #UserDir disable (lisää risuaita) <br>
service httpd restart
rivi 346: UserDir public_html (poista risuaita) <br>


Käynnistä Apache uudestaan: <br>
*Luo index.htm käyttäjän "oppilas" kotihakemistoon public_html nimiseen kansioon. Muuta kotihakemiston oikeuksiksi 711
service httpd restart


Luo index.htm oppilas käyttäjän kotihakemistoon public_html nimiseen kansioon. <br>
===Salasanasuojattujen hakemistojen tekeminen===
Muuta kotihakemiston oikeuksiksi 711


   
*Kirjoita riviltä 383 alkaen seuraavat rivit
Salasanasuojattujen hakemistojen tekeminen
<Directory /home/oppilas/public_html/suojattu*>
AllowOverride AuthConfig
AuthUserFile /home/oppilas/public_html/.htpasswd
AuthType Basic
  Require valid-user
</Directory>


Kirjoita riviltä 383 alkaen seuraavat rivit:
*Käynnistä httpd uudelleen
<Directory /home/oppilas/public_html/suojattu*>
*Tee public_html hakemistoon suojattu niminen alihakemisto
AllowOverride AuthConfig
*Tee suojattu hakemistoon index.htm tiedosto
AuthUserFile /home/oppilas/public_html/.htpasswd
*Luo .htpasswd tiedosto ja määritä siihen käyttäjä ja salasana:
AuthType Basic
htpasswd -c .htpasswd mulonlupa
*Muuta kyseinen tiedosto luettavaksi ([[Tiedoston oikeudet|chmod]] 644 .htpasswd)
Require valid-user
*Testaa
</Directory>


Käynnistä httpd uudelleen<br>
===Mukautetun virheilmoituksen tekeminen===
Tee public_html hakemistoon suojattu niminen alihakemisto<br>
Tee suojattu hakemistoon index.htm tiedosto<br>
Luo .htpasswd tiedosto ja määritä siihen käyttäjä ja salasana:<br>
htpasswd -c .htpasswd mulonlupa<br>
Muuta kyseinen tiedosto luettavaksi (chmod 644 .htpasswd)<br>
Testaa


Mukautetun virheilmoituksen tekeminen
*Mikäli käyttäjä painaa Cancel-painiketta salasanaa kysyttäessä, saa hän Authorization required virheilmoituksen (virhe 401). Muutetaan kyseinen ilmoitus toiseksi.


Mikäli käyttäjä painaa Cancel-painiketta salasanaa kysyttäessä, saa hän Authorization required virheilmoituksen (virhe 401). Muutetaan kyseinen ilmoitus toiseksi.
*Lisää riville 809 seuraava teksti
ErrorDocument 401 /eilupaa.htm


Lisää riville 809 seuraava teksti:<br>
*Luo /var/www/html/eilupaa.htm tiedosto haluamillasi teksteillä
ErrorDocument 401 /eilupaa.htm
*Käynnistä Apache uudestaan
*Testaa


Luo /var/www/html/eilupaa.htm tiedosto haluamillasi teksteillä<br>
===Palomuurin portin 80 avaaminen===
Käynnistä Apache uudestaan<br>
Testaa


Palomuurin portin 80 avaaminen
Anna komento setup, siirry kohtaan firewall konfiguration ja valitse www. Vaihtoehtoisesti lisää tiedostoon /etc/sysconfig/iptables rivi:
 
-A RH-Firewall-1-INPUT -m state NEW -m tcp -p tcp –dport 80 -j ACCEPT
Anna komento setup, siirry kohtaan firewall konfiguration ja valitse www. <br>
Vaihtoehtoisesti lisää tiedostoon /etc/sysconfig/iptables rivi:<br>
-A RH-Firewall-1-INPUT -m state NEW -m tcp -p tcp –dport 80 -j ACCEPT<br>
ja anna sen jälkeen komento: service iptables restart
ja anna sen jälkeen komento: service iptables restart


Testaa (Kokeile naapurikoneesta)
===Testaa (Kokeile naapurikoneesta)===


*Rajoitetaan pääsy vain tietystä IP-osoitteesta


Rajoitetaan pääsy vain tietystä IP-osoitteesta
*Lisää riville 391 alkaen tekstit:
<Directory /home/oppilas/*>
Order deny.allow
Deny from all
Allow from sallittavan.koneen.ip.osoite
</Directory>


Lisää riville 391 alkaen tekstit:
*Käynnistä httpd uudestaan
<Directory /home/oppilas/*>
*Testaa
Order deny.allow
*Kommentoi edellä tekemäsi muutokset
Deny from all
*Käynnistä httpd uudestaan
Allow from sallittavan.koneen.ip.osoite
*Testaa
</Directory>


Käynnistä httpd uudestaan<br>
===VirtualHost===
Testaa<br>
Kommentoi edellä tekemäsi muutokset<br>
Käynnistä httpd uudestaan<br>
Testaa


VirtualHost
*Lisää httpd.confin loppuun
<VirtualHost 127.0.0.1>
    ServerAdmin webmaster@wwwmalli.jee
    DocumentRoot /home/oppilas/public_html
    ServerName wwwmalli.jee
    ServerAlias www.wwwmalli.jee
    ErrorLog logs/wwwmalli.jee-error_log
    CustomLog logs/wwwmalli.jee-access_log common
</VirtualHost>


Lisää httpd.conf loppuun
*sekä muuta:
<VirtualHost 127.0.0.1>
    ServerAdmin webmaster@wwwmalli.jee
    DocumentRoot /home/oppilas/public_html
    ServerName wwwmalli.jee
    ServerAlias www.wwwmalli.jee
    ErrorLog logs/wwwmalli.jee-error_log
    CustomLog logs/wwwmalli.jee-access_log common
</VirtualHost>
 
sekä muuta:
  # Use name-based virtual hosting.
  # Use name-based virtual hosting.
NameVirtualHost 127.0.0.1
NameVirtualHost 127.0.0.1
 
Uudelleen käynnistä Apache<br>
Lisää asiakaskoneen /etc/hosts tiedostoon rivi:<br>
apache.palvelimen.ip.osoite wwwmalli.jee<br>
testaa toimivuus


Webalizer statistiikka
*Käynnistä Apache uudelleen
*Lisää asiakaskoneen /etc/hosts tiedostoon rivi:
apache.palvelimen.ip.osoite wwwmalli.jee
*Testaa toimivuus


Asenna Webalizer<br>
==Webalizer statistiikka==
yum install webalizer


Anna komento webalizer<br>
Asenna [[Webalizer]]
yum install webalizer


Käynnistä Apache uudestaan<br>
*Anna komento webalizer
Testaa osoitteessa 127.0.0.1/usage


Jos haluat mahdollistaa tilastojen näkymisen muillekin kuin 127.0.0.1:lle, niin poista rajoitukset tiedostosta /etc/httpd/conf.d/webalizer.conf<br>
*Käynnistä Apache uudestaan
Käynnistä Apache uudestaan<br>
*Testaa osoitteessa 127.0.0.1/usage
Testaa osoitteessa apache.palvelimen.ip.osoite/usage


Määritä webalizer automaattiseksi
*Jos haluat mahdollistaa tilastojen näkymisen muillekin kuin 127.0.0.1:lle, niin poista rajoitukset tiedostosta /etc/httpd/conf.d/webalizer.conf
*Käynnistä Apache uudestaan
*Testaa osoitteessa apache.palvelimen.ip.osoite/usage


Anna komento rootin kotihakemistossa:<br>
*Määritä webalizer automaattiseksi
crontab -e<br>
ja lisää rivi<br>
30 * * * * webalizer<br>
(Insert mahdollistaa kirjoitustilan, esc lopettaa kirjoitustilan, :w tallentaa ja :q lopettaa)


Määritä Apache käynnistymää automaattisesti
*Anna komento rootin kotihakemistossa:
crontab -e
ja lisää rivi
30 * * * * webalizer
(Editori on vim, jossa insert mahdollistaa kirjoitustilan, esc lopettaa kirjoitustilan, :w tallentaa ja :q lopettaa)


Anna komento: chkconfig --level 35 httpd on (huomaa kaksi viivaa ennen level sanaa).
*Määritä Apache käynnistymään automaattisesti. Anna komento:
chkconfig --level 35 httpd on (huomaa kaksi viivaa ennen level sanaa).




SELinuxista
==SELinux==


Jos SELinux käytössä joudut tekemään erilaisia muutoksia määrityksiin. Alla yksi esimerkki:
Jos SELinux käytössä joudut tekemään erilaisia muutoksia määrityksiin. Alla yksi esimerkki


Käytäjien kotikansioita varten tarvittavat muutokset:<br>
*Käytäjien kotihakemistoja varten tarvittavat muutokset:
yum install system-config-securitylevel<br>
yum install system-config-securitylevel
Anna komento: <br>
*Anna komento:  
system-config-securitylevel<br>
system-config-securitylevel
Tarkista, että rasti kohdassa Allow HTTPD to read home directories
*Tarkista, että rasti kohdassa Allow HTTPD to read home directories


Anna komento:<br>
*Anna komento:
chcon -t httpd_sys_content_t /home/oppilas/public_html
chcon -t httpd_sys_content_t /home/oppilas/public_html


tee sama index.htm tiedostolle
*Tee sama index.htm tiedostolle


Lisätietoja osoitteesta:<br>
*Lisätietoja osoitteesta:
http://fedora.redhat.com/docs/selinux-apache-fc3/
http://fedora.redhat.com/docs/selinux-apache-fc3/


[[Luokka:Apache]]
[[Luokka:Apache]]
[[Luokka:Palvelimet]]
[[Luokka:Ohjeet]]