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

Siirry navigaatioon Siirry hakuun
2 563 merkkiä lisätty ,  25. helmikuuta 2008
joistakin komennoista debianille (ym.) sopivia vastineita, kommentteja, linkkejä
p (jakeluspesifinen)
(joistakin komennoista debianille (ym.) sopivia vastineita, kommentteja, linkkejä)
Rivi 1: Rivi 1:
{{jakeluspesifinen}}
{{jakeluspesifinen}}
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 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.
Ohjeet on kirjoitettu [[Redhat]]ia ajatellen. Joissakin kohdissa on myös kerrottu [[Debian]]issa tai muussa [[jakelu]]ssa tarvittavat versiot komennoista. Pienin muutoksin ohjeet soveltuvat myös muille jakeluille; lue tarvittaessa oman jakelusi [[GNU/Linuxin käynnistysprosessi#Pikkuisen init-skripteistä|käynnistysskripteistä]], [[ohjelmien asentaminen|ohjelmien asentamisesta]], käytettävistä [[tekstieditori|tekstieditoreista]], [[palomuuri]]n säätämisestä yms. httpd:n käyttämät hakemistot löytyvät asetustiedostosta hakemalla avainsanoja ServerRoot, DocumentRoot ja UserDir.


==Perustoimet==
==Perustoimet==


===Asennus ja käynnistys===
===Asennus ja käynnistys===
*Asenna [[Apache httpd|Apache]]
*Asenna [[Apache httpd|Apache]] jakelun asennuskomennolla, esimerkiksi:
  yum install httpd
  yum install httpd
apt-get install apache


*Käynnistä Apache:
*Käynnistä Apache:
  service httpd start
  service httpd start


*Tarkista Apachen toimivuus selaimella (127.0.0.1 tai localhost)
/etc/init.d/apache start
 
*Tarkista Apachen toimivuus selaimella (http://127.0.0.1 tai http://localhost)


*Oletussivun luominen:
*Luo oletussivu index.html hakemistoon <tt>/var/www/html/</tt>:
Luo index.html /var/www/html/ hakemistoon:
  touch /var/www/html/index.html
  touch /var/www/html/index.html


*Kirjoita tekstieditorilla (vaikkapa mc:llä) sisältö. Tarkista toimivuus.
*Kirjoita [[tekstieditori]]lla (vaikkapa [[mc]]:llä tai [[nano]]lla) sisältö. Tarkista toimivuus.


*Mahdollista index.htm ja index.php
*Mahdollista index.htm ja index.php
Rivi 25: Rivi 30:
  rivi 339: #UserDir disable (lisää risuaita)  
  rivi 339: #UserDir disable (lisää risuaita)  
  rivi 346: UserDir public_html (poista risuaita)  
  rivi 346: UserDir public_html (poista risuaita)  
(rivinumerot vaihtelevat asetustiedoston versiosta toiseen)


*Käynnistä Apache uudestaan:
*Käynnistä Apache uudestaan:
  service httpd restart
  service httpd restart


*Luo index.htm käyttäjän "oppilas" kotihakemistoon public_html nimiseen kansioon. Muuta kotihakemiston oikeuksiksi 711
/etc/init.d/apache restart
 
*Luo index.htm käyttäjän "oppilas" kotihakemistoon public_html nimiseen kansioon (korvaa tarvittaessa $EDITOR käyttämälläsi tekstieditorilla). Muuta kotihakemiston oikeuksiksi 711 ja anna vastaavasti kaikille lukuoikeus tiedostoon index.htm
 
mkdir ~oppilas/public_html
$EDITOR ~oppilas/public_html/index.htm
chmod 711 ~oppilas/public_html
chmod a+r ~oppilas/public_html/index.htm


===Salasanasuojattujen hakemistojen tekeminen===
===Salasanasuojattujen hakemistojen tekeminen===


*Kirjoita riviltä 383 alkaen seuraavat rivit
*Kirjoita riviltä 383 alkaen (mikäli rivinumerointi yllä täsmäsivät ja tämäkin vaikuttaa oikealta) seuraavat rivit
  <Directory /home/oppilas/public_html/suojattu*>
  <Directory /home/oppilas/public_html/suojattu*>
  AllowOverride AuthConfig
  AllowOverride AuthConfig
  AuthUserFile /home/oppilas/public_html/.htpasswd
  AuthUserFile /home/oppilas/public_html/.htpasswd <!-- eikö olisi parempi pitää salasanatiedotot poissa html-hakemistosta, esim. /home/oppilas/htpasswd/htpasswd_suojattu -->
  AuthType Basic
  AuthType Basic
  AuthName “Salasanaa vaativa hakemisto�?
  AuthName “Salasanaa vaativa hakemisto�?
Rivi 43: Rivi 57:


*Käynnistä httpd uudelleen
*Käynnistä httpd uudelleen
*Tee public_html hakemistoon suojattu niminen alihakemisto
*Tee hakemistoon <tt>public_html</tt> alihakemisto nimeltä <tt>suojattu</tt>
*Tee suojattu hakemistoon index.htm tiedosto
*Tee suojattuun hakemistoon tiedosto <tt>index.htm</tt>
*Luo .htpasswd tiedosto ja määritä siihen käyttäjä ja salasana:
*Luo .htpasswd tiedosto ja määritä siihen käyttäjä ja salasana:
  htpasswd -c .htpasswd mulonlupa
  htpasswd -c .htpasswd mulonlupa
*Muuta kyseinen tiedosto luettavaksi ([[Tiedoston oikeudet|chmod]] 644 .htpasswd)
*Muuta kyseinen tiedosto luettavaksi ([[Tiedoston oikeudet|chmod]] 644 .htpasswd)
*Testaa
*Testaa
httpd:n asetuksissa on yleensä kielto näyttää .ht-alkuisia tiedostoja. Tämä suojaus ei kuitenkaan estä muita järjestelmän käyttäjiä lukemasta tiedostoa. Parempi on määrätä tiedoston ryhmäksi se ryhmä, jona httpd ajetaan, ja antaa lukuoikeus vain omistajalle ja ryhmälle eli <tt>chmod 640</tt>


===Mukautetun virheilmoituksen tekeminen===
===Mukautetun virheilmoituksen tekeminen===
Rivi 60: Rivi 76:
*Käynnistä Apache uudestaan
*Käynnistä Apache uudestaan
*Testaa
*Testaa
Jotkut selaimet näyttävät omaa virheilmoitustaan httpd-palvelimen antaman ilmoituksen sijaan ("friendly error messages"). Muuta tarvittaessa selaimesi asetuksia.


===Palomuurin portin 80 avaaminen===
===Palomuurin portin 80 avaaminen===
Rivi 65: Rivi 83:
Anna komento setup, siirry kohtaan firewall konfiguration ja valitse www. Vaihtoehtoisesti lisää tiedostoon /etc/sysconfig/iptables (ennen COMMIT-riviä) rivi:
Anna komento setup, siirry kohtaan firewall konfiguration ja valitse www. Vaihtoehtoisesti lisää tiedostoon /etc/sysconfig/iptables (ennen COMMIT-riviä) rivi:
  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
ja anna sen jälkeen komento: service iptables restart
ja anna sen jälkeen komento: <tt>service iptables restart</tt>
 
Jos käytössäsi on muu palomuurin asetustensäätöohjelma tai -tiedosto, käytä sitä tekemään vastaava muutos. Yhteydet voidaan sallia myös rajoitetuista verkoista määritteellä <tt>--source</tt>.


===Testaa (Kokeile naapurikoneesta)===
===Testaa (Kokeile naapurikoneesta)===
Rivi 115: Rivi 135:
*Testaa osoitteessa 127.0.0.1/usage
*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
*Jos haluat mahdollistaa tilastojen näkymisen muillekin kuin 127.0.0.1:lle, niin muuta rajoituksia tiedostossa /etc/httpd/conf.d/webalizer.conf
*Käynnistä Apache uudestaan
*Käynnistä Apache uudestaan
*Testaa osoitteessa apache.palvelimen.ip.osoite/usage
*Testaa osoitteessa apache.palvelimen.ip.osoite/usage
Rivi 125: Rivi 145:
  ja lisää rivi
  ja lisää rivi
  30 * * * * webalizer
  30 * * * * webalizer
(Editori on vim, jossa insert mahdollistaa kirjoitustilan, esc lopettaa kirjoitustilan, :w tallentaa ja :q lopettaa)


*Määritä Apache käynnistymään automaattisesti. Anna komento:
Editori on vim, jossa insert mahdollistaa kirjoitustilan, esc lopettaa kirjoitustilan, :w tallentaa ja :q lopettaa. Voit käyttää muuta editoria määrittelemällä ympäristömuuttuja EDITOR, kertaluonteisesti korvaamalla crontab-komento komennolla
env EDITOR=suosikkieditorisi crontab -e
 
*Määritä Apache käynnistymään automaattisesti. Muuta järjestelmän käynnistysskriptejä jakeluusi sopivalla tavalla, esimerkiksi:
  chkconfig --level 35 httpd on (huomaa kaksi viivaa ennen level sanaa).
  chkconfig --level 35 httpd on (huomaa kaksi viivaa ennen level sanaa).


ln -s /etc/init.d/apache /etc/rc2.d/S35apache
Numero 35 määrittää missä kohtaa käynnistymistä httpd on käynnistettävä. Numero 2 on [[Debian]]in oletus[[ajotaso]]. Varmista, että numerot sopivat jakeluusi, esimerkiksi vertaamalla muihin käynnistysskriptihakemistossa oleviin palveluihin.


==SELinux==
==SELinux==
785

muokkausta

Navigointivalikko