Ero sivun ”Apache HTTPD:n asetukset” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(wikiin paremmin sopivaksi)
pEi muokkausyhteenvetoa
 
(21 välissä olevaa versiota 14 käyttäjän tekeminä ei näytetä)
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.
[[Apache HTTPD]] on ylivoimaisesti käytetyin www-palvelin, joka mukautuu helposti haluamiisi tarpeisiin. Apache HTTPD löytyy myös [[Windows]]-alustalle.


[[Apache]] on Linuxin puolella ylivoimainen www-palvelin, joka mukautuu helposti haluamiisi tarpeisiin. Kyseinen ohjelmisto löytyy myös Windows alustalle (siis testailtavaksi, palvelimeksi ei kannata Microsoftin tuotteita ottaa käyttöön).
Apachen määritykset ovat [[asetustiedosto]]ssa <tt>/etc/httpd/conf/httpd.conf</tt> tai <tt>/etc/apache2/httpd.conf</tt>. Kyseinen tiedosto sisältää runsaasti kommentteja, joiden avulla on helppo päästä alkuun Apachen hallinnassa. Lisätietoja löytyy Apachen [https://httpd.apache.org/docs-2.0/ ohjeista]. Alla on pyritty suomentamaan ja selkeyttämään ohjeita. Ohjeistus on tehty kommenttimuotoon Apachen asetustiedostoon, jolloin voit halutessasi siirtää sen sellaisenaan oman asetustiedostosi pohjaksi.


Apachen määritykset ovat tiedostossa /etc/httpd/conf/httpd.conf tai /etc/apache2/httpd.conf. Kyseinen tiedosto sisältää runsaasti kommentteja, joiden avulla on helppo päästä alkuun Apachen hallinnassa. Lisätietoja löytyy erittäin hyvin tehdystä dokumentoinnista ja ohjeistuksesta Apachen [http://httpd.apache.org/docs-2.0/ www-saitilta]. Alla on pyritty suomentamaan ja selkeyttämään dokumenttia. Kyseinen ohjeistus on tehty kommenttimuotoon, jolloin voit halutessasi siirtää sen sellaisenaan omien konfiguraatioidesi pohjaksi.
<source lang="bash">


[[Apache harjoituksia]] on harjoituksia osiossa.
# Piilottaa käynnissä olevat moduulit näkymästä maailmalle
ServerTokens OS


# Tarkemmat ohjeet: http://httpd.apache.org/docs-2.0
# Palvelimen juurihakemisto, mistä löytyvät asetus-, loki- ja
# virhetiedostot.
ServerRoot "/etc/httpd"


# Määritykset jaettu kolmeen perustyyppiin
# Tiedosto, joka sisältää HTTPD:n käynnistyessään saaman prosessinumeron
#  1. Määritykset, jotka koskettavat Apache palvelimen prosesseja
PidFile run/httpd.pid
# kokonaisuudessaan (globaali ympäristö)
#  2. Määritykset, jotka koskettavat Apache palvelimen pääsivustoa
# (main/default server) eli vastaa niistä määrityksistä, joita ei ole
# erikseen määritetty virtuaalipalvelimille. Nämä määritykset antavat
# myös perusasetukset virtuaalipalvelimille.
#  3. Virtuaalipalvelinten määritykset


### 1: globaali ymp.
# Aika sekunneissa kauanko palvelin odottaa vastausta pyyntöön
# Pyyntö voi olla
# GET
# POST- / PUT-pyyntöjen välinen TCP-pakettien aika
# TCP-pakettien kättelyjen (ACK) välinen aika
Timeout 120


# Piilottaa käynnissä olevat modulit näkymästä maailmalle
# Sallitaanko jatkuva yhteys (enemmän kuin yksi pyyntö / yhteys)
ServerTokens OS
# Nopeuttaa staattisten sivujen käsittelyä, oletuksena pois päältä
KeepAlive Off


# Palvelimen juurihakemisto, mistä löytyvät konfiguraatio-, logi- ja
# Jos edellinen käytössä, niin montako kyselyä samaan yhteyteen
# virhetiedostot.
MaxKeepAliveRequests 100
ServerRoot "/etc/httpd"


# Tiedosto, joka sisältää httpd:n käynnistyessään saaman prosessinumeron
# Montako sekuntia odotetaan pyyntöä samasta yhteydestä ennen sen
PidFile run/httpd.pid
# sulkemista. Ruuhkaisilla palvelimilla ei kannata odottaa liian kauaa
KeepAliveTimeout 15


# Aika sekunneissa kauanko palvelin odottaa vastausta pyyntöön
# prefork MPM on oletus, worker MPM pitää määrittää asennuksessa erikseen
# Pyyntö voi olla
# StartServers: montako palvelinprosessia käynnistetään
# GET
# MinSpareServers: minimimäärä varapalvelinprosesseja
# POST / PUT pyyntöjen välinen TCP-pakettien aika
# MaxSpareServers: maksimimäärä varapalvelinprosesseja
# TCP-pakettien kättelyjen (ACK) välinen aika
# ServerLimit: Maxclients muuttujan maksimimäärä (Älä muuta)
  Timeout 120
# MaxClients: Käynnistettävien serveriprosessien maksimimäärä
# MaxRequestsPerChild: palvelinprosessin tarjoamien pyyntöjen
# maksimimäärä
<IfModule prefork.c>
StartServers      8
MinSpareServers    5
MaxSpareServers  20
ServerLimit      256
MaxClients      256
MaxRequestsPerChild 4000
</IfModule>


# Sallitaanko jatkuva yhteys (enemmän kuin yksi pyyntö / yhteys)
# worker MPM
  # Nopeuttaa staattisten sivujen käsittelyä, oletuksena pois
<IfModule worker.c>
KeepAlive Off
StartServers        2
MaxClients        150
MinSpareThreads    25
MaxSpareThreads    75
ThreadsPerChild    25
MaxRequestsPerChild 0
</IfModule>


# Jos edellinen käytössä, niin montako kyselyä samaan yhteyteen
# Jos haluat Apachen kuuntelevan vain tiettyä Ip-osoitetta ja/tai porttia
MaxKeepAliveRequests 100
# Portti 80 on http:n oletusportti
#Listen 12.34.56.78:80
Listen 80


# Montako sekunttia odotetaan pyyntöä samasta yhteydestä ennen sen
# Dynamic Shared Object (DSO) Support (Linkkikirjastojen tuki)
# sulkemista. Ruuhkaisilla palvelimilla ei kannata odottaa liian kauaa
# Lisätietoja: https://httpd.apache.org/docs/2.0/mod/
KeepAliveTimeout 15
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule auth_anon_module modules/mod_auth_anon.so
LoadModule auth_dbm_module modules/mod_auth_dbm.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule auth_ldap_module modules/mod_auth_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so


# prefork MPM on oletus, worker MPM pitää määrittää asennuksessa erikseen
# Lataa määritystiedostot hakemistosta "/etc/httpd/conf.d".
# StartServers: montako palvelinprosessia käynnistetään
Include conf.d/*.conf
# MinSpareServers: minimimäärä varapalvelinprosesseja
# MaxSpareServers: maksimimäärä varapalvelinprosesseja
# ServerLimit: Maxclients muuttujan maksimimäärä (Älä muuta)
# MaxClients: Käynnistettävien serveriprosessien maksimimäärä
# MaxRequestsPerChild: palvelinprosessin tarjoamien pyyntöjen
# maksimimäärä
<IfModule prefork.c>
StartServers      8
MinSpareServers    5
MaxSpareServers  20
ServerLimit      256
MaxClients      256
MaxRequestsPerChild  4000
</IfModule>


# worker MPM
# ExtendedStatus määrittää luoko Apache täyden vai perustilainformaation
<IfModule worker.c>
# kun "server-status" käsittelijää kutsutaan. Oletuksena Off.
StartServers        2
#ExtendedStatus On
MaxClients        150
MinSpareThreads    25
MaxSpareThreads    75
ThreadsPerChild    25
MaxRequestsPerChild  0
</IfModule>


# Jos haluat Apachen kuuntelevan vain tiettyä Ip-osoitetta ja/tai porttia
# httpd-käyttäjä ja -käyttäjäryhmä
# Portti 80 on http:n oletusportti
User apache
#Listen 12.34.56.78:80
Group apache
Listen 80


# Dynamic Shared Object (DSO) Support (Linkkikirjastojen tuki)
### 2: "Pääpalvelimen" määritykset
# Lisätietoja: http://httpd.apache.org/docs/2.0/mod/
# Kaikkia näitä määrityksiä voi käyttää virtuaalipalvelimissa,
LoadModule access_module modules/mod_access.so <br>
# jolloin ne korvaavat tässä esitetyt
LoadModule auth_module modules/mod_auth.so <br>
LoadModule auth_anon_module modules/mod_auth_anon.so <br>
LoadModule auth_dbm_module modules/mod_auth_dbm.so <br>
LoadModule auth_digest_module modules/mod_auth_digest.so <br>
LoadModule ldap_module modules/mod_ldap.so <br>
LoadModule auth_ldap_module modules/mod_auth_ldap.so <br>
LoadModule include_module modules/mod_include.so <br>
LoadModule log_config_module modules/mod_log_config.so <br>
LoadModule logio_module modules/mod_logio.so <br>
LoadModule env_module modules/mod_env.so <br>
LoadModule mime_magic_module modules/mod_mime_magic.so <br>
LoadModule cern_meta_module modules/mod_cern_meta.so <br>
LoadModule expires_module modules/mod_expires.so <br>
LoadModule deflate_module modules/mod_deflate.so <br>
LoadModule headers_module modules/mod_headers.so <br>
LoadModule usertrack_module modules/mod_usertrack.so <br>
LoadModule setenvif_module modules/mod_setenvif.so <br>
LoadModule mime_module modules/mod_mime.so <br>
LoadModule dav_module modules/mod_dav.so <br>
LoadModule status_module modules/mod_status.so <br>
LoadModule autoindex_module modules/mod_autoindex.so <br>
LoadModule asis_module modules/mod_asis.so <br>
LoadModule info_module modules/mod_info.so <br>
LoadModule dav_fs_module modules/mod_dav_fs.so <br>
LoadModule vhost_alias_module modules/mod_vhost_alias.so <br>
LoadModule negotiation_module modules/mod_negotiation.so <br>
LoadModule dir_module modules/mod_dir.so <br>
LoadModule actions_module modules/mod_actions.so <br>
LoadModule speling_module modules/mod_speling.so <br>
LoadModule userdir_module modules/mod_userdir.so <br>
LoadModule alias_module modules/mod_alias.so <br>
LoadModule rewrite_module modules/mod_rewrite.so <br>
LoadModule proxy_module modules/mod_proxy.so <br>
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so <br>
LoadModule proxy_http_module modules/mod_proxy_http.so <br>
LoadModule proxy_connect_module modules/mod_proxy_connect.so <br>
LoadModule cache_module modules/mod_cache.so <br>
LoadModule suexec_module modules/mod_suexec.so <br>
LoadModule disk_cache_module modules/mod_disk_cache.so <br>
LoadModule file_cache_module modules/mod_file_cache.so <br>
LoadModule mem_cache_module modules/mod_mem_cache.so <br>
LoadModule cgi_module modules/mod_cgi.so <br>


# Lataa määritystiedostot hakemistosta "/etc/httpd/conf.d".
# Mihin osoitteeseen virheet tulee postitttaa
Include conf.d/*.conf
ServerAdmin root@localhost


# ExtendedStatus määrittää luoko Apache täyden vai perustilainformaation
# Servername määrittää nimen ja portin, jolla palvelin tunnistaa itsensä.
# kun "server-status" käsittelijää kutsutaan. Oletuksena Off.
# Jollei palvelimen nimi ole rekisteröity, niin laita tähän ip-osoite
#ExtendedStatus On
# Tällöin uudelleenohjaukset toimivat varmemmin
#ServerName www.example.com:80


# httpd käyttäjä ja käyttäjäryhmä
# UseCanonicalName määrittää kuinka Apache luo itseensä viittaavat URL:t.
User apache
# sekä SERVER_NAME ja SERVER_PORT muuttujat.
Group apache
# "Off", Apache käyttää asiakkaalta tulevaa Hostname ja Port arvoa
# "On", Apache käyttää ServerName määritettä (yllä)
# Esimerkki:
# Käyttäjät kirjautuvat sisäverkon www-palvelimeen lyhennetyllä nimellä
# kuten www. Mikäli URL sisältää myös hakemiston esim. http://www/splat
# ilman lopussa olevaa kauttaviivaa, niin Apache ohjaa osoitteeseen
# http://www.example.com/splat/. Tämä tuottaa autentikoinnin tapauksessa
# sen, että käyttäjän tarvitsee kirjautua kahdesti (kerran www ja kerran
# www.example.com). Mutta jos UseCanonicalName on "Off", niin Apache
# ohjaa oikeaan osoitteeseen http://www/splat/.
UseCanonicalName Off


### 2: "Pääpalvelimen" määritykset
# DocumentRoot: oletushakemisto sivustoille
# Kaikkia näitä määrityksiä voi käyttää virtuaalipalvelimissa,
DocumentRoot "/var/www/html"
# jolloin ne korvaavat tässä esitetyt


# Mihin osoitteeseen virheet tulee postitttaa
# Jokaiseen hakemistoon johon Apachella on pääsy voidaan määrittää
ServerAdmin root@localhost
# palvelut ja ominaisuudet jotka sallitaan / kielletään kyseisessä
# hakemistossa ja sen alihakemistoissa
# Oletukseksi määritetään hyvin rajoitetut ominaisuudet
<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>


# Servername määrittää nimen ja portin, jolla palvelin tunnistaa itsensä.
# Tästä eteenpäin sinun tulee erityisesti sallia (enable) tietyt
# Jollei palvelimen nimi ole rekisteröity, niin laita tähän ip-osoite
# ominaisuudet
# Tällöin uudelleenohjaukset toimivat varmemmin
# Vaihda myös tämä, jos vaihdat DocumentRoot määritettä (yllä).
#ServerName www.example.com:80
<Directory "/var/www/html">


# UseCanonicalName määrittää kuinka Apache luo itseensä viittaavat URL:t.
# Mahdollisia arvoja Options määritteelle ovat "None", "All",
# sekä SERVER_NAME ja SERVER_PORT muuttujat.
# tai mikä tahansa yhdistelmä seuraavista
# "Off", Apache käyttää asiakkaalta tulevaa Hostname ja Port arvoa
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# "On", Apache käyttää ServerName määritettä (yllä)
# Huomaa että "MultiViews" täytyy määrittää erikseen se ei tule
# Esimerkki:
# "Options All" mukana
# Käyttäjät kirjautuvat sisäverkon www-palvelimeen lyhennetyllä nimellä
# Arvojen selitykset
# kuten www. Mikäli URL sisältää myös hakemiston esim. http://www/splat
# (https://httpd.apache.org/docs-2.0/mod/core.html#options):
# ilman lopussa olevaa kauttaviivaa, niin Apache ohjaa osoitteeseen
# http://www.example.com/splat/. Tämä tuottaa autentikoinnin tapauksessa
# sen, että käyttäjän tarvitsee kirjautua kahdesti (kerran www ja kerran
# www.example.com). Mutta jos UseCanonicalName on "Off", niin Apache
# ohjaa oikeaan osoitteeseen http://www/splat/.
UseCanonicalName Off


# DocumentRoot: oletushakemisto sivustoille
# Indexes - Jos annettu pelkkä hakemisto ja sieltä puuttuu DirectoryIndex
DocumentRoot "/var/www/html"
# kohdassa määritetyn niminen tiedosto, niin mod_autoindex moduli luo
# asiakkaalle kyseisen hakemiston listauksen.


# Jokaiseen hakemistoon (johon Apachella on pääsy) voidaan määrittää
# Includes - mod_includen mukanaan tuomat Server-side includes (shtml)
# palvelut ja ominaisuudet jotka sallitaan / kielletään kyseisessä
# sallitaan
# hakemistossa ja sen alihakemistoissa
# Oletukseksi määritetään hyvin rajoitetut ominaisuudet
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>


# Tästä eteenpäin sinun tulee erityisesti sallia (enable) tietyt
# FollowSymLinks- Palvelin seuraa symbolisia linkkejä
# ominaisuudet
# Vaihda myös tämä, jos vaihdat DocumentRoot määritettä (yllä).
<Directory "/var/www/html">


# Mahdollisia arvoja Options määritteelle ovat "None", "All",
# SymLinksifOwnerMatch - Palvelin seuraa symbolisia linkkejä vain jos
# tai mikä tahansa yhdistelmä seuraavista
# kohdetiedoston tai -hakemiston omistaa sama käyttäjäid kuin linkin
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# ExecCGI - CGI skriptien käyttö mod_cgi:n avulla sallittu
# Huomaa että "MultiViews" täytyy määrittää erikseen se ei tule
# "Options All" mukana
# Arvojen selitykset
# (http://httpd.apache.org/docs-2.0/mod/core.html#options):


# Indexes - Jos annettu pelkkä hakemisto ja sieltä puuttuu DirectoryIndex
# MultiViews - jos palvelin saa kyselyn /some/dir/foo,
# kohdassa määritetyn niminen tiedosto, niin mod_autoindex moduli luo
# ja kyseisessä hakemistossa (/some/dir) on MultiViews käytössä
# asiakkaalle kyseisen hakemiston listauksen.
# ja /some/dir/foo ei ole olemassa, niin palvelin etsii hakemistosta
# kaikki tiedostot nimeltä foo.* ja luo tilapäisen "type map"in ja
# valitsee niistä parhaan asiakkaan vaatimuksiin
 
Options Indexes FollowSymLinks


# Includes - mod_includen mukanaan tuomat Server-side includes (shtml)
# AllowOverride kontrolloi .htaccess tiedostoihin laitettavat
# sallitaan
# määritetteet. Se voi olla "All", "None" tai mikä tahansa
# yhdistelmä seuraavista:
# Options FileInfo AuthConfig Limit
# Lisätietoa autentikoinnista:
# https://httpd.apache.org/docs/2.0/howto/auth.html


# FollowSymLinks- Palvelin seuraa symbolisia linkkejä
# None - .htaccess-tiedostot jätetään huomioitta


# SymLinksifOwnerMatch - Palvelin seuraa symbolisia linkkejä vain jos
# AuthConfig - Sallii lupamääritteiden käytön
# kohdetiedoston tai -hakemiston omistaa sama käyttäjäid kuin linkin
# Lupamääritteitä voivat olla:
# ExecCGI - CGI skriptien käyttö mod_cgi:n avulla sallittu
# - AuthDBMGroupFile - Käyttäjäryhmien nimet sisältävä DBM-tiedosto.
# Käyttää mod_auth_dbm-moduulia, joka tarjoaa perusautentikoinnin, missä
# käyttäjänimet ja salasanat tallennetaan DBM-tyyppiseen tietokantaan
# toisin kuin mod_auth-moduuli, joka käyttää tekstitiedostoja.
# Lisää DBM-tiedostoista ja niiden luonnista:
# http://www.apacheweek.com/features/dbmauth
# - AuthDBMUserFile - Käyttäjien nimet ja salasanat sisältävä DBM-
# tiedosto
# - AuthGroupFile - Käyttäjäryhmät sisältävä tekstitiedosto
# - AuthName - Salasanaa pyytävän ikkunan Title-osan teksti
# - AuthType - Hakemiston autentikointitapa, joka voi olla joko Basic
# tai Digest. Digest lähettää tiedon suojattuna (toisin kuin Basic),
# mutta toimii vain tietyillä selaimilla, lisätietoja Digest tavan
# käytöstä löydät osoitteesta:
# https://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html


# MultiViews - jos palvelin saa kyselyn /some/dir/foo,
# AuthUserFile - Käyttäjien nimet ja salasanat sisältävän
# ja kyseisessä hakemistossa (/some/dir) on MultiViews käytössä
# tekstitiedoston nimi
# ja /some/dir/foo ei ole olemassa, niin palvelin etsii hakemistosta
# kaikki tiedostot nimeltä foo.* ja luo tilapäisen "type map"in ja
# valitsee niistä parhaan asiakkaan vaatimuksiin
   
Options Indexes FollowSymLinks


# AllowOverride kontrolloi .htaccess tiedostoihin laitettavat
# Require - Määrittää ketkä autentikoidut käyttäjät pääsevät resurssiin
# määritetteet. Se voi olla "All", "None" tai mikä tahansa
# yhdistelmä seuraavista:
# Options FileInfo AuthConfig Limit
# Lisätietoa autentikoinnista:
# http://httpd.apache.org/docs/2.0/howto/auth.html


# None - .htaccess tiedostot jätetään huomioitta
# Esimerkki:
# AuthType Basic
# AuthName "Restricted Resource"
# AuthUserFile /web/users
# AuthGroupFile /web/groups
# Require group admin
AllowOverride None


# AuthConfig - Sallii lupamääritteiden käytön
# Määritetään kenellä on oikeus palvelimelle
# Lupamääritteitä voivat olla:
# Order määrittää allow ja deny määritteiden järjestyksen
# - AuthDBMGroupFile - Käyttäjäryhmien nimet sisältävä DBM tiedosto.
# Määritteet (ja niihin alla määritetyt tiedot) luetaan annetussa
# Käyttää mod_auth_dbm modulia, joka tarjoaa perusautentikoinnin, missä
# järjestyksessä. Näin ollen jälkimmäisenä annettu määrite päättää
# käyttäjänimet ja salasanat tallennetaan DBM tyyppiseen tietokantaan
# oletuskäytännön (Allow,Deny -> Oletuksena kaikilta kielletty).
# toisin kuin mod_auth moduli, joka käyttää tekstitiedostoja.
# Lisää DBM tiedostoista ja niiden luonnista:
# http://www.apacheweek.com/features/dbmauth
# - AuthDBMUserFile - Käyttäjien nimet ja salasanat sisältävä DBM
# tiedosto
# - AuthGroupFile - Käyttäjäryhmät sisältävä tekstitiedosto
# - AuthName - Salasanaa pyytävän ikkunan Title-osan teksti
# - AuthType - Hakemiston autentikointitapa, joka voi olla joko Basic
# tai Digest. Digest lähettää tiedon suojattuna (toisin kuin Basic),
# mutta toimii vain tietyillä selaimilla, lisätietoja Digest tavan
# käytöstä löydät osoitteesta:
# http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html


# AuthUserFile - Käyttäjien nimet ja salasanat sisältävän
# Esim. (päästää vain Apache.org-domainiin kuuluvat koneet,
# tekstitiedoston nimi
# muut kielletään):
# Order Deny,Allow
# Deny from all
# Allow from apache.org


# Require - Määrittää ketkä autentikoidut käyttäjät pääsevät resurssiin
# Esim. (Päästää vain apache.org-domainiin kuuluvat, oletuksena kielto)
# Order Allow,Deny
# Allow from apache.org
# Deny from foo.apache.org


# Esimerkki:
# Esim. (Päästää kaikki, koska oletuksena vapaa pääsy, huomaa järjestys)
# AuthType Basic
# Order Deny,Allow
# AuthName "Restricted Resource"
# Allow from apache.org
# AuthUserFile /web/users
# Deny from foo.apache.org
# AuthGroupFile /web/groups
# Require group admin
AllowOverride None


# Määritetään kenellä on oikeus palvelimelle
# Edellä olevat esimerkit tarkemmin:
# Order määrittää allow ja deny määritteiden järjestyksen
# https://httpd.apache.org/docs/2.0/mod/mod_access.html#order
# Määritteet (ja niihin alla määritetyt tiedot) luetaan annetussa
# järjestyksessä. Näin ollen jälkimmäisenä annettu määrite päättää
# oletuskäytännön (Allow,Deny -> Oletuksena kaikilta kielletty).


# Esim. (päästää vain Apache.org domainiin kuuluvat koneet,
# Allow määritteellä annetaan ne koneet, joilla on oikeus palvelimelle
# muut kielletään):
# Pääsyä voidaan kontrolloida IP-osoitteella, -alueella tai muilla
# Order Deny,Allow
# ympäristömuuttujista saatavalla tiedolla. Ympäristö muuttujien käytöstä
# Deny from all
# löydät tietoja ja esimerkkejä mm. seuraavista osoitteista:
# Allow from apache.org
# https://httpd.apache.org/docs/2.0/mod/mod_access.html#allow
# https://httpd.apache.org/docs/2.0/mod/mod_setenvif.html
# https://httpd.apache.org/docs/2.0/env.html
# http://www.serverwatch.com/tutorials/article.php/1132731
# Esimerkkejä:
# Allow from apache.org
# Allow from .net example.edu
# Allow from 10.1.2.3
# Allow from 192.168.1.104 192.168.1.205
# Allow from 10.1
# Allow from 10 172.20 192.168.2
# Allow from 10.1.0.0/255.255.0.0
# Allow from 10.1.0.0/16
# Allow from 2001:db8::a00:20ff:fea7:ccea
# Allow from 2001:db8::a00:20ff:fea7:ccea/10


# Esim. (Päästää vain apache.org domainiin kuuluvat, oletuksena kielto)
Order allow,deny
# Order Allow,Deny
Allow from all
# Allow from apache.org
# Deny from foo.apache.org


# Esim. (Päästää kaikki, koska oletuksena vapaa pääsy, huomaa järjestys)
# Lopettaa oletushakemiston (/var/www/html) oikeuksien käsittelyn
# Order Deny,Allow
</Directory>
# Allow from apache.org
# UserDir on hakemiston nimi, josta käyttäjän kotihakemistossa
# Deny from foo.apache.org
# sijaitsevat www-sivut haetaan ~käyttäjänimi haulla.
# Käyttäjän kotihakemiston oikeuksiksi (/home/userid) tulee muuttaa 711
# ja /home/userid/public_html oikeudet tulee olla 755,
# Muuten asiakas ei pääse hakemistoon ja saa "403 Forbidden"-ilmoituksen.


# Edellä olevat esimerkit tarkemmin:
<IfModule mod_userdir.c>
# http://httpd.apache.org/docs/2.0/mod/mod_access.html#order
# Ottaaksesi käyttäjien kotihakemistojen alla olevat www-sivut käyttöön
# kommentoi seuraava rivi
  UserDir disable
# ja poista risuaita seuraavan edestä
      #UserDir public_html
</IfModule>


# Allow määritteellä annetaan ne koneet, joilla on oikeus palvelimelle
# Halutessasi laittaa määritteet kaikkien käyttäjien www-hakemistoihin
# Pääsyä voidaan kontrolloida IP-osoitteella, -alueella tai muilla
# käytä /home/*/public_html polkua
# ympäristömuuttujista saatavalla tiedolla. Ympäristö muuttujien käytöstä
# Esimerkki:
# löydät tietoja ja esimerkkejä mm. seuraavista osoitteista:
# <Directory /home/*/public_html>
# http://httpd.apache.org/docs/2.0/mod/mod_access.html#allow
# AllowOverride AuthConfig
# http://httpd.apache.org/docs/2.0/mod/mod_setenvif.html
# </Directory>
# http://httpd.apache.org/docs/2.0/env.html
# http://www.serverwatch.com/tutorials/article.php/1132731
# Esimerkkejä:
# Allow from apache.org
# Allow from .net example.edu
# Allow from 10.1.2.3
# Allow from 192.168.1.104 192.168.1.205
# Allow from 10.1
# Allow from 10 172.20 192.168.2
# Allow from 10.1.0.0/255.255.0.0
# Allow from 10.1.0.0/16
# Allow from 2001:db8::a00:20ff:fea7:ccea
# Allow from 2001:db8::a00:20ff:fea7:ccea/10


Order allow,deny
# DirectoryIndex: Minkä nimisiä tiedostoja haetaan, jos vain hakemisto
Allow from all
# annettu. Yleensä tähän lisätään mm. index.htm, index.php,
# index.php3, default.htm, default.html jne.
DirectoryIndex index.html index.html.var


# Lopettaa oletushakemiston (/var/www/html) oikeuksien käsittelyn
# AccessFileName tiedoston nimi
</Directory>
AccessFileName .htaccess
# UserDir on hakemiston nimi, josta käyttäjän kotihakemistossa
# sijaitsevat www-sivut haetaan ~käyttäjänimi haulla.
# Käyttäjän kotihakemiston oikeuksiksi (/home/userid) tulee muuttaa 711
# ja /home/userid/public_html oikeudet tulee olla 755,
# Muuten asiakas ei pääse hakemistoon ja saa "403 Forbidden" ilmoituksen.


<IfModule mod_userdir.c>
# Seuraavat rivit estävät .htaccess ja .htpasswd tiedostoja näkymästä
# Ottaaksesi käyttäjien kotihakemistojen alla olevat www-sivut käyttöön
# asiakkaille (vain Apache näkee ne oikeutta tarkistaessaan)
# kommentoi seuraava rivi
<Files ~ "^\.ht">
UserDir disable
  Order allow,deny
# ja poista risuaita seuraavan edestä
  Deny from all
    #UserDir public_html
</Files>
</IfModule>


# Halutessasi laittaa määritteet kaikkien käyttäjien www-hakemistoihin
# mime.type-tiedoston sijainti
# käytä /home/*/public_html polkua
TypesConfig /etc/mime.types
# Esimerkki:
# <Directory /home/*/public_html>
# AllowOverride AuthConfig
# </Directory>


# DirectoryIndex: Minkä nimisiä tiedostoja haetaan, jos vain hakemisto
# Oletus MIME-tyyppi. Perus-HTML sivustoille oikea valinta on text/plain
# annettu. Yleensä tähän lisätään mm. index.htm, index.php,
# Sovelluksille tai pääasiallisesti kuville
# index.php3, default.htm, default.html jne.
# "application/octet-stream" voi olla parempi vaihtoehto
DirectoryIndex index.html index.html.var
DefaultType text/plain


# AccessFileName tiedoston nimi
# MIME-tyypin tunnistukseen käytettävän MIMEMagicFile-tiedoston sijainti
AccessFileName .htaccess
<IfModule mod_mime_magic.c>
#  MIMEMagicFile /usr/share/magic.mime
  MIMEMagicFile conf/magic
</IfModule>


# Seuraavat rivit estävät .htaccess ja .htpasswd tiedostoja näkymästä
# Tallennetaanko lokeihin asiakkaiden nimet vai pelkät IP-osoitteet
# asiakkaille (vain Apache näkee ne oikeutta tarkistaessaan)
# esim. www.apache.org (on) tai 204.62.129.132 (off).
<Files ~ "^\.ht">
HostnameLookups Off
    Order allow,deny
    Deny from all
</Files>


# mime.type tiedoston sijainti
# EnableMMAP lukee tiedoston muistiinsa voidakseen prosessoida ne ennen
TypesConfig /etc/mime.types
# lähetystä asiakkaalle. Tämä on olennaista palvelimen päässä
# käsiteltäville tiedostoille kuten .shtml. Oletuksena päällä.
# Lisätietoja: https://httpd.apache.org/docs/2.0/mod/core.html#enablemmap
#EnableMMAP off


# Oletus MIME-tyyppi. Perus-HTML sivustoille oikea valinta on text/plain
# EnableSendfile määritteen ollessa päällä Apache näyttää staattisen
# Sovelluksille tai pääasiallisesti kuville
# tiedoston asiakkaalle käsittelemättä sitä ensin. Päällä oletuksena.
# "application/octet-stream" voi olla parempi vaihtoehto
# Lisätietoa https://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
DefaultType text/plain
#EnableSendfile off


# MIME-tyypin tunnistukseen käytettävän MIMEMagicFile tiedoston sijainti
# ErrorLog: Virhelogitiedoston sijainti
<IfModule mod_mime_magic.c>
ErrorLog logs/error_log
#  MIMEMagicFile /usr/share/magic.mime
    MIMEMagicFile conf/magic
</IfModule>


# Tallennetaanko logeihin asiakkaiden nimet vai pelkät IP-osoitteet
# LogLevel: Virhelogitiedostoon tallennettavien viestien taso.
# esim. www.apache.org (on) tai 204.62.129.132 (off).
# Mahdollisia arvoja: debug, info, notice, warn, error, crit,
HostnameLookups Off
# alert, emerg.
# Tarkemmin: https://httpd.apache.org/docs/2.0/mod/core.html#loglevel
LogLevel warn
# Palvelimelle kohdistuneet pyynnöt taltioidaan CustomLog määritteen
# mukaisesti.
# Login tiedot voidaan määrittää ympäristömuuttujien avulla.
# Login muotoiluun vaikuttavia rivejä
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent


# EnableMMAP lukee tiedoston muistiinsa voidakseen prosessoida ne ennen
# mod_logio moduulin ollessa ladattuna voi käyttää combinedio muotoilua,
# lähetystä asiakkaalle. Tämä on olennaista palvelimen päässä
# joka sisältää todellisten lähetettyjen ja saatujen tavujen lukumäärän.
# käsiteltäville tiedostoille kuten .shtml. Oletuksena päällä.
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
# Lisätietoja: http://httpd.apache.org/docs/2.0/mod/core.html#enablemmap
#EnableMMAP off


# EnableSendfile määritteen ollessa päällä Apache näyttää staattisen
# Tavallisen käyttölogin (access logfile) sijainti ja tyyppi.
# tiedoston asiakkaalle käsittelemättä sitä ensin. Päällä oletuksena.
# Oletuksena käyttöön otetaan combined tyyppi, jossa logitiedot yhdistetty
# Lisätietoa http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
#CustomLog logs/access_log common
#EnableSendfile off
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
CustomLog logs/access_log combined


# ErrorLog: Virhelogitiedoston sijainti
# Voit lisätä logiin tiedon, joka sisältää palvelimen version, virtuaali-isännän
ErrorLog logs/error_log
# nimen palvelimen generoimiin sivuihin (virhesivut, ftp-listaukset jne).
# Vaihtoehto "EMail" sisältää myös sähköpostin lähetyksen ServerAdminille.
# Valitse joku seuraavista kolmesta: On | Off | EMail
ServerSignature On


# LogLevel: Virhelogitiedostoon tallennettavien viestien taso.
# Lisää tässä kohdin niin monta aliasnimeä kuin haluat muodossa
# Mahdollisia arvoja: debug, info, notice, warn, error, crit,
# Alias fakename realname
# alert, emerg.
# Esimerkki:  
# Tarkemmin: http://httpd.apache.org/docs/2.0/mod/core.html#loglevel
# Alias /image /ftp/pub/image
LogLevel warn
# Jolloin pyyntö http://myserver/image/foo.gif palauttaa tiedoston
# Palvelimelle kohdistuneet pyynnöt taltioidaan CustomLog määritteen
# /ftp/pub/image/foo.gif, jonka siis ei tarvitse olla /var/www/html/ alla.
# mukaisesti.
# /icons/ alias FancyIndexeding toimintoa varten on oletuksena käytössä.
# Login tiedot voidaan määrittää ympäristömuuttujien avulla.
# FancyIndexing tarkoittaa tapaa tehdä hakemistolistaus niin, että se muodostuu
# Login muotoiluun vaikuttavia rivejä
# eri sarakkeista ikonille, tiedostonimelle (Name), tiedoston muutosajalle
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
# (Last modified), tiedostokoolle (Size) ja kuvaukselle (Description).  
LogFormat "%h %l %u %t \"%r\" %>s %b" common
# Mikäli FancyIndexing on poissa päältä, hakemistolistaus on tavallinen
LogFormat "%{Referer}i -> %U" referer
# järjestämätön lista.
LogFormat "%{User-agent}i" agent
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
  Options Indexes MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>


# mod_logio modulin ollessa ladattuna voi käyttää combinedio muotoilua,  
# WebDAV module configuration section.
# joka sisältää todellisten lähetettyjen ja saatujen tavujen lukumäärän.
# WebDAV on www-sivujen etähallintaan tarkoitettu standardi.
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
# Esimerkiksi WebDev, joka on php:llä toteutettu sivustonhallintasovellus,
# tukee WebDAV-protokollaa.
<IfModule mod_dav_fs.c>
  # WebDAV-lukitustietokannan sijainti
  DAVLockDB /var/lib/dav/lockdb
</IfModule>


# Tavallisen käyttölogin (access logfile) sijainti ja tyyppi.
# ScriptAliakset ovat kuin aliakset mutta CGI-skriptejä varten
# Oletuksena käyttöön otetaan combined tyyppi, jossa logitiedot yhdistetty
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#CustomLog logs/access_log common
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
CustomLog logs/access_log combined


# Voit lisätä logiin tiedon, joka sisältää palvelimen version, virtuaali-isännän
# nimen palvelimen generoimiin sivuihin (virhesivut, ftp-listaukset jne).
# Vaihtoehto "EMail" sisältää myös sähköpostin lähetyksen ServerAdminille.
# Valitse joku seuraavista kolmesta:  On | Off | EMail
ServerSignature On


# Lisää tässä kohdin niin monta aliasnimeä kuin haluat muodossa
# cgi-scriptien hakemisto ja määritteet
# Alias fakename realname
<Directory "/var/www/cgi-bin">
# Esimerkki:
  AllowOverride None
# Alias /image /ftp/pub/image
  Options None
# Jolloin pyyntö http://myserver/image/foo.gif palauttaa tiedoston
  Order allow,deny
# /ftp/pub/image/foo.gif, jonka siis ei tarvitse olla /var/www/html/ alla.
  Allow from all
# /icons/ alias FancyIndexeding toimintoa varten on oletuksena käytössä.
</Directory>
# FancyIndexing tarkoittaa tapaa tehdä hakemistolistaus niin, että se muodostuu
# eri sarakkeista ikonille, tiedostonimelle (Name), tiedoston muutosajalle
# (Last modified), tiedostokoolle (Size) ja kuvaukselle (Description).
# Mikäli FancyIndexing on poissa päältä, hakemistolistaus on tavallinen
# järjestämätön lista.
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


# WebDAV module configuration section.
# Redirect määritteen avulla voit ohjata asiakkaan toisaalle
# WebDAV on www-sivujen etähallintaan tarkoitettu standardi.
# Esimerkki:
# Esimerkiksi WebDev, joka on php:llä toteutettu sivustonhallintasovellus,
# Redirect /service http://foo2.bar.com/service
# tukee WebDAV protokollaa.
# Ohjaa asiakkaan pyynnön http://pyynnönsaanutpalvelin/service/foo.txt
<IfModule mod_dav_fs.c>
# osoitteeseen http://foo2.bar.com/service/foo.txt
    # WebDAV lukitus tietokannan sijainti
    DAVLockDB /var/lib/dav/lockdb
</IfModule>


# ScriptAliakset ovat kuin aliakset mutta CGI-skriptejä varten
# Palvelimen generoimien listausten määritteet
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
IndexOptions FancyIndexing VersionSort NameWidth=*
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
# Oletuskuvake niille tiedoistoille joiden kuvaketta ei määritetty yllä
DefaultIcon /icons/unknown.gif
#AddDescription salli pienen selityksen liittämisen tiedostopäätteiden mukaan
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz


# ReadmeName liitetään listauksen loppuun ja HeaderName listauksen alkuun
ReadmeName README.html
HeaderName HEADER.html


# cgi-scriptien hakemisto ja määritteet
# IndexIgnore sisältää tiedostonimet, joita ei listata
<Directory "/var/www/cgi-bin">
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>


# Redirect määritteen avulla voit ohjata asiakkaan toisaalle
# DefaultLanguage ja AddLanguage mahdollistaa dokumentin kielen määrittämisen
# Esimerkki:
# jonka jälkeen sisältötarkastelun (content negotiation) avulla voit näyttää
# Redirect /service http://foo2.bar.com/service
# asiakkaalle dokumentin hänen selaimeensa määrittämällä kielellä.
# Ohjaa asiakkaan pyynnön http://pyynnönsaanutpalvelin/service/foo.txt
# Ohjeistusta monikielisten sivustojen hallintaan löytyy
# osoitteeseen http://foo2.bar.com/service/foo.txt
# osoitteesta http://www.cs.tut.fi/~jkorpela/multi/index-en.htm
# Oletuskielen määrittäminen
# DefaultLanguage nl
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
# Lisää tämä itse
AddLanguage fi .fi


# Palvelimen generoimien listausten määritteet
# Muuta kielien prioriteetin määrittävä LanguagePriority haluamaksesi
IndexOptions FancyIndexing VersionSort NameWidth=*
# Lisää alkuun halutessasi fi
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
LanguagePriority fi en
AddIconByType (TXT,/icons/text.gif) text/*
# ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN
AddIconByType (IMG,/icons/image2.gif) image/*
# zh-TW
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
# Oletuskuvake niille tiedoistoille joiden kuvaketta ei määritetty yllä
DefaultIcon /icons/unknown.gif
#AddDescription salli pienen selityksen liittämisen tiedostopäätteiden mukaan
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz


# ReadmeName liitetään listauksen loppuun ja HeaderName listauksen alkuun
# Jos halutunkielistä sivua ei löydy tai löytyy useita, niin
ReadmeName README.html
# Prefer hakee priorityjärjestyksestä ensimmäiseksi parhaan
HeaderName HEADER.html
# ja Fallback näyttää ensimmäisen languagepriority listasta
ForceLanguagePriority Prefer Fallback


# IndexIgnore sisältää tiedostonikmet, joita ei listata
# Oletusmerkistö
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddDefaultCharset UTF-8


# DefaultLanguage ja AddLanguage mahdollistaa dokumentin kielen määrittämisen
# AddType mahdollistaa MIME määritysten korvaamisen tietyille tiedostotyypeille
# jonka jälkeen sisältötarkastelun (content negotiation) avulla voit näyttää
#AddType application/x-tar .tgz
# asiakkaalle dokumentin hänen selaimeensa määrittämällä kielellä.
# Ohjeistusta monikielisten sivustojen hallintaan löytyy
# osoitteesta http://www.cs.tut.fi/~jkorpela/multi/index-en.htm
# Oletuskielen määrittäminen
# DefaultLanguage nl
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
# Lisää tämä itse
AddLanguage fi .fi


# Muuta kielien prioriteetin määrittävä LanguagePriority haluamaksesi
# AddEncoding mahdollistaa joidenkin selainten purkaa pakattu tiedosto lennossa
# Lisää alkuun halutessasi fi
#AddEncoding x-compress .Z
LanguagePriority fi en
#AddEncoding x-gzip .gz .tgz
# ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN
# zh-TW


# Jos halutunkielistä sivua ei löydy tai löytyy useita, niin
# Jos AddEncoding on kommentoituna kannattaa mediatyypit ilmaista
# Prefer hakee priorityjärjestyksestä ensimmäiseksi parhaan
AddType application/x-compress .Z
# ja Fallback näyttää ensimmäisen languagepriority listasta
AddType application/x-gzip .gz .tgz
ForceLanguagePriority Prefer Fallback


# Oletusmerkistö
# AddHandler mahdollistaa tiettyjen tiedostopäätteiden liittämisen
AddDefaultCharset UTF-8
# käsittelijöihin eli tiedostotyyppiin liittymättömiin tapahtumiin
# Käyttä CGI-skriptejä muualla kuin ScriptAliased merkityissä
# hakemistoissa (Sinun tulee myös lisästä "ExecCGI" "Options" määritteeseen)
#AddHandler cgi-script .cgi


# AddType mahdollistaa MIME määritysten korvaamisen tietyille tiedostotyypeille
# Tiedostoille, joilla on omat HTTP otsikot (headers).
#AddType application/x-tar .tgz
#AddHandler send-as-is asis


# AddEncoding mahdollistaa joidenkin selainten purkaa pakattu tiedosto lennossa
# Tyyppikartoille (.var):
#AddEncoding x-compress .Z
# (Oletuksena päälle, jotta Apachen oletussivu voidaan näyttää usealla kielellä)
#AddEncoding x-gzip .gz .tgz
AddHandler type-map var


# Jos AddEncoding on kommentoituna kannattaa mediatyypit ilmaista
# Filttereiden avulla voit käsitellä tiedoston ennen asiakkaalle lähettämistä
AddType application/x-compress .Z
# Filters allow you to process content before it is sent to the client.
AddType application/x-gzip .gz .tgz
# .shtml tiedostot vaativat myös "Includes" "Options" määritteeseen).
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml


# AddHandler mahdollistaa tiettyjen tiedostopäätteiden liittämisen
# Action mahdollistaa halutun CGI-skriptin suorittamisen tietyn tiedostotyypin
# käsittelijöihin eli tiedostotyyppiin liittymättömiin tapahtumiin
# yhteydessä
# Käyttä CGI-skriptejä muualla kuin ScriptAliased merkityissä
# Format: Action media/type /cgi-script/location
# hakemistoissa (Sinun tulee myös lisästä "ExecCGI" "Options" määritteeseen)
# Format: Action handler-name /cgi-script/location
#AddHandler cgi-script .cgi


# Tiedostoille, joilla on omat HTTP otsikot (headers).
# Mukautetut virheilmoitukset voivat tulla kolmessa muodossa:
#AddHandler send-as-is asis
# 1) pelkkä teksti 2) sisäinen ohjaus 3) ulkoinen ohjaus
# Esimerkit:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html


# Tyyppikartoille (.var):
# Edellisiä yhdistämällä voimme antaa virheilmoitukset asiakkaan kielellä.
  # (Oletuksena päälle, jotta Apachen oletussivu voidaan näyttää usealla kielellä)
# Alias ohjaa kaikki /error/HTTP_<error>.html.var vastaukset virheenmukaisiin
AddHandler type-map var
# monikielisiin kokoelmiin. Includes korvaa halutun tekstin.
# Voit muuttaa viestejä muuttamatta oletus HTTP_<error>.html.var tiedostoa
# lisäämällä rivin
# Alias /error/include/ "/oma/include/polku/"
# Jolloin voit luoda omia tiedostojasi kopioimalla /var/www/error/include/
# "/oma/include/polku/" hakemistoon.
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
  <Directory "/var/www/error">
      AllowOverride None
      Options IncludesNoExec
      AddOutputFilter Includes html
      AddHandler type-map var
      Order allow,deny
      Allow from all
      LanguagePriority en es de fr
      ForceLanguagePriority Prefer Fallback
  </Directory>


# Filttereiden avulla voit käsitellä tiedoston ennen asiakkaalle lähettämistä
#   ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# Filters allow you to process content before it is sent to the client.
#    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
# .shtml tiedostot vaativat myös "Includes" "Options" määritteeseen).
#    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
AddType text/html .shtml
#    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
AddOutputFilter INCLUDES .shtml
#    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
#    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
#    ErrorDocument 410 /error/HTTP_GONE.html.var
#    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
#    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
#    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
#    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
#    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
#   ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
#    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
#   ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
#    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
#    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var


# Action mahdollistaa halutun CGI-skriptin suorittamisen tietyn tiedostotyypin
</IfModule>
# yhteydessä
</IfModule>
# Format: Action media/type /cgi-script/location
# Format: Action handler-name /cgi-script/location


# Mukautetut virheilmoitukset voivat tulla kolmessa muodossa:
# Seuraavat määritteet korjaavat ongelmia tietyissä selaimissa
# 1) pelkkä teksti 2) sisäinen ohjaus 3) ulkoinen ohjaus
BrowserMatch "Mozilla/2" nokeepalive
# Esimerkit:
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
#ErrorDocument 500 "The server made a boo boo."
BrowserMatch "RealPlayer 4\.0" force-response-1.0
#ErrorDocument 404 /missing.html
BrowserMatch "Java/1\.0" force-response-1.0
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
BrowserMatch "JDK/1\.0" force-response-1.0
#ErrorDocument 402 http://www.example.com/subscription_info.html


# Edellisiä yhdistämällä voimme antaa virheilmoitukset asiakkaan kielellä.
# Korjataan non-GET pyyntöjä
# Alias ohjaa kaikki /error/HTTP_<error>.html.var vastaukset virheenmukaisiin
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
# monikielisiin kokoelmiin. Includes korvaa halutun tekstin.
BrowserMatch "^WebDrive" redirect-carefully
# Voit muuttaa viestejä muuttamatta oletus  HTTP_<error>.html.var tiedostoa
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
# lisäämällä rivin
BrowserMatch "^gnome-vfs" redirect-carefully
# Alias /error/include/ "/oma/include/polku/"
# Jolloin voit luoda omia tiedostojasi kopioimalla /var/www/error/include/
# "/oma/include/polku/" hakemistoon.
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    <Directory "/var/www/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>


#   ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# Mahdollistetaan mod_status-moduulin luoda palvelintilaraportteja
#   ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
#<Location /server-status>
#    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
#    SetHandler server-status
#    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
#    Order deny,allow
#    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
#    Deny from all
#    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
#    Allow from .example.com
#   ErrorDocument 410 /error/HTTP_GONE.html.var
#</Location>
#    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
#    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
#    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
#    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
#    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
#    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
#    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
#    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
#    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
#    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var


</IfModule>
# Mahdollistaa etäpalvelimen määritysrapotteja
</IfModule>
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>


# Seuraavat määritteet korjaavat ongelmia tietyissä selaimissa
# Proxypalvelimen määritteet. Poista risuaidat mahdollistaaksesi Proxyn.
BrowserMatch "Mozilla/2" nokeepalive
#<IfModule mod_proxy.c>
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
#ProxyRequests On
BrowserMatch "RealPlayer 4\.0" force-response-1.0
#
BrowserMatch "Java/1\.0" force-response-1.0
#<Proxy *>
BrowserMatch "JDK/1\.0" force-response-1.0
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Proxy>


# Korjataan non-GET pyyntöjä
# Proxyn HTTP/1.1 "Via:" headers -käsittely.
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
# "Full" lisää palvelinversion, "Block" poistaa kaikki Via: headers:it)
BrowserMatch "^WebDrive" redirect-carefully
# Valitse Off | On | Full | Block
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
#ProxyVia On
BrowserMatch "^gnome-vfs" redirect-carefully


# Mahdollistetaan mod_status modulin luoda palvelintilaraportteja
# Proxyn cachen mahdollistaminen
#<Location /server-status>
# Lisätietoa https://httpd.apache.org/docs-2.0/mod/mod_cache.html
#   SetHandler server-status
#<IfModule mod_disk_cache.c>
#   Order deny,allow
#   CacheEnable disk /
#   Deny from all
#   CacheRoot "/var/cache/mod_proxy"
#   Allow from .example.com
#</IfModule>
#</Location>
#</IfModule>
# Proxy määritteiden loppu


# Mahdollistaa etäpalvelimen määritysrapotteja
# 3: Virtuaali-isännät
#<Location /server-info>
# Mikäli palvelimellasi on useita domainnimiä tarvitset näitä.
#   SetHandler server-info
# Poista risuaita ottaaksesi virtuaali-isännät käyttöön
#    Order deny,allow
# NameVirtualHost *:80
#    Deny from all
#    Allow from .example.com
#</Location>


# Proxypalvelimen määritteet. Poista risuaidat mahdollistaaksesi Proxyn.
# HUOM: NameVirtualHost täytyy sisältää portin, jos mod_ssl käytössä
#<IfModule mod_proxy.c>
# VirtualHost sisältöpohja:
#ProxyRequests On
# Lähes mikä tahansa määritettä voidaan käyttää Virtuaali-isännän sisällössä
#
# Sisältöpohja on tarkoitettu niille pyynnöille joiden palvelinnimeä ei
#<Proxy *>
# tunnisteta.
#    Order deny,allow
#<VirtualHost *:80>
#    Deny from all
#    ServerAdmin webmaster@dummy-host.example.com
#    Allow from .example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#</Proxy>
#    ServerName dummy-host.example.com
#   ErrorLog logs/dummy-host.example.com-error_log
# Proxyn HTTP/1.1 "Via:" headers käsittely.
#   CustomLog logs/dummy-host.example.com-access_log common
# "Full" lisää palvelinversion, "Block" poistaa kaikki Via: headers:it)
#</VirtualHost>
# Valitse Off | On | Full | Block
#ProxyVia On


# Proxyn cachen mahdollistaminen
</source>
# Lisätietoa http://httpd.apache.org/docs-2.0/mod/mod_cache.html
#<IfModule mod_disk_cache.c>
#  CacheEnable disk /
#  CacheRoot "/var/cache/mod_proxy"
#</IfModule>
#</IfModule>
# Proxy määritteiden loppu


# 3: Virtuaali-isännät
== Katso myös ==
# Mikäli palvelimellasi on useita domainnimiä tarvitset näitä.
*[[Apache-harjoituksia]]
# Poista risuaita ottaaksesi virtuaali-isännät käyttöön
# NameVirtualHost *:80
 
# HUOM: NameVirtualHost täytyy sisältää portin, jos mod_ssl käytössä
# VirtualHost sisältöpohja:
# Lähes mikä tahansa määritettä voidaan käyttää Virtuaali-isännän sisällössä
# Sisältöpohja on tarkoitettu niille pyynnöille joiden palvelinnimeä ei
# tunnisteta.
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>


[[Luokka:Apache]]
[[Luokka:Apache]]
[[Luokka:Opetusmateriaalit]]

Nykyinen versio 9. joulukuuta 2020 kello 10.29

Apache HTTPD on ylivoimaisesti käytetyin www-palvelin, joka mukautuu helposti haluamiisi tarpeisiin. Apache HTTPD löytyy myös Windows-alustalle.

Apachen määritykset ovat asetustiedostossa /etc/httpd/conf/httpd.conf tai /etc/apache2/httpd.conf. Kyseinen tiedosto sisältää runsaasti kommentteja, joiden avulla on helppo päästä alkuun Apachen hallinnassa. Lisätietoja löytyy Apachen ohjeista. Alla on pyritty suomentamaan ja selkeyttämään ohjeita. Ohjeistus on tehty kommenttimuotoon Apachen asetustiedostoon, jolloin voit halutessasi siirtää sen sellaisenaan oman asetustiedostosi pohjaksi.

# Piilottaa käynnissä olevat moduulit näkymästä maailmalle
ServerTokens OS

# Palvelimen juurihakemisto, mistä löytyvät asetus-, loki- ja
# virhetiedostot.
ServerRoot "/etc/httpd"

# Tiedosto, joka sisältää HTTPD:n käynnistyessään saaman prosessinumeron
PidFile run/httpd.pid

# Aika sekunneissa kauanko palvelin odottaa vastausta pyyntöön
# Pyyntö voi olla
# GET
# POST- / PUT-pyyntöjen välinen TCP-pakettien aika
# TCP-pakettien kättelyjen (ACK) välinen aika
Timeout 120

# Sallitaanko jatkuva yhteys (enemmän kuin yksi pyyntö / yhteys)
# Nopeuttaa staattisten sivujen käsittelyä, oletuksena pois päältä
KeepAlive Off

# Jos edellinen käytössä, niin montako kyselyä samaan yhteyteen
MaxKeepAliveRequests 100

# Montako sekuntia odotetaan pyyntöä samasta yhteydestä ennen sen
# sulkemista. Ruuhkaisilla palvelimilla ei kannata odottaa liian kauaa
KeepAliveTimeout 15

# prefork MPM on oletus, worker MPM pitää määrittää asennuksessa erikseen
# StartServers: montako palvelinprosessia käynnistetään
# MinSpareServers: minimimäärä varapalvelinprosesseja
# MaxSpareServers: maksimimäärä varapalvelinprosesseja
# ServerLimit: Maxclients muuttujan maksimimäärä (Älä muuta)
# MaxClients: Käynnistettävien serveriprosessien maksimimäärä
# MaxRequestsPerChild: palvelinprosessin tarjoamien pyyntöjen
# maksimimäärä
<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

# worker MPM
<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75 
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

# Jos haluat Apachen kuuntelevan vain tiettyä Ip-osoitetta ja/tai porttia
# Portti 80 on http:n oletusportti
#Listen 12.34.56.78:80
Listen 80

# Dynamic Shared Object (DSO) Support (Linkkikirjastojen tuki)
# Lisätietoja: https://httpd.apache.org/docs/2.0/mod/
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule auth_anon_module modules/mod_auth_anon.so
LoadModule auth_dbm_module modules/mod_auth_dbm.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule auth_ldap_module modules/mod_auth_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so

# Lataa määritystiedostot hakemistosta "/etc/httpd/conf.d".
Include conf.d/*.conf

# ExtendedStatus määrittää luoko Apache täyden vai perustilainformaation
# kun "server-status" käsittelijää kutsutaan. Oletuksena Off.
#ExtendedStatus On

# httpd-käyttäjä ja -käyttäjäryhmä
User apache
Group apache

### 2: "Pääpalvelimen" määritykset
# Kaikkia näitä määrityksiä voi käyttää virtuaalipalvelimissa,
# jolloin ne korvaavat tässä esitetyt

# Mihin osoitteeseen virheet tulee postitttaa
ServerAdmin root@localhost

# Servername määrittää nimen ja portin, jolla palvelin tunnistaa itsensä.
# Jollei palvelimen nimi ole rekisteröity, niin laita tähän ip-osoite
# Tällöin uudelleenohjaukset toimivat varmemmin
#ServerName www.example.com:80

# UseCanonicalName määrittää kuinka Apache luo itseensä viittaavat URL:t. 
# sekä SERVER_NAME ja SERVER_PORT muuttujat.
# "Off", Apache käyttää asiakkaalta tulevaa Hostname ja Port arvoa
# "On", Apache käyttää ServerName määritettä (yllä)
# Esimerkki:
# Käyttäjät kirjautuvat sisäverkon www-palvelimeen lyhennetyllä nimellä 
# kuten www. Mikäli URL sisältää myös hakemiston esim. http://www/splat
# ilman lopussa olevaa kauttaviivaa, niin Apache ohjaa osoitteeseen
# http://www.example.com/splat/. Tämä tuottaa autentikoinnin tapauksessa
# sen, että käyttäjän tarvitsee kirjautua kahdesti (kerran www ja kerran
# www.example.com). Mutta jos UseCanonicalName on "Off", niin Apache 
# ohjaa oikeaan osoitteeseen http://www/splat/.
UseCanonicalName Off

# DocumentRoot: oletushakemisto sivustoille
DocumentRoot "/var/www/html"

# Jokaiseen hakemistoon johon Apachella on pääsy voidaan määrittää
# palvelut ja ominaisuudet jotka sallitaan / kielletään kyseisessä
# hakemistossa ja sen alihakemistoissa
# Oletukseksi määritetään hyvin rajoitetut ominaisuudet 
<Directory />
   Options FollowSymLinks
   AllowOverride None
</Directory>

# Tästä eteenpäin sinun tulee erityisesti sallia (enable) tietyt
# ominaisuudet
# Vaihda myös tämä, jos vaihdat DocumentRoot määritettä (yllä).
<Directory "/var/www/html">

# Mahdollisia arvoja Options määritteelle ovat "None", "All",
# tai mikä tahansa yhdistelmä seuraavista
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# Huomaa että "MultiViews" täytyy määrittää erikseen se ei tule 
# "Options All" mukana
# Arvojen selitykset 
# (https://httpd.apache.org/docs-2.0/mod/core.html#options):

# Indexes - Jos annettu pelkkä hakemisto ja sieltä puuttuu DirectoryIndex
# kohdassa määritetyn niminen tiedosto, niin mod_autoindex moduli luo
# asiakkaalle kyseisen hakemiston listauksen.

# Includes - mod_includen mukanaan tuomat Server-side includes (shtml)
# sallitaan

# FollowSymLinks- Palvelin seuraa symbolisia linkkejä

# SymLinksifOwnerMatch - Palvelin seuraa symbolisia linkkejä vain jos
# kohdetiedoston tai -hakemiston omistaa sama käyttäjäid kuin linkin
# ExecCGI - CGI skriptien käyttö mod_cgi:n avulla sallittu

# MultiViews - jos palvelin saa kyselyn /some/dir/foo, 
# ja kyseisessä hakemistossa (/some/dir) on MultiViews käytössä
# ja /some/dir/foo ei ole olemassa, niin palvelin etsii hakemistosta
# kaikki tiedostot nimeltä foo.* ja luo tilapäisen "type map"in ja
# valitsee niistä parhaan asiakkaan vaatimuksiin
   
Options Indexes FollowSymLinks

# AllowOverride kontrolloi .htaccess tiedostoihin laitettavat
# määritetteet. Se voi olla "All", "None" tai mikä tahansa 
# yhdistelmä seuraavista:
# Options FileInfo AuthConfig Limit
# Lisätietoa autentikoinnista:
# https://httpd.apache.org/docs/2.0/howto/auth.html

# None - .htaccess-tiedostot jätetään huomioitta

# AuthConfig - Sallii lupamääritteiden käytön
# Lupamääritteitä voivat olla:
# - AuthDBMGroupFile - Käyttäjäryhmien nimet sisältävä DBM-tiedosto.
# Käyttää mod_auth_dbm-moduulia, joka tarjoaa perusautentikoinnin, missä
# käyttäjänimet ja salasanat tallennetaan DBM-tyyppiseen tietokantaan
# toisin kuin mod_auth-moduuli, joka käyttää tekstitiedostoja.
# Lisää DBM-tiedostoista ja niiden luonnista:
# http://www.apacheweek.com/features/dbmauth
# - AuthDBMUserFile - Käyttäjien nimet ja salasanat sisältävä DBM-
# tiedosto
# - AuthGroupFile - Käyttäjäryhmät sisältävä tekstitiedosto
# - AuthName - Salasanaa pyytävän ikkunan Title-osan teksti
# - AuthType - Hakemiston autentikointitapa, joka voi olla joko Basic
# tai Digest. Digest lähettää tiedon suojattuna (toisin kuin Basic),
# mutta toimii vain tietyillä selaimilla, lisätietoja Digest tavan
# käytöstä löydät osoitteesta:
# https://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html

# AuthUserFile - Käyttäjien nimet ja salasanat sisältävän 
# tekstitiedoston nimi

# Require - Määrittää ketkä autentikoidut käyttäjät pääsevät resurssiin

# Esimerkki:
# AuthType Basic
# AuthName "Restricted Resource"
# AuthUserFile /web/users
# AuthGroupFile /web/groups
# Require group admin
AllowOverride None

# Määritetään kenellä on oikeus palvelimelle
# Order määrittää allow ja deny määritteiden järjestyksen
# Määritteet (ja niihin alla määritetyt tiedot) luetaan annetussa
# järjestyksessä. Näin ollen jälkimmäisenä annettu määrite päättää
# oletuskäytännön (Allow,Deny -> Oletuksena kaikilta kielletty).

# Esim. (päästää vain Apache.org-domainiin kuuluvat koneet, 
# muut kielletään):
# Order Deny,Allow
# Deny from all
# Allow from apache.org

# Esim. (Päästää vain apache.org-domainiin kuuluvat, oletuksena kielto)
# Order Allow,Deny
# Allow from apache.org
# Deny from foo.apache.org

# Esim. (Päästää kaikki, koska oletuksena vapaa pääsy, huomaa järjestys)
# Order Deny,Allow
# Allow from apache.org
# Deny from foo.apache.org

# Edellä olevat esimerkit tarkemmin:
# https://httpd.apache.org/docs/2.0/mod/mod_access.html#order

# Allow määritteellä annetaan ne koneet, joilla on oikeus palvelimelle
# Pääsyä voidaan kontrolloida IP-osoitteella, -alueella tai muilla
# ympäristömuuttujista saatavalla tiedolla. Ympäristö muuttujien käytöstä
# löydät tietoja ja esimerkkejä mm. seuraavista osoitteista:
# https://httpd.apache.org/docs/2.0/mod/mod_access.html#allow
# https://httpd.apache.org/docs/2.0/mod/mod_setenvif.html
# https://httpd.apache.org/docs/2.0/env.html
# http://www.serverwatch.com/tutorials/article.php/1132731
# Esimerkkejä:
# Allow from apache.org
# Allow from .net example.edu
# Allow from 10.1.2.3
# Allow from 192.168.1.104 192.168.1.205
# Allow from 10.1
# Allow from 10 172.20 192.168.2
# Allow from 10.1.0.0/255.255.0.0
# Allow from 10.1.0.0/16 
# Allow from 2001:db8::a00:20ff:fea7:ccea
# Allow from 2001:db8::a00:20ff:fea7:ccea/10

Order allow,deny
Allow from all

# Lopettaa oletushakemiston (/var/www/html) oikeuksien käsittelyn
</Directory>
# UserDir on hakemiston nimi, josta käyttäjän kotihakemistossa
# sijaitsevat www-sivut haetaan ~käyttäjänimi haulla.
# Käyttäjän kotihakemiston oikeuksiksi (/home/userid) tulee muuttaa 711
# ja /home/userid/public_html oikeudet tulee olla 755,
# Muuten asiakas ei pääse hakemistoon ja saa "403 Forbidden"-ilmoituksen.

<IfModule mod_userdir.c>
# Ottaaksesi käyttäjien kotihakemistojen alla olevat www-sivut käyttöön
# kommentoi seuraava rivi
   UserDir disable
# ja poista risuaita seuraavan edestä
       #UserDir public_html
</IfModule>

# Halutessasi laittaa määritteet kaikkien käyttäjien www-hakemistoihin
# käytä /home/*/public_html polkua
# Esimerkki:
# <Directory /home/*/public_html>
# AllowOverride AuthConfig
# </Directory>

# DirectoryIndex: Minkä nimisiä tiedostoja haetaan, jos vain hakemisto
# annettu. Yleensä tähän lisätään mm. index.htm, index.php,
# index.php3, default.htm, default.html jne.
DirectoryIndex index.html index.html.var

# AccessFileName tiedoston nimi
AccessFileName .htaccess

# Seuraavat rivit estävät .htaccess ja .htpasswd tiedostoja näkymästä
# asiakkaille (vain Apache näkee ne oikeutta tarkistaessaan)
<Files ~ "^\.ht">
   Order allow,deny
   Deny from all
</Files>

# mime.type-tiedoston sijainti
TypesConfig /etc/mime.types

# Oletus MIME-tyyppi. Perus-HTML sivustoille oikea valinta on text/plain 
# Sovelluksille tai pääasiallisesti kuville
# "application/octet-stream" voi olla parempi vaihtoehto
DefaultType text/plain

# MIME-tyypin tunnistukseen käytettävän MIMEMagicFile-tiedoston sijainti
<IfModule mod_mime_magic.c>
#   MIMEMagicFile /usr/share/magic.mime
   MIMEMagicFile conf/magic
</IfModule>

# Tallennetaanko lokeihin asiakkaiden nimet vai pelkät IP-osoitteet
# esim. www.apache.org (on) tai 204.62.129.132 (off).
HostnameLookups Off

# EnableMMAP lukee tiedoston muistiinsa voidakseen prosessoida ne ennen
# lähetystä asiakkaalle. Tämä on olennaista palvelimen päässä
# käsiteltäville tiedostoille kuten .shtml. Oletuksena päällä.
# Lisätietoja: https://httpd.apache.org/docs/2.0/mod/core.html#enablemmap
#EnableMMAP off

# EnableSendfile määritteen ollessa päällä Apache näyttää staattisen
# tiedoston asiakkaalle käsittelemättä sitä ensin. Päällä oletuksena.
# Lisätietoa https://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
#EnableSendfile off

# ErrorLog: Virhelogitiedoston sijainti
ErrorLog logs/error_log

# LogLevel: Virhelogitiedostoon tallennettavien viestien taso.
# Mahdollisia arvoja: debug, info, notice, warn, error, crit, 
# alert, emerg.
# Tarkemmin: https://httpd.apache.org/docs/2.0/mod/core.html#loglevel
LogLevel warn
# Palvelimelle kohdistuneet pyynnöt taltioidaan CustomLog määritteen
# mukaisesti.
# Login tiedot voidaan määrittää ympäristömuuttujien avulla.
# Login muotoiluun vaikuttavia rivejä
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# mod_logio moduulin ollessa ladattuna voi käyttää combinedio muotoilua, 
# joka sisältää todellisten lähetettyjen ja saatujen tavujen lukumäärän.
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

# Tavallisen käyttölogin (access logfile) sijainti ja tyyppi.
# Oletuksena käyttöön otetaan combined tyyppi, jossa logitiedot yhdistetty
#CustomLog logs/access_log common
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
CustomLog logs/access_log combined

# Voit lisätä logiin tiedon, joka sisältää palvelimen version, virtuaali-isännän
# nimen palvelimen generoimiin sivuihin (virhesivut, ftp-listaukset jne).
# Vaihtoehto "EMail" sisältää myös sähköpostin lähetyksen ServerAdminille.
# Valitse joku seuraavista kolmesta:  On | Off | EMail
ServerSignature On

# Lisää tässä kohdin niin monta aliasnimeä kuin haluat muodossa 
# Alias fakename realname
# Esimerkki: 
# Alias /image /ftp/pub/image
# Jolloin pyyntö http://myserver/image/foo.gif palauttaa tiedoston
# /ftp/pub/image/foo.gif, jonka siis ei tarvitse olla /var/www/html/ alla.
# /icons/ alias FancyIndexeding toimintoa varten on oletuksena käytössä.
# FancyIndexing tarkoittaa tapaa tehdä hakemistolistaus niin, että se muodostuu
# eri sarakkeista ikonille, tiedostonimelle (Name), tiedoston muutosajalle 
# (Last modified), tiedostokoolle (Size) ja kuvaukselle (Description). 
# Mikäli FancyIndexing on poissa päältä, hakemistolistaus on tavallinen
# järjestämätön lista.
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
   Options Indexes MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

# WebDAV module configuration section.
# WebDAV on www-sivujen etähallintaan tarkoitettu standardi. 
# Esimerkiksi WebDev, joka on php:llä toteutettu sivustonhallintasovellus,
# tukee WebDAV-protokollaa.
<IfModule mod_dav_fs.c>
   # WebDAV-lukitustietokannan sijainti
   DAVLockDB /var/lib/dav/lockdb
</IfModule>

# ScriptAliakset ovat kuin aliakset mutta CGI-skriptejä varten
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"


# cgi-scriptien hakemisto ja määritteet
<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options None
   Order allow,deny
   Allow from all
</Directory>

# Redirect määritteen avulla voit ohjata asiakkaan toisaalle
# Esimerkki:
# Redirect /service http://foo2.bar.com/service
# Ohjaa asiakkaan pyynnön http://pyynnönsaanutpalvelin/service/foo.txt
# osoitteeseen http://foo2.bar.com/service/foo.txt

# Palvelimen generoimien listausten määritteet
IndexOptions FancyIndexing VersionSort NameWidth=*
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
# Oletuskuvake niille tiedoistoille joiden kuvaketta ei määritetty yllä
DefaultIcon /icons/unknown.gif
#AddDescription salli pienen selityksen liittämisen tiedostopäätteiden mukaan
#AddDescription "GZIP compressed document" .gz
#AddDescription "tar archive" .tar
#AddDescription "GZIP compressed tar archive" .tgz

# ReadmeName liitetään listauksen loppuun ja HeaderName listauksen alkuun
ReadmeName README.html
HeaderName HEADER.html

# IndexIgnore sisältää tiedostonimet, joita ei listata
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

# DefaultLanguage ja AddLanguage mahdollistaa dokumentin kielen määrittämisen
# jonka jälkeen sisältötarkastelun (content negotiation) avulla voit näyttää
# asiakkaalle dokumentin hänen selaimeensa määrittämällä kielellä.
# Ohjeistusta monikielisten sivustojen hallintaan löytyy
# osoitteesta http://www.cs.tut.fi/~jkorpela/multi/index-en.htm
# Oletuskielen määrittäminen
# DefaultLanguage nl
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
# Lisää tämä itse
AddLanguage fi .fi

# Muuta kielien prioriteetin määrittävä LanguagePriority haluamaksesi
# Lisää alkuun halutessasi fi
LanguagePriority fi en 
# ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN
# zh-TW

# Jos halutunkielistä sivua ei löydy tai löytyy useita, niin 
# Prefer hakee priorityjärjestyksestä ensimmäiseksi parhaan
# ja Fallback näyttää ensimmäisen languagepriority listasta
ForceLanguagePriority Prefer Fallback

# Oletusmerkistö
AddDefaultCharset UTF-8

# AddType mahdollistaa MIME määritysten korvaamisen tietyille tiedostotyypeille
#AddType application/x-tar .tgz

# AddEncoding mahdollistaa joidenkin selainten purkaa pakattu tiedosto lennossa
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz

# Jos AddEncoding on kommentoituna kannattaa mediatyypit ilmaista
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

# AddHandler mahdollistaa tiettyjen tiedostopäätteiden liittämisen
# käsittelijöihin eli tiedostotyyppiin liittymättömiin tapahtumiin
# Käyttä CGI-skriptejä muualla kuin ScriptAliased merkityissä
# hakemistoissa (Sinun tulee myös lisästä "ExecCGI" "Options" määritteeseen)
#AddHandler cgi-script .cgi

# Tiedostoille, joilla on omat HTTP otsikot (headers).
#AddHandler send-as-is asis

# Tyyppikartoille (.var):
# (Oletuksena päälle, jotta Apachen oletussivu voidaan näyttää usealla kielellä)
AddHandler type-map var

# Filttereiden avulla voit käsitellä tiedoston ennen asiakkaalle lähettämistä
# Filters allow you to process content before it is sent to the client.
# .shtml tiedostot vaativat myös "Includes" "Options" määritteeseen).
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

# Action mahdollistaa halutun CGI-skriptin suorittamisen tietyn tiedostotyypin
# yhteydessä
# Format: Action media/type /cgi-script/location
# Format: Action handler-name /cgi-script/location

# Mukautetut virheilmoitukset voivat tulla kolmessa muodossa:
# 1) pelkkä teksti 2) sisäinen ohjaus 3) ulkoinen ohjaus
# Esimerkit:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html

# Edellisiä yhdistämällä voimme antaa virheilmoitukset asiakkaan kielellä.
# Alias ohjaa kaikki /error/HTTP_<error>.html.var vastaukset virheenmukaisiin
# monikielisiin kokoelmiin. Includes korvaa halutun tekstin.
# Voit muuttaa viestejä muuttamatta oletus  HTTP_<error>.html.var tiedostoa
# lisäämällä rivin
# Alias /error/include/ "/oma/include/polku/"
# Jolloin voit luoda omia tiedostojasi kopioimalla /var/www/error/include/ 
# "/oma/include/polku/" hakemistoon.
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
   <Directory "/var/www/error">
       AllowOverride None
       Options IncludesNoExec
       AddOutputFilter Includes html
       AddHandler type-map var
       Order allow,deny
       Allow from all
       LanguagePriority en es de fr
       ForceLanguagePriority Prefer Fallback
   </Directory>

#    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
#    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
#    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
#    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
#    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
#    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
#    ErrorDocument 410 /error/HTTP_GONE.html.var
#    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
#    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
#    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
#    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
#    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
#    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
#    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
#    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
#    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
#    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

</IfModule>
</IfModule>

# Seuraavat määritteet korjaavat ongelmia tietyissä selaimissa
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0 

# Korjataan non-GET pyyntöjä
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

# Mahdollistetaan mod_status-moduulin luoda palvelintilaraportteja
#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

# Mahdollistaa etäpalvelimen määritysrapotteja
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Location>

# Proxypalvelimen määritteet. Poista risuaidat mahdollistaaksesi Proxyn.
#<IfModule mod_proxy.c>
#ProxyRequests On
#
#<Proxy *>
#    Order deny,allow
#    Deny from all
#    Allow from .example.com
#</Proxy>

# Proxyn HTTP/1.1 "Via:" headers -käsittely.
# "Full" lisää palvelinversion, "Block" poistaa kaikki Via: headers:it)
# Valitse Off | On | Full | Block
#ProxyVia On

# Proxyn cachen mahdollistaminen
# Lisätietoa https://httpd.apache.org/docs-2.0/mod/mod_cache.html
#<IfModule mod_disk_cache.c>
#   CacheEnable disk /
#   CacheRoot "/var/cache/mod_proxy"
#</IfModule>
#</IfModule>
# Proxy määritteiden loppu

# 3: Virtuaali-isännät
# Mikäli palvelimellasi on useita domainnimiä tarvitset näitä.
# Poista risuaita ottaaksesi virtuaali-isännät käyttöön
# NameVirtualHost *:80

# HUOM: NameVirtualHost täytyy sisältää portin, jos mod_ssl käytössä
# VirtualHost sisältöpohja:
# Lähes mikä tahansa määritettä voidaan käyttää Virtuaali-isännän sisällössä
# Sisältöpohja on tarkoitettu niille pyynnöille joiden palvelinnimeä ei
# tunnisteta.
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Katso myös[muokkaa]