Ero sivun ”Apache-harjoituksia” versioiden välillä
Siirry navigaatioon
Siirry hakuun
ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa |
Ei muokkausyhteenvetoa |
||
(15 välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
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. | ||
====Taustatietoa Internetin toiminnasta:==== | |||
* karttoja: http://www.telegeography.com/ | |||
* mitä tapahtuu kun avaa www-sivun: http://prezi.com/gks10schfggg/i-made-a-map-of-the-internet-and-other-lessons-about-speeding-up-web-sites/ | |||
* Analysoi itse mitä tapahtuu kun selain avaa www-sivun: http://getfirebug.com/ | |||
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. | 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. | ||
Rivi 9: | Rivi 14: | ||
*Asenna [[Apache httpd|Apache]] jakelun asennuskomennolla, esimerkiksi: | *Asenna [[Apache httpd|Apache]] jakelun asennuskomennolla, esimerkiksi: | ||
yum install httpd # RedHat tai | yum install httpd # RedHat tai | ||
apt-get install | sudo apt-get install apache2 # Debian | ||
*Käynnistä Apache: | *Käynnistä Apache: | ||
service httpd start # RedHat tai | service httpd start # RedHat tai | ||
/etc/init.d/ | sudo /etc/init.d/apache2 start # Ubuntu | ||
*Tarkista Apachen toimivuus selaimella (http://127.0.0.1 tai http://localhost) | *Tarkista Apachen toimivuus selaimella (http://127.0.0.1 tai http://localhost) | ||
* | *Muokkaa [[tekstieditori]]lla (esim. [[nano]]lla) sisältä. Tarkista toimivuus. | ||
*Mahdollista index.htm ja index.php (vain RedHat, Ubuntussa ne ovat valmiina) | |||
/etc/httpd/conf/httpd.conf rivi 375 | |||
Rivinumerot vaihtelevat asetustiedoston versiosta toiseen RedHat:ssa. | |||
Ubuntussa (ja muissa Debian-pohjaisissa jakeluissa) tiedosto httpd.conf on tyhjä, koska kaikki asetukset on pilkottu useampaan tiedostoon kansion /etc/apache2/ alla. Jos haluat löytää tietyn asetuksen, kokeile /etc/apache2 -hakemisossa ajaa hakukomentoa ''grep -R hakusana *'' | |||
*Käyttäjien kotihakemiston käyttöönotto: | *Käyttäjien kotihakemiston käyttöönotto: | ||
Rivi 29: | Rivi 35: | ||
rivi 346: UserDir public_html (poista risuaita) | rivi 346: UserDir public_html (poista risuaita) | ||
Ubuntussa UserDir-määrittely on valmiiksi olemassa tiedostossa /etc/apache2/mods-available/userdir.conf. Se otetaan käyttöön tekemällä siihen symbolinen linkki kansioon /etc/apache2/mods-enabled/, kuten myös userdir.load-tiedostolle. | |||
cd /etc/apache2/mods-enabled/ | |||
sudo ln -s ../mods-available/userdir.conf userdir.conf | |||
sudo ln -s ../mods-available/userdir.load userdir.load | |||
*Käynnistä Apache uudestaan: | *Käynnistä Apache uudestaan: | ||
service httpd restart # RedHat tai | service httpd restart # RedHat tai | ||
/etc/init.d/ | sudo /etc/init.d/apache2 restart # Ubuntu | ||
*Luo index. | *Luo index.html 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.html | ||
mkdir ~oppilas/public_html | mkdir ~oppilas/public_html | ||
$EDITOR ~oppilas/public_html/index. | $EDITOR ~oppilas/public_html/index.html | ||
chmod 711 ~oppilas/public_html | chmod 711 ~oppilas/public_html | ||
chmod a+r ~oppilas/public_html/index. | chmod a+r ~oppilas/public_html/index.html | ||
===Salasanasuojattujen hakemistojen tekeminen=== | ===Salasanasuojattujen hakemistojen tekeminen=== | ||
*Kirjoita riviltä 383 alkaen (mikäli rivinumerointi yllä täsmäsivät ja tämäkin vaikuttaa oikealta) seuraavat rivit | *Kirjoita riviltä 383 alkaen (RedHat:ssa, mikäli rivinumerointi yllä täsmäsivät ja tämäkin vaikuttaa oikealta) seuraavat rivit tai Ubuntussa laita teksti tiedostoon httpd.conf: | ||
<Directory / | |||
<Directory /var/www/suojattu*> | |||
AllowOverride AuthConfig | AllowOverride AuthConfig | ||
AuthUserFile / | AuthUserFile /var/www/suojattu/.htpasswd | ||
AuthType Basic | AuthType Basic | ||
AuthName | AuthName "Salasanaa vaativa hakemisto" | ||
Require valid-user | Require valid-user | ||
</Directory> | </Directory> | ||
*Käynnistä | *Käynnistä palvelin uudelleen | ||
*Tee hakemistoon <tt> | *Tee hakemistoon <tt>/var/www/</tt> alihakemisto nimeltä <tt>suojattu</tt> | ||
cd /var/www/ | |||
*Luo .htpasswd tiedosto ja määritä siihen käyttäjä ja salasana: | mkdir suojattu | ||
htpasswd -c .htpasswd | *Luo kansioon .htpasswd tiedosto ja määritä siihen käyttäjä ja salasana: | ||
cd suojattu | |||
sudo htpasswd -c .htpasswd tunnus | |||
*Testaa | *Testaa | ||
Apachen 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 palvelin ajetaan, ja antaa lukuoikeus vain omistajalle ja ryhmälle eli <tt>sudo chown www-data:www-data *</tt> ja <tt>sudo chmod 640</tt> | |||
===Mukautetun virheilmoituksen tekeminen=== | ===Mukautetun virheilmoituksen tekeminen=== | ||
Rivi 67: | Rivi 79: | ||
*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ää | *Lisää tiedostoon seuraava teksti | ||
ErrorDocument 401 /eilupaa. | ErrorDocument 401 /eilupaa.html | ||
*Luo /var/www | *Luo /var/www/eilupaa.html tiedosto haluamillasi teksteillä | ||
*Käynnistä Apache uudestaan | *Käynnistä Apache uudestaan | ||
*Testaa | *Testaa | ||
Jotkut selaimet näyttävät omaa virheilmoitustaan | Jotkut selaimet näyttävät omaa virheilmoitustaan http-palvelimen antaman ilmoituksen sijaan ("friendly error messages"). Muuta tarvittaessa selaimesi asetuksia. | ||
===VirtualHost=== | ===VirtualHost=== | ||
*Lisää httpd.confin loppuun | *Lisää httpd.confin loppuun (RedHat) tai sites-enabled-kansioon tiedostoon: | ||
<VirtualHost apache.palvelimen.ip.osoite> | <VirtualHost apache.palvelimen.ip.osoite> | ||
ServerAdmin webmaster@wwwmalli.jee | ServerAdmin webmaster@wwwmalli.jee |