Apache HTTPD
Apache httpd | |
---|---|
Käyttöliittymä | www |
Lisenssi | Apache-lisenssi |
Kotisivu | httpd.apache.org |
Apache HTTPD on Apache-säätiön tuottama http-palvelin, joka juuri ja juuri hallitsee http-palvelinmarkkinoita 36.3% markkinaosuudellaan.
Asennus[muokkaa]
Apache löytyy useimpien jakeluiden paketinhallinnasta nimellä apache2 tai httpd. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.
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[muokkaa]
Näissä ohjeissa Apachea hallitaan käyttäen 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[muokkaa]
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[muokkaa]
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[muokkaa]
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[muokkaa]
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 linkitetään sieltä mods-enabled -kansioon. Debian-pohjaisissa jakeluissa tämä tehdään kahdella eri komennolla: a2enmod ja a2dismod.
Apachen lokit[muokkaa]
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[muokkaa]
Yleiset palvelimen asetukset[muokkaa]
Palvelimella tulee olla CA-varmentajan varmenteet paikallisesti. Ne voi ladata Väestörekisterikeskuksen 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[muokkaa]
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[muokkaa]
Tunnistetun SSL-yhteyden aikana seuraavat ympäristömuuttjat: