Muokataan sivua Apache HTTPD:n asetukset

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
[[Apache HTTPD]] on ylivoimaisesti käytetyin www-palvelin, joka mukautuu helposti haluamiisi tarpeisiin. Apache HTTPD löytyy myös [[Windows]]-alustalle.
Kyseessä on OPEKO:n kurssille (30-31.1.2006 / Timo Kapanen) tehtyä materiaalia, josta on poistettu kuvat ja muita vain kurssille kuuluvaa materiaalia.


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


<source lang="bash">
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.


# Piilottaa käynnissä olevat moduulit näkymästä maailmalle
# 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
ServerTokens OS


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


Rivi 18: Rivi 31:
# 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 päältä
# Nopeuttaa staattisten sivujen käsittelyä, oletuksena pois
KeepAlive Off
KeepAlive Off


Rivi 29: Rivi 42:
MaxKeepAliveRequests 100
MaxKeepAliveRequests 100


# Montako sekuntia 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
Rivi 61: Rivi 74:


# Jos haluat Apachen kuuntelevan vain tiettyä Ip-osoitetta ja/tai porttia
# Jos haluat Apachen kuuntelevan vain tiettyä Ip-osoitetta ja/tai porttia
# Portti 80 on http:n oletusportti
#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: https://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
Rivi 118: Rivi 130:
#ExtendedStatus On
#ExtendedStatus On


# httpd-käyttäjä ja -käyttäjäryhmä
# httpd käyttäjä ja käyttäjäryhmä
User apache
User apache
Group apache
Group apache
Rivi 151: Rivi 163:
DocumentRoot "/var/www/html"
DocumentRoot "/var/www/html"


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


Rivi 171: Rivi 183:
# "Options All" mukana
# "Options All" mukana
# Arvojen selitykset  
# Arvojen selitykset  
# (https://httpd.apache.org/docs-2.0/mod/core.html#options):
# (http://httpd.apache.org/docs-2.0/mod/core.html#options):


# Indexes - Jos annettu pelkkä hakemisto ja sieltä puuttuu DirectoryIndex
# Indexes - Jos annettu pelkkä hakemisto ja sieltä puuttuu DirectoryIndex
Rivi 191: Rivi 203:
# kaikki tiedostot nimeltä foo.* ja luo tilapäisen "type map"in ja
# kaikki tiedostot nimeltä foo.* ja luo tilapäisen "type map"in ja
# valitsee niistä parhaan asiakkaan vaatimuksiin
# valitsee niistä parhaan asiakkaan vaatimuksiin
 
   
Options Indexes FollowSymLinks
Options Indexes FollowSymLinks


Rivi 199: Rivi 211:
# Options FileInfo AuthConfig Limit
# Options FileInfo AuthConfig Limit
# Lisätietoa autentikoinnista:
# Lisätietoa autentikoinnista:
# https://httpd.apache.org/docs/2.0/howto/auth.html
# http://httpd.apache.org/docs/2.0/howto/auth.html


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


# AuthConfig - Sallii lupamääritteiden käytön
# AuthConfig - Sallii lupamääritteiden käytön
# Lupamääritteitä voivat olla:
# Lupamääritteitä voivat olla:
# - AuthDBMGroupFile - Käyttäjäryhmien nimet sisältävä DBM-tiedosto.
# - AuthDBMGroupFile - Käyttäjäryhmien nimet sisältävä DBM tiedosto.
# Käyttää mod_auth_dbm-moduulia, joka tarjoaa perusautentikoinnin, missä
# Käyttää mod_auth_dbm modulia, joka tarjoaa perusautentikoinnin, missä
# käyttäjänimet ja salasanat tallennetaan DBM-tyyppiseen tietokantaan
# käyttäjänimet ja salasanat tallennetaan DBM tyyppiseen tietokantaan
# toisin kuin mod_auth-moduuli, joka käyttää tekstitiedostoja.
# toisin kuin mod_auth moduli, joka käyttää tekstitiedostoja.
# Lisää DBM-tiedostoista ja niiden luonnista:
# Lisää DBM tiedostoista ja niiden luonnista:
# http://www.apacheweek.com/features/dbmauth
# http://www.apacheweek.com/features/dbmauth
# - AuthDBMUserFile - Käyttäjien nimet ja salasanat sisältävä DBM-
# - AuthDBMUserFile - Käyttäjien nimet ja salasanat sisältävä DBM
# tiedosto
# tiedosto
# - AuthGroupFile - Käyttäjäryhmät sisältävä tekstitiedosto
# - AuthGroupFile - Käyttäjäryhmät sisältävä tekstitiedosto
Rivi 219: Rivi 231:
# mutta toimii vain tietyillä selaimilla, lisätietoja Digest tavan
# mutta toimii vain tietyillä selaimilla, lisätietoja Digest tavan
# käytöstä löydät osoitteesta:
# käytöstä löydät osoitteesta:
# https://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html
# http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html


