Ero sivun ”Apache HTTPD” versioiden välillä
(→Apachen asetukset: Selkiytetty tämän osion rakennetta) |
(Lisätty huomautus nimeämiskäytäntöjen vaihtelevuudesta.) |
||
Rivi 10: | Rivi 10: | ||
==Asennus== | ==Asennus== | ||
{{asenna|Apache|apache2}} | {{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 == | == Palvelinprosessin käynnistäminen ja hallinta == | ||
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ää. | 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 | Mikäli Apache ei ole käynnissä, käynnistäminen tapahtuu komennolla |
Versio 1. tammikuuta 2019 kello 23.41
Apache httpd | |
---|---|
Käyttöliittymä | www |
Lisenssi | Apache-lisenssi |
Kotisivu | httpd.apache.org |
Apache httpd on Apache-säätiön tuottama http-palvelin, joka hallitsee http-palvelinmarkkinoita 50% markkinaosuudellaan.
Asennus
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
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>
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. 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.
conf.modules.d -kansiossa taas asetetaan, mitkä moduulit on otettu käyttöön. Se tehdään lisäämällä jokaiselle moduulille oma konfiguraatiotiedostonsa.
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.
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
Sähköisen henkilökortin tuki
Yleiset palvelimen asetukset
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
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: