Ero sivun ”Apache HTTPD” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (markkinaosuuksia päivitetty)
 
(5 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 5: Rivi 5:
  | lisenssi=[[Apache-lisenssi]]  
  | lisenssi=[[Apache-lisenssi]]  
  | käyttöliittymä=www  
  | käyttöliittymä=www  
  | kotisivu=[http://httpd.apache.org/ httpd.apache.org]}}
  | 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-palvelinmarkkinoiden 36.3% markkinaosuudellaan.
'''Apache HTTPD''' on [[Apache Software Foundation|Apache-säätiön]] tuottama http-palvelin, joka juuri ja juuri hallitsee http-palvelinmarkkinoita 36.3% markkinaosuudellaan.


==Asennus==
==Asennus==
Rivi 93: Rivi 93:
  * error.log
  * error.log


== Sähköisen henkilökortin tuki ==
== Henkilökortin tuki ==


=== Yleiset palvelimen asetukset ===
=== Yleiset palvelimen asetukset ===
Rivi 120: Rivi 120:


==Katso myös==
==Katso myös==
*[[Apache httpd:n asetukset]]
*[[nginx]]
*[[Apache HTTPD:n asetukset]]
*[[Apache ja HTTPS]]
*[[Apache ja HTTPS]]
*[[Apache-harjoituksia]]
*[[Apache-harjoituksia]]

Nykyinen versio 23. elokuuta 2023 kello 13.23

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:

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]