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

Linux.fista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
 
Ei muokkausyhteenvetoa
Rivi 5: Rivi 5:
Apachen määritykset ovat tiedostossa /etc/httpd/conf/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 www-saitilta (http://httpd.apache.org/docs-2.0/). Alla on pyritty suomentamaan ja selkeyttämään dokumenttia. Kyseinen ohjeistus on tehty kommenttimuotoon, jolloin voit halutessasi siirtää sen sellaisenaan omien konfiguraatioidesi pohjaksi.
Apachen määritykset ovat tiedostossa /etc/httpd/conf/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 www-saitilta (http://httpd.apache.org/docs-2.0/). Alla on pyritty suomentamaan ja selkeyttämään dokumenttia. Kyseinen ohjeistus on tehty kommenttimuotoon, jolloin voit halutessasi siirtää sen sellaisenaan omien konfiguraatioidesi pohjaksi.


# Tarkemmat ohjeet <URL:http://httpd.apache.org/docs-2.0/>  
# Tarkemmat ohjeet <URL:http://httpd.apache.org/docs-2.0/>  


# Määritykset jaettu kolmeen perustyyppiin
# Määritykset jaettu kolmeen perustyyppiin
#  1. Määritykset, jotka koskettavat Apache palvelimen prosesseja
#  1. Määritykset, jotka koskettavat Apache palvelimen prosesseja
# kokonaisuudessaan (globaali ympäristö)
# kokonaisuudessaan (globaali ympäristö)
#  2. Määritykset, jotka koskettavat Apache palvelimen pääsivustoa  
#  2. Määritykset, jotka koskettavat Apache palvelimen pääsivustoa  
# (main/default server) eli vastaa niistä määrityksistä, joita ei ole
# (main/default server) eli vastaa niistä määrityksistä, joita ei ole
# erikseen määritetty virtuaalipalvelimille. Nämä määritykset antavat
# erikseen määritetty virtuaalipalvelimille. Nämä määritykset antavat
# myös perusasetukset virtuaalipalvelimille.
# myös perusasetukset virtuaalipalvelimille.
#  3. Virtuaalipalvelinten määritykset
#  3. Virtuaalipalvelinten määritykset


### 1: globaali ymp.
### 1: globaali ymp.


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


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


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


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


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


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


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


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


# worker MPM
# worker MPM
<IfModule worker.c>
<IfModule worker.c>
StartServers        2
StartServers        2
Rivi 73: Rivi 73:
</IfModule>
</IfModule>


# Jos haluat Apachen kuuntelevan vain tiettyä Ip-osoitetta ja/tai porttia
# Jos haluat Apachen kuuntelevan vain tiettyä Ip-osoitetta ja/tai porttia
#Listen 12.34.56.78:80
#Listen 12.34.56.78:80
Listen 80
Listen 80


# Dynamic Shared Object (DSO) Support (Linkkikirjastojen tuki)
# Dynamic Shared Object (DSO) Support (Linkkikirjastojen tuki)
# Lisätietoja: http://httpd.apache.org/docs/2.0/mod/
# Lisätietoja: http://httpd.apache.org/docs/2.0/mod/
LoadModule access_module modules/mod_access.so
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule auth_module modules/mod_auth.so

Versio 13. tammikuuta 2006 kello 16.38

Kyseessä on OPEKO:n kurssille (30-31.1.2006 / Timo Kapanen) tehtyä materiaalia, josta on poistettu kuvat ja muita vain kurssille kuuluvaa materiaalia.

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 tiedostossa /etc/httpd/conf/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 www-saitilta (http://httpd.apache.org/docs-2.0/). Alla on pyritty suomentamaan ja selkeyttämään dokumenttia. Kyseinen ohjeistus on tehty kommenttimuotoon, jolloin voit halutessasi siirtää sen sellaisenaan omien konfiguraatioidesi pohjaksi.

# Tarkemmat ohjeet <URL:http://httpd.apache.org/docs-2.0/> 
# Määritykset jaettu kolmeen perustyyppiin
#  1. Määritykset, jotka koskettavat Apache palvelimen prosesseja
#	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.
# Piilottaa käynnissä olevat modulit näkymästä maailmalle

ServerTokens OS

# Palvelimen juurihakemisto, mistä löytyvät konfiguraatio-, logi- 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

KeepAlive Off

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

MaxKeepAliveRequests 100

# Montako sekunttia 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
#Listen 12.34.56.78:80

Listen 80

# Dynamic Shared Object (DSO) Support (Linkkikirjastojen tuki)
# Lisätietoja: http://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

  1. Lataa määritystiedostot hakemistosta "/etc/httpd/conf.d".

Include conf.d/*.conf

  1. ExtendedStatus määrittää luoko Apache täyden vai perustilainformaation
  2. kun "server-status" käsittelijää kutsutaan. Oletuksena Off.
  3. ExtendedStatus On
  1. httpd käyttäjä ja käyttäjäryhmä

User apache Group apache

      1. 2: "Pääpalvelimen" määritykset
  1. Kaikkia näitä määrityksiä voi käyttää virtuaalipalvelimissa,
  2. jolloin ne korvaavat tässä esitetyt
  1. Mihin osoitteeseen virheet tulee postitttaa

ServerAdmin root@localhost

  1. Servername määrittää nimen ja portin, jolla palvelin tunnistaa itsensä.
  2. Jollei palvelimen nimi ole rekisteröity, niin laita tähän ip-osoite
  3. Tällöin uudelleenohjaukset toimivat varmemmin
  4. ServerName www.example.com:80
  1. UseCanonicalName määrittää kuinka Apache luo itseensä viittaavat URL:t.
  2. sekä SERVER_NAME ja SERVER_PORT muuttujat.
  3. "Off", Apache käyttää asiakkaalta tulevaa Hostname ja Port arvoa
  4. "On", Apache käyttää ServerName määritettä (yllä)
  5. Esimerkki:
  6. Käyttäjät kirjautuvat sisäverkon www-palvelimeen lyhennetyllä nimellä
  7. kuten www. Mikäli URL sisältää myös hakemiston esim. http://www/splat
  8. ilman lopussa olevaa kauttaviivaa, niin Apache ohjaa osoitteeseen
  9. http://www.example.com/splat/. Tämä tuottaa autentikoinnin tapauksessa
  10. sen, että käyttäjän tarvitsee kirjautua kahdesti (kerran www ja kerran
  11. www.example.com). Mutta jos UseCanonicalName on "Off", niin Apache
  12. ohjaa oikeaan osoitteeseen http://www/splat/.

UseCanonicalName Off

  1. DocumentRoot: oletushakemisto sivustoille

DocumentRoot "/var/www/html"

  1. Jokaiseen hakemistoon (johon Apachella on pääsy) voidaan määrittää
  2. palvelut ja ominaisuudet jotka sallitaan / kielletään kyseisessä
  3. hakemistossa ja sen alihakemistoissa
  4. Oletukseksi määritetään hyvin rajoitetut ominaisuudet

<Directory />

   Options FollowSymLinks
   AllowOverride None

</Directory>

  1. Tästä eteenpäin sinun tulee erityisesti sallia (enable) tietyt
  2. ominaisuudet
  3. Vaihda myös tämä, jos vaihdat DocumentRoot määritettä (yllä).

<Directory "/var/www/html">

  1. Mahdollisia arvoja Options määritteelle ovat "None", "All",
  2. tai mikä tahansa yhdistelmä seuraavista
  3. Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
  4. Huomaa että "MultiViews" täytyy määrittää erikseen se ei tule
  5. "Options All" mukana
  6. Arvojen selitykset
  7. (http://httpd.apache.org/docs-2.0/mod/core.html#options):
  1. Indexes - Jos annettu pelkkä hakemisto ja sieltä puuttuu DirectoryIndex
  2. kohdassa määritetyn niminen tiedosto, niin mod_autoindex moduli luo
  3. asiakkaalle kyseisen hakemiston listauksen.
  1. Includes - mod_includen mukanaan tuomat Server-side includes (shtml)
  2. sallitaan
  1. FollowSymLinks- Palvelin seuraa symbolisia linkkejä
  1. SymLinksifOwnerMatch - Palvelin seuraa symbolisia linkkejä vain jos
  2. kohdetiedoston tai -hakemiston omistaa sama käyttäjäid kuin linkin
  3. ExecCGI - CGI skriptien käyttö mod_cgi:n avulla sallittu
  1. MultiViews - jos palvelin saa kyselyn /some/dir/foo,
  2. ja kyseisessä hakemistossa (/some/dir) on MultiViews käytössä
  3. ja /some/dir/foo ei ole olemassa, niin palvelin etsii hakemistosta
  4. kaikki tiedostot nimeltä foo.* ja luo tilapäisen "type map"in ja
  5. valitsee niistä parhaan asiakkaan vaatimuksiin

Options Indexes FollowSymLinks

  1. AllowOverride kontrolloi .htaccess tiedostoihin laitettavat
  2. määritetteet. Se voi olla "All", "None" tai mikä tahansa
  3. yhdistelmä seuraavista:
  4. Options FileInfo AuthConfig Limit
  5. Lisätietoa autentikoinnista:
  6. http://httpd.apache.org/docs/2.0/howto/auth.html
  1. None - .htaccess tiedostot jätetään huomioitta
  1. AuthConfig - Sallii lupamääritteiden käytön
  2. Lupamääritteitä voivat olla:
  3. - AuthDBMGroupFile - Käyttäjäryhmien nimet sisältävä DBM tiedosto.
  4. Käyttää mod_auth_dbm modulia, joka tarjoaa perusautentikoinnin, missä
  5. käyttäjänimet ja salasanat tallennetaan DBM tyyppiseen tietokantaan
  6. toisin kuin mod_auth moduli, joka käyttää tekstitiedostoja.
  7. Lisää DBM tiedostoista ja niiden luonnista:
  8. http://www.apacheweek.com/features/dbmauth
  9. - AuthDBMUserFile - Käyttäjien nimet ja salasanat sisältävä DBM
  10. tiedosto
  11. - AuthGroupFile - Käyttäjäryhmät sisältävä tekstitiedosto
  12. - AuthName - Salasanaa pyytävän ikkunan Title-osan teksti
  13. - AuthType - Hakemiston autentikointitapa, joka voi olla joko Basic
  14. tai Digest. Digest lähettää tiedon suojattuna (toisin kuin Basic),
  15. mutta toimii vain tietyillä selaimilla, lisätietoja Digest tavan
  16. käytöstä löydät osoitteesta:
  17. http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html
  1. AuthUserFile - Käyttäjien nimet ja salasanat sisältävän
  2. tekstitiedoston nimi
  1. Require - Määrittää ketkä autentikoidut käyttäjät pääsevät resurssiin
  1. Esimerkki:
  2. AuthType Basic
  3. AuthName "Restricted Resource"
  4. AuthUserFile /web/users
  5. AuthGroupFile /web/groups
  6. Require group admin

AllowOverride None

  1. Määritetään kenellä on oikeus palvelimelle
  2. Order määrittää allow ja deny määritteiden järjestyksen
  3. Määritteet (ja niihin alla määritetyt tiedot) luetaan annetussa
  4. järjestyksessä. Näin ollen jälkimmäisenä annettu määrite päättää
  5. oletuskäytännön (Allow,Deny -> Oletuksena kaikilta kielletty).
  1. Esim. (päästää vain Apache.org domainiin kuuluvat koneet,
  2. muut kielletään):
  3. Order Deny,Allow
  4. Deny from all
  5. Allow from apache.org
  1. Esim. (Päästää vain apache.org domainiin kuuluvat, oletuksena kielto)
  2. Order Allow,Deny
  3. Allow from apache.org
  4. Deny from foo.apache.org
  1. Esim. (Päästää kaikki, koska oletuksena vapaa pääsy, huomaa järjestys)
  2. Order Deny,Allow
  3. Allow from apache.org
  4. Deny from foo.apache.org
  1. Edellä olevat esimerkit tarkemmin:
  2. http://httpd.apache.org/docs/2.0/mod/mod_access.html#order
  1. Allow määritteellä annetaan ne koneet, joilla on oikeus palvelimelle
  2. Pääsyä voidaan kontrolloida IP-osoitteella, -alueella tai muilla
  3. ympäristömuuttujista saatavalla tiedolla. Ympäristö muuttujien käytöstä
  4. löydät tietoja ja esimerkkejä mm. seuraavista osoitteista:
  5. http://httpd.apache.org/docs/2.0/mod/mod_access.html#allow
  6. http://httpd.apache.org/docs/2.0/mod/mod_setenvif.html
  7. http://httpd.apache.org/docs/2.0/env.html
  8. http://www.serverwatch.com/tutorials/article.php/1132731
  9. Esimerkkejä:
  10. Allow from apache.org
  11. Allow from .net example.edu
  12. Allow from 10.1.2.3
  13. Allow from 192.168.1.104 192.168.1.205
  14. Allow from 10.1
  15. Allow from 10 172.20 192.168.2
  16. Allow from 10.1.0.0/255.255.0.0
  17. Allow from 10.1.0.0/16
  18. Allow from 2001:db8::a00:20ff:fea7:ccea
  19. Allow from 2001:db8::a00:20ff:fea7:ccea/10

Order allow,deny Allow from all

  1. Lopettaa oletushakemiston (/var/www/html) oikeuksien käsittelyn

</Directory>

  1. UserDir on hakemiston nimi, josta käyttäjän kotihakemistossa
  2. sijaitsevat www-sivut haetaan ~käyttäjänimi haulla.
  3. Käyttäjän kotihakemiston oikeuksiksi (/home/userid) tulee muuttaa 711
  4. ja /home/userid/public_html oikeudet tulee olla 755,
  5. Muuten asiakas ei pääse hakemistoon ja saa "403 Forbidden" ilmoituksen.

<IfModule mod_userdir.c>

  1. Ottaaksesi käyttäjien kotihakemistojen alla olevat www-sivut käyttöön
  2. kommentoi seuraava rivi

UserDir disable

  1. ja poista risuaita seuraavan edestä
   	#UserDir public_html

</IfModule>

  1. Halutessasi laittaa määritteet kaikkien käyttäjien www-hakemistoihin
  2. käytä /home/*/public_html polkua
  3. Esimerkki:
  4. <Directory /home/*/public_html>
  5. AllowOverride AuthConfig
  6. </Directory>
  1. DirectoryIndex: Minkä nimisiä tiedostoja haetaan, jos vain hakemisto
  2. annettu. Yleensä tähän lisätään mm. index.htm, index.php,
  3. index.php3, default.htm, default.html jne.

DirectoryIndex index.html index.html.var

  1. AccessFileName tiedoston nimi

AccessFileName .htaccess

  1. Seuraavat rivit estävät .htaccess ja .htpasswd tiedostoja näkymästä
  2. asiakkaille (vain Apache näkee ne oikeutta tarkistaessaan)

<Files ~ "^\.ht">

   Order allow,deny
   Deny from all

</Files>

  1. mime.type tiedoston sijainti

TypesConfig /etc/mime.types

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

DefaultType text/plain

  1. MIME-tyypin tunnistukseen käytettävän MIMEMagicFile tiedoston sijainti

<IfModule mod_mime_magic.c>

  1. MIMEMagicFile /usr/share/magic.mime
   MIMEMagicFile conf/magic

</IfModule>

  1. Tallennetaanko logeihin asiakkaiden nimet vai pelkät IP-osoitteet
  2. esim. www.apache.org (on) tai 204.62.129.132 (off).

HostnameLookups Off

  1. EnableMMAP lukee tiedoston muistiinsa voidakseen prosessoida ne ennen
  2. lähetystä asiakkaalle. Tämä on olennaista palvelimen päässä
  3. käsiteltäville tiedostoille kuten .shtml. Oletuksena päällä.
  4. Lisätietoja: http://httpd.apache.org/docs/2.0/mod/core.html#enablemmap
  5. EnableMMAP off
  1. EnableSendfile määritteen ollessa päällä Apache näyttää staattisen
  2. tiedoston asiakkaalle käsittelemättä sitä ensin. Päällä oletuksena.
  3. Lisätietoa http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
  4. EnableSendfile off
  1. ErrorLog: Virhelogitiedoston sijainti

ErrorLog logs/error_log

  1. LogLevel: Virhelogitiedostoon tallennettavien viestien taso.
  2. Mahdollisia arvoja: debug, info, notice, warn, error, crit,
  3. alert, emerg.
  4. Tarkemmin: http://httpd.apache.org/docs/2.0/mod/core.html#loglevel

LogLevel warn

  1. Palvelimelle kohdistuneet pyynnöt taltioidaan CustomLog määritteen
  2. mukaisesti.
  3. Login tiedot voidaan määrittää ympäristömuuttujien avulla.
  4. 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

  1. mod_logio modulin ollessa ladattuna voi käyttää combinedio muotoilua,
  2. joka sisältää todellisten lähetettyjen ja saatujen tavujen lukumäärän.
  3. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
  1. Tavallisen käyttölogin (access logfile) sijainti ja tyyppi.
  2. Oletuksena käyttöön otetaan combined tyyppi, jossa logitiedot yhdistetty
  3. CustomLog logs/access_log common
  4. CustomLog logs/referer_log referer
  5. CustomLog logs/agent_log agent

CustomLog logs/access_log combined

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

ServerSignature On

  1. Lisää tässä kohdin niin monta aliasnimeä kuin haluat muodossa
  2. Alias fakename realname
  3. Esimerkki:
  4. Alias /image /ftp/pub/image
  5. Jolloin pyyntö http://myserver/image/foo.gif palauttaa tiedoston
  6. /ftp/pub/image/foo.gif, jonka siis ei tarvitse olla /var/www/html/ alla.
  7. /icons/ alias FancyIndexeding toimintoa varten on oletuksena käytössä.
  8. FancyIndexing tarkoittaa tapaa tehdä hakemistolistaus niin, että se muodostuu
  9. eri sarakkeista ikonille, tiedostonimelle (Name), tiedoston muutosajalle
  10. (Last modified), tiedostokoolle (Size) ja kuvaukselle (Description).
  11. Mikäli FancyIndexing on poissa päältä, hakemistolistaus on tavallinen
  12. 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>

  1. WebDAV module configuration section.
  2. WebDAV on www-sivujen etähallintaan tarkoitettu standardi.
  3. Esimerkiksi WebDev, joka on php:llä toteutettu sivustonhallintasovellus,
  4. tukee WebDAV protokollaa.

<IfModule mod_dav_fs.c>

   # WebDAV lukitus tietokannan sijainti
   DAVLockDB /var/lib/dav/lockdb

</IfModule>

  1. ScriptAliakset ovat kuin aliakset mutta CGI-skriptejä varten

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"


  1. cgi-scriptien hakemisto ja määritteet

<Directory "/var/www/cgi-bin">

   AllowOverride None
   Options None
   Order allow,deny
   Allow from all

</Directory>

  1. Redirect määritteen avulla voit ohjata asiakkaan toisaalle
  2. Esimerkki:
  3. Redirect /service http://foo2.bar.com/service
  4. Ohjaa asiakkaan pyynnön http://pyynnönsaanutpalvelin/service/foo.txt
  5. osoitteeseen http://foo2.bar.com/service/foo.txt
  1. 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^^

  1. Oletuskuvake niille tiedoistoille joiden kuvaketta ei määritetty yllä

DefaultIcon /icons/unknown.gif

  1. AddDescription salli pienen selityksen liittämisen tiedostopäätteiden mukaan
  2. AddDescription "GZIP compressed document" .gz
  3. AddDescription "tar archive" .tar
  4. AddDescription "GZIP compressed tar archive" .tgz
  1. ReadmeName liitetään listauksen loppuun ja HeaderName listauksen alkuun

ReadmeName README.html HeaderName HEADER.html

  1. IndexIgnore sisältää tiedostonikmet, joita ei listata

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

  1. DefaultLanguage ja AddLanguage mahdollistaa dokumentin kielen määrittämisen
  2. jonka jälkeen sisältötarkastelun (content negotiation) avulla voit näyttää
  3. asiakkaalle dokumentin hänen selaimeensa määrittämällä kielellä.
  4. Ohjeistusta monikielisten sivustojen hallintaan löytyy
  5. osoitteesta http://www.cs.tut.fi/~jkorpela/multi/index-en.htm
  6. Oletuskielen määrittäminen
  7. 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

  1. Lisää tämä itse

AddLanguage fi .fi

  1. Muuta kielien prioriteetin määrittävä LanguagePriority haluamaksesi
  2. Lisää alkuun halutessasi fi

LanguagePriority fi en

  1. 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
  2. zh-TW
  1. Jos halutunkielistä sivua ei löydy tai löytyy useita, niin
  2. Prefer hakee priorityjärjestyksestä ensimmäiseksi parhaan
  3. ja Fallback näyttää ensimmäisen languagepriority listasta

ForceLanguagePriority Prefer Fallback

  1. Oletusmerkistö

AddDefaultCharset UTF-8

  1. AddType mahdollistaa MIME määritysten korvaamisen tietyille tiedostotyypeille
  2. AddType application/x-tar .tgz
  1. AddEncoding mahdollistaa joidenkin selainten purkaa pakattu tiedosto lennossa
  2. AddEncoding x-compress .Z
  3. AddEncoding x-gzip .gz .tgz
  1. Jos AddEncoding on kommentoituna kannattaa mediatyypit ilmaista

AddType application/x-compress .Z AddType application/x-gzip .gz .tgz

  1. AddHandler mahdollistaa tiettyjen tiedostopäätteiden liittämisen
  2. käsittelijöihin eli tiedostotyyppiin liittymättömiin tapahtumiin
  3. Käyttä CGI-skriptejä muualla kuin ScriptAliased merkityissä
  4. hakemistoissa (Sinun tulee myös lisästä "ExecCGI" "Options" määritteeseen)
  5. AddHandler cgi-script .cgi
  1. Tiedostoille, joilla on omat HTTP otsikot (headers).
  2. AddHandler send-as-is asis
  1. Tyyppikartoille (.var):
  2. (Oletuksena päälle, jotta Apachen oletussivu voidaan näyttää usealla kielellä)

AddHandler type-map var

  1. Filttereiden avulla voit käsitellä tiedoston ennen asiakkaalle lähettämistä
  2. Filters allow you to process content before it is sent to the client.
  3. .shtml tiedostot vaativat myös "Includes" "Options" määritteeseen).

AddType text/html .shtml AddOutputFilter INCLUDES .shtml

  1. Action mahdollistaa halutun CGI-skriptin suorittamisen tietyn tiedostotyypin
  2. yhteydessä
  3. Format: Action media/type /cgi-script/location
  4. Format: Action handler-name /cgi-script/location
  1. Mukautetut virheilmoitukset voivat tulla kolmessa muodossa:
  2. 1) pelkkä teksti 2) sisäinen ohjaus 3) ulkoinen ohjaus
  3. Esimerkit:
  4. ErrorDocument 500 "The server made a boo boo."
  5. ErrorDocument 404 /missing.html
  6. ErrorDocument 404 "/cgi-bin/missing_handler.pl"
  7. ErrorDocument 402 http://www.example.com/subscription_info.html
  1. Edellisiä yhdistämällä voimme antaa virheilmoitukset asiakkaan kielellä.
  2. Alias ohjaa kaikki /error/HTTP_<error>.html.var vastaukset virheenmukaisiin
  3. monikielisiin kokoelmiin. Includes korvaa halutun tekstin.
  4. Voit muuttaa viestejä muuttamatta oletus HTTP_<error>.html.var tiedostoa
  5. lisäämällä rivin
  6. Alias /error/include/ "/oma/include/polku/"
  7. Jolloin voit luoda omia tiedostojasi kopioimalla /var/www/error/include/
  8. "/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>
  1. ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
  2. ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
  3. ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
  4. ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
  5. ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
  6. ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
  7. ErrorDocument 410 /error/HTTP_GONE.html.var
  8. ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
  9. ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
  10. ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
  11. ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
  12. ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
  13. ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
  14. ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
  15. ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
  16. ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
  17. ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

</IfModule> </IfModule>

  1. 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

  1. 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

  1. Mahdollistetaan mod_status modulin luoda palvelintilaraportteja
  2. <Location /server-status>
  3. SetHandler server-status
  4. Order deny,allow
  5. Deny from all
  6. Allow from .example.com
  7. </Location>
  1. Mahdollistaa etäpalvelimen määritysrapotteja
  2. <Location /server-info>
  3. SetHandler server-info
  4. Order deny,allow
  5. Deny from all
  6. Allow from .example.com
  7. </Location>
  1. Proxypalvelimen määritteet. Poista risuaidat mahdollistaaksesi Proxyn.
  2. <IfModule mod_proxy.c>
  3. ProxyRequests On
  4. <Proxy *>
  5. Order deny,allow
  6. Deny from all
  7. Allow from .example.com
  8. </Proxy>
  1. Proxyn HTTP/1.1 "Via:" headers käsittely.
  2. "Full" lisää palvelinversion, "Block" poistaa kaikki Via: headers:it)
  3. Valitse Off | On | Full | Block
  4. ProxyVia On
  1. Proxyn cachen mahdollistaminen
  2. Lisätietoa http://httpd.apache.org/docs-2.0/mod/mod_cache.html
  3. <IfModule mod_disk_cache.c>
  4. CacheEnable disk /
  5. CacheRoot "/var/cache/mod_proxy"
  6. </IfModule>
  7. </IfModule>
  8. Proxy määritteiden loppu
  1. 3: Virtuaali-isännät
  2. Mikäli palvelimellasi on useita domainnimiä tarvitset näitä.
  3. Poista risuaita ottaaksesi virtuaali-isännät käyttöön
  4. NameVirtualHost *:80
  1. HUOM: NameVirtualHost täytyy sisältää portin, jos mod_ssl käytössä
  2. VirtualHost sisältöpohja:
  3. Lähes mikä tahansa määritettä voidaan käyttää Virtuaali-isännän sisällössä
  4. Sisältöpohja on tarkoitettu niille pyynnöille joiden palvelinnimeä ei
  5. tunnisteta.
  6. <VirtualHost *:80>
  7. ServerAdmin webmaster@dummy-host.example.com
  8. DocumentRoot /www/docs/dummy-host.example.com
  9. ServerName dummy-host.example.com
  10. ErrorLog logs/dummy-host.example.com-error_log
  11. CustomLog logs/dummy-host.example.com-access_log common
  12. </VirtualHost>