Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{Ohjelma
| | Apache httpd on [[Apache|Apache-säätiön]] tuottama http-palvelin, joka hallitsee http-palvelinmarkkinoita 50% markkinaosuudellaan. |
| | nimi=Apache httpd
| |
| | kuva=[[Kuva:Apache_httpd_logo.png|200px]]
| |
| | kuvateksti=
| |
| | lisenssi=[[Apache-lisenssi]]
| |
| | käyttöliittymä=www
| |
| | kotisivu=[https://httpd.apache.org/ httpd.apache.org]}}
| |
| | |
| '''Apache HTTPD''' on [[Apache Software Foundation|Apache-säätiön]] tuottama http-palvelin, joka juuri ja juuri hallitsee http-palvelinmarkkinoita 36.3% markkinaosuudellaan.
| |
| | |
| ==Asennus==
| |
| {{asenna|Apache|apache2 tai httpd}}
| |
| | |
| '''Debian'''-pohjaisissa jakeluissa, kuten '''Ubuntussa''', paketin nimi on ''apache2''. '''Red Hat''' -pohjaisissa jakeluissa, kuten '''CentOSissa''', paketin nimi on puolestaan ''httpd''. Sama nimeämiskäytäntö jatkuu binäärien nimissä ja tiedostopoluissa. Tässä ohjeessa pyritään huomioimaan nimen eri versiot koko ajan.
| |
| | |
| == Palvelinprosessin käynnistäminen ja hallinta ==
| |
| Näissä ohjeissa Apachea hallitaan käyttäen [[systemd|systemd-järjestelmää]]. Systemd on käytössä useimmissa suosituissa Linux-jakeluissa. Varsinkin internetistä etsimällä löytää muitakin ohjeita prosessien hallitsemiseksi. Apachella on oma apachectl-skriptinsä, jota voi niin ikään käyttää.
| |
| | |
| Mikäli Apache ei ole käynnissä, käynnistäminen tapahtuu komennolla
| |
| sudo systemctl start <palvelinprosessi>
| |
| Koska Apache on eri jakeluissa eri nimellä, ylläolevassa pitää korvata ''<palvelinprosessi>'' kunkin Linux-jakelun omalla nimityksellä.
| |
| Esimerkiksi Ubuntu- ja Debian-palvelimissa Apache-prosessin nimi on '''apache2''' ja käynnistys tapahtuu näin:
| |
| sudo systemctl start apache
| |
| Red Hat- ja CentOS-palvelimissa Apache löytyy nimellä '''httpd'''
| |
| sudo systemctl start httpd
| |
| | |
| Pysäytys
| |
| sudo systemctl stop <palvelinprosessi>
| |
| | |
| Apachen uudelleen käynnistäminen tapahtuu komennolla
| |
| sudo systemctl restart <palvelinprosessi>
| |
| | |
| Jos Apache halutaan käynnistää automaattisesti palvelimen uudelleenkäynnistyksen jälkeen, se tapahtuu komennolla
| |
| sudo systemctl enable <palvelinprosessi>
| |
| | |
| == Document root ==
| |
| Oletuksena Apache tarkkailee tiettyä kansiota, jota se pitää palvelimen juurena. Tuohon kansioon sijoitetut HTML-tiedostot palvelin näyttää selaimella vierailtaessa.
| |
| Usein document root on polussa
| |
| /var/www/html
| |
| Tämä kannattaa tarkistaa Apachen asetuksista. Asetustiedostossa on DocumentRoot -niminen direktiivi, joka asettaa oletussijainnin.
| |
| | |
| == Web-sivujen katseleminen ==
| |
| Kun Apache on käynnissä, voi verkkoselaimella vierailla palvelimen IP-osoitteessa. Mikäli olet asentanut Apachen omalle pöytäkoneellesi, voit käyttää [[loopback]]-osoitetta '''127.0.0.1'''. Kirjoita osoite verkkoselaimen osoiteriville, jolloin Apache näyttää verkkosivuston.
| |
| | |
| == Apachen asetukset ==
| |
| Apachen asetukset löytyvät /etc-kansion alta apachen omasta kansiosta. Sen nimi vaihtelee Linux-jakeluittain.
| |
| Ubuntussa ja Debianissa asetukset on tallennettu polkuun
| |
| /etc/apache2/
| |
| Red Hatissa ja CentOS -palvelimissa asetukset löytyvät polusta
| |
| /etc/httpd/
| |
| | |
| Kansion alla on laajempi alikansiorakenne, joka näyttää tämän tapaiselta:
| |
| * conf
| |
| ** httpd.conf
| |
| ** magic
| |
| * conf.d
| |
| ** autoindex.conf
| |
| ** README
| |
| ** userdir.conf
| |
| * conf.modules.d
| |
| ** 00-base.conf
| |
| ** 00-ssl.conf
| |
| ** 01-cgi.conf
| |
| | |
| Oheinen listaus on CentOS-palvelimelta. Linux-jakelusta ja Apache-konfiguraatiosta riippuen se voi näyttää erilaiselta.
| |
| | |
| | |
| Palvelimen pääkonfiguraatiotiedosto on '''httpd.conf''' tai '''apache2.conf''' jakelusta riippuen. Palvelimeen tutustumisen voi aloittaa lukemalla sen.
| |
| | |
| Monesti kuitenkin Apache konfiguroidaan useaan eri tiedostoon. conf.d -kansiossa voi olla jokaiselle palvelimen tarjoamalle web-sivustolle oma konfiguraatiotiedostonsa. Apache lukee nämä tiedostot osaksi konfiguraatiotaan siten, kuin ''httpd.conf''-tiedostossa on määrätty.
| |
| | |
| Apache lukee konfiguraatiotiedostot aakkosjärjestyksessä. Tiedostonimien alkuun voi laittaa järjestysnumerot oikean järjestyksen takaamiseksi, kuten tässäkin esimerkissä on tehty.
| |
| | |
| Edellä mainittiin, että konfiguraatiotiedostojen hakemistorakenne voi vaihdella. Debian- ja Ubuntu-palvelimella kansiorakenne on hieman erilainen. Siellä konfiguraatiokansiosta löytyy alikansiot ''sites-available'' ja ''sites-enabled''. Sites-available -kansioon tallennetaan web-sivustojen konfiguraatiot, ja ne kytketään käyttöön tekemällä [[symbolinen linkki]] sites-enabled -kansioon.
| |
| | |
| == Moduulit ==
| |
| Apache-palvelimen toimintaa voi muunnella lataamalla käyttöön erilaisia moduuleja. Näitä on paljon eri tarkoituksiin, eikä tässä ole mahdollista käydä asiaa tarkemmin läpi. Usein käytettyjä moduuleja ovat esimerkiksi ''mod_rewrite'', ''mod_userdir'' ja ''mod_ssl''.
| |
| | |
| conf.modules.d -kansiossa asetetaan, mitkä moduulit on otettu käyttöön. Se tehdään lisäämällä jokaiselle moduulille oma konfiguraatiotiedostonsa.
| |
| | |
| Debian-pohjaiset järjestelmät jakavat moduulit kahteen kansioon. Toinen on ''mods-available'' ja ''toinen mods-enabled''. Moduulit asennetaan mods-available -kansioon, ja [[ln|linkitetään]] sieltä mods-enabled -kansioon. Debian-pohjaisissa jakeluissa tämä tehdään kahdella eri komennolla: ''a2enmod'' ja ''a2dismod''.
| |
| | |
| == Apachen lokit ==
| |
| | |
| Apachen lokitiedostot löytyvät /var/log -kansiosta saman logiikan mukaan kuin konfiguraatiotiedostotkin:
| |
| Debian-pohjaisissa jakeluissa polku on
| |
| /var/log/apache2
| |
| Red Hat -pohjaisissa jakeluissa
| |
| /var/log/httpd
| |
| | |
| Lokeja on kaksi erilaista:
| |
| * access.log
| |
| * error.log
| |
| | |
| == Henkilökortin tuki ==
| |
| | |
| === Yleiset palvelimen asetukset ===
| |
| | |
| Palvelimella tulee olla CA-varmentajan varmenteet paikallisesti. Ne voi ladata Väestörekisterikeskuksen [http://fineid.fi/default.aspx?docid=2237&site=9&id=332 varmennesivulta], joskin turvallisempaa on käyttää henkilökortilta [[HST#CA-varmenteiden_lukeminen_kortilta]] otettua kopiota. Yleisin tarvittava varmenne on ''juurivarmenne'' tai ''Valtion kansalaisvarmenteet''.
| |
| | |
| SSLCACertificateFile /etc/pki/vrkrootca.pem
| |
| SSLVerifyClient none
| |
| | |
| Huomioi, että tiedoston alussa on oltava
| |
| -----BEGIN CERTIFICATE-----
| |
| | |
| === .htaccess tiedosto ===
| |
| | |
| Apache-palvelimen asetuksia voi muuttaa kansiokohtaisesti erityisen .htaccess-piilotiedoston avulla. Tällä voidaan ottaa käyttöön Apachen moduuleita, ja rajoittaa tai lisätä oikeuksia.
| |
| | |
| Tunnistettavan URLin hakemistossa ''.htaccess'' tiedoston sisältö:
| |
| | |
| SSLVerifyClient require
| |
| SSLVerifyDepth 10
| |
| SSLOptions +StdEnvVars +ExportCertData
| |
| | |
| === Ympäristömuuttujat ===
| |
| | |
| Tunnistetun SSL-yhteyden aikana seuraavat ympäristömuuttjat:
| |
|
| |
|
| ==Katso myös== | | ==Katso myös== |
| *[[nginx]]
| | *[[Apache httpd:n asetukset]] |
| *[[Apache HTTPD:n asetukset]] | |
| *[[Apache ja HTTPS]]
| |
| *[[Apache-harjoituksia]]
| |
| *[[HST]]
| |
| *[[LAMP]] | | *[[LAMP]] |
| *[[:Luokka:Apache|Apache-luokka]]
| |
|
| |
|
| ==Aiheesta muualla== | | ==Aiheesta muualla== |
| *[https://w3techs.com/technologies/details/ws-apache W3Techsin katsaus Apachen käyttöosuuksiin] | | *[http://news.netcraft.com/archives/2007/08/06/august_2007_web_server_survey.html Netcraftin httpd-tilasto elokuulta 2007] |
|
| |
|
| [[Luokka:Verkko]] | | [[Luokka:Verkko]] |
| | [[Luokka:Käsitteet]] |
| [[Luokka:Apache]] | | [[Luokka:Apache]] |