Apache HTTPD:n asetukset
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 dokumentoinnista ja ohjeistuksesta Apachen www-sivustolta. Alla on pyritty suomentamaan ja selkeyttämään dokumenttia. Kyseinen ohjeistus on tehty kommenttimuotoon, jolloin voit halutessasi siirtää sen sellaisenaan omien konfiguraatioidesi pohjaksi.
Apache-harjoituksia on harjoituksia-osiossa.
# Tarkemmat ohjeet: 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 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: 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
# 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 # (http://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: # http://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: # http://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: # http://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: # http://httpd.apache.org/docs/2.0/mod/mod_access.html#allow # http://httpd.apache.org/docs/2.0/mod/mod_setenvif.html # 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 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: http://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 http://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: http://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 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 # 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>