# AuthUserFile - Käyttäjien nimet ja salasanat sisältävän  
# AuthUserFile - Käyttäjien nimet ja salasanat sisältävän  
Rivi 240: Rivi 252:
# oletuskäytännön (Allow,Deny -> Oletuksena kaikilta kielletty).
# oletuskäytännön (Allow,Deny -> Oletuksena kaikilta kielletty).


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


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


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


# Allow määritteellä annetaan ne koneet, joilla on oikeus palvelimelle
# Allow määritteellä annetaan ne koneet, joilla on oikeus palvelimelle
Rivi 263: Rivi 275:
# ympäristömuuttujista saatavalla tiedolla. Ympäristö muuttujien käytöstä
# ympäristömuuttujista saatavalla tiedolla. Ympäristö muuttujien käytöstä
# löydät tietoja ja esimerkkejä mm. seuraavista osoitteista:
# löydät tietoja ja esimerkkejä mm. seuraavista osoitteista:
# https://httpd.apache.org/docs/2.0/mod/mod_access.html#allow
# http://httpd.apache.org/docs/2.0/mod/mod_access.html#allow
# https://httpd.apache.org/docs/2.0/mod/mod_setenvif.html
# http://httpd.apache.org/docs/2.0/mod/mod_setenvif.html
# https://httpd.apache.org/docs/2.0/env.html
# http://httpd.apache.org/docs/2.0/env.html
# http://www.serverwatch.com/tutorials/article.php/1132731
# http://www.serverwatch.com/tutorials/article.php/1132731
# Esimerkkejä:
# Esimerkkejä:
Rivi 288: Rivi 300:
# Käyttäjän kotihakemiston oikeuksiksi (/home/userid) tulee muuttaa 711
# Käyttäjän kotihakemiston oikeuksiksi (/home/userid) tulee muuttaa 711
# ja /home/userid/public_html oikeudet tulee olla 755,
# ja /home/userid/public_html oikeudet tulee olla 755,
# Muuten asiakas ei pääse hakemistoon ja saa "403 Forbidden"-ilmoituksen.
# Muuten asiakas ei pääse hakemistoon ja saa "403 Forbidden" ilmoituksen.


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


Rivi 316: Rivi 328:
# asiakkaille (vain Apache näkee ne oikeutta tarkistaessaan)
# asiakkaille (vain Apache näkee ne oikeutta tarkistaessaan)
<Files ~ "^\.ht">
<Files ~ "^\.ht">
  Order allow,deny
    Order allow,deny
  Deny from all
    Deny from all
</Files>
</Files>


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


Rivi 328: Rivi 340:
DefaultType text/plain
DefaultType text/plain


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


# Tallennetaanko lokeihin asiakkaiden nimet vai pelkät IP-osoitteet
# Tallennetaanko logeihin asiakkaiden nimet vai pelkät IP-osoitteet
# esim. www.apache.org (on) tai 204.62.129.132 (off).
# esim. www.apache.org (on) tai 204.62.129.132 (off).
HostnameLookups Off
HostnameLookups Off
Rivi 341: Rivi 353:
# lähetystä asiakkaalle. Tämä on olennaista palvelimen päässä
# lähetystä asiakkaalle. Tämä on olennaista palvelimen päässä
# käsiteltäville tiedostoille kuten .shtml. Oletuksena päällä.
# käsiteltäville tiedostoille kuten .shtml. Oletuksena päällä.
# Lisätietoja: https://httpd.apache.org/docs/2.0/mod/core.html#enablemmap
# Lisätietoja: http://httpd.apache.org/docs/2.0/mod/core.html#enablemmap
#EnableMMAP off
#EnableMMAP off


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


Rivi 355: Rivi 367:
# Mahdollisia arvoja: debug, info, notice, warn, error, crit,  
# Mahdollisia arvoja: debug, info, notice, warn, error, crit,  
# alert, emerg.
# alert, emerg.
# Tarkemmin: https://httpd.apache.org/docs/2.0/mod/core.html#loglevel
# Tarkemmin: http://httpd.apache.org/docs/2.0/mod/core.html#loglevel
LogLevel warn
LogLevel warn
# Palvelimelle kohdistuneet pyynnöt taltioidaan CustomLog määritteen
# Palvelimelle kohdistuneet pyynnöt taltioidaan CustomLog määritteen
Rivi 366: Rivi 378:
LogFormat "%{User-agent}i" agent
LogFormat "%{User-agent}i" agent


# mod_logio moduulin ollessa ladattuna voi käyttää combinedio muotoilua,  
# mod_logio modulin ollessa ladattuna voi käyttää combinedio muotoilua,  
# joka sisältää todellisten lähetettyjen ja saatujen tavujen lukumäärän.
# 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
#LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
Rivi 397: Rivi 409:
Alias /icons/ "/var/www/icons/"
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
<Directory "/var/www/icons">
  Options Indexes MultiViews
    Options Indexes MultiViews
  AllowOverride None
    AllowOverride None
  Order allow,deny
    Order allow,deny
  Allow from all
    Allow from all
</Directory>
</Directory>


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


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


Rivi 468: Rivi 481:
HeaderName HEADER.html
HeaderName HEADER.html


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


Rivi 521: Rivi 534:
AddDefaultCharset UTF-8
AddDefaultCharset UTF-8


#
# AddType mahdollistaa MIME määritysten korvaamisen tietyille tiedostotyypeille
# AddType mahdollistaa MIME määritysten korvaamisen tietyille tiedostotyypeille
#AddType application/x-tar .tgz
#AddType application/x-tar .tgz
Rivi 575: Rivi 589:
<IfModule mod_negotiation.c>
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
<IfModule mod_include.c>
  <Directory "/var/www/error">
    <Directory "/var/www/error">
      AllowOverride None
        AllowOverride None
      Options IncludesNoExec
        Options IncludesNoExec
      AddOutputFilter Includes html
        AddOutputFilter Includes html
      AddHandler type-map var
        AddHandler type-map var
      Order allow,deny
        Order allow,deny
      Allow from all
        Allow from all
      LanguagePriority en es de fr
        LanguagePriority en es de fr
      ForceLanguagePriority Prefer Fallback
        ForceLanguagePriority Prefer Fallback
  </Directory>
    </Directory>


#    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
#    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
Rivi 612: Rivi 626:
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0  
BrowserMatch "JDK/1\.0" force-response-1.0


# Korjataan non-GET pyyntöjä
# Korjataan non-GET pyyntöjä
Rivi 620: Rivi 634:
BrowserMatch "^gnome-vfs" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully


# Mahdollistetaan mod_status-moduulin luoda palvelintilaraportteja
# Mahdollistetaan mod_status modulin luoda palvelintilaraportteja
#<Location /server-status>
#<Location /server-status>
#    SetHandler server-status
#    SetHandler server-status
Rivi 646: Rivi 660:
#</Proxy>
#</Proxy>


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


# Proxyn cachen mahdollistaminen
# Proxyn cachen mahdollistaminen
# Lisätietoa https://httpd.apache.org/docs-2.0/mod/mod_cache.html
# Lisätietoa http://httpd.apache.org/docs-2.0/mod/mod_cache.html
#<IfModule mod_disk_cache.c>
#<IfModule mod_disk_cache.c>
#  CacheEnable disk /
#  CacheEnable disk /
Rivi 677: Rivi 692:
#    CustomLog logs/dummy-host.example.com-access_log common
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
#</VirtualHost>
</source>
== Katso myös ==
*[[Apache-harjoituksia]]
[[Luokka:Apache]]
[[Luokka:Opetusmateriaalit]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)