Search


print PDF
Apache

Johdanto

Apache on avoimeen lähdekoodiin perustuva ilmainen HTTP-palvelinohjelma, jonka avulla käyttäjät pääsevät katsomaan palvelimella olevia www-sivuja. Se on tämän hetken suosituin HTTP-palvelinohjelma. Apachen nimi tulee tavasta, jolla se on kehitetty (a patchy server). Bugin tai tietoturva-aukon ilmetessä Apache korjataan nopeasti ja siitä julkaistaan uusi versio. Apachessa on nykyään monta ominaisuutta, kuten esimerkiksi mahdollisuus määritellä jokaiselle tiedostolle tai kansiolle oma konfiguraatio, sekä mahdollisuus määritellä oikeuksia htaccess-tiedoston avulla. Sen oletusportti on 80.

Apache pyörii pääasiallisesti *NIX-käyttöjärjestelmissä, mutta se toimii myös Windows:lla. Tarjolla on myös EasyPHP-paketti, jonka mukana tulee Apache, MySQL, PHP-sovelluspalvelin sekä phpMyAdmin.

Apachen sivuilla olevat ohjeet ovat erittäin laadukkaat: http://httpd.apache.org/docs

Lataaminen ja asentaminen

Helpoiten asennus onnistuu distribuutiosi oman paketinhallinnan kautta. Voit kuitenkin myös hakea lähdekoodin Apachen sivuilta ja purkaa paketin komennolla:

tar -xvzf tiedoston-nimi.tar.gz


Lue paketin mukana tulleet ohjeet huolellisesti. Löydät ne .../htdocs/manual -kansiosta.

Apachen kääntäminen

Apachen kääntäminen tapahtuu seuraavien komentojen avulla:

./configure --prefix=KOHDEKANSIO (esim. /usr/local/apache)
make
make install


Apachen konfiguroiminen

Vaikka on olemassa sovelluksia, joiden avulla voit konfiguroida Apachen helposti, voit tehdä sen myös /etc/apache2/apache2.conf -tiedostoa muokkaamalla.

Vaihtaaksesi Apachen käynnistävän käyttäjän, sinun tulee muokata /etc/apache2/envvars -tiedostoa. Tarvitset siihen jo olemassa olevan käyttäjän. Voit luoda uuden käyttäjän komennolla adduser.

Vaihtaaksesi Apachen porttia, sinun tulee muokata /etc/apache2/ports.conf -tiedostoa. Portin vaihtaminen ei ole tarpeellista normaaleille www-sivuille. Jos vaihdat portin, käyttäjät eivät näe sivujasi ilman, että heillä on tieto uudesta portista (esim. www.ovh-hosting.fi:3000).

Käynnistä Apache

Seuraava komento käynnistää Apachen:

/etc/init.d/apache2 start

Seuraava komento uudelleenkäynnistää Apachen:

/etc/init.d/apache2 restart

Seuraava komento pysäyttää Apachen:

/etc/init.d/apache2 stop


Palvelimen testaaminen

Voit kokeilla näkyykö palvelimesi sivu kun yhdistät siihen selaimellasi. Voit testata yhteyttä myös ottamalla telnet-yhteyden palvelimesi Apache-porttiin. Telnetillä voimme kirjoittaa pyynnön suoraan palvelimeen saadaksemme vastauksen. Voimme esimerkiksi pyytää palvelimelta etusivua seuraavasti:
telnet palvelin 80
get /index.html HTTP/1.0
2 x enter


Palvelimen vastaus on kahdessa osassa. Ensiksi otsake, joka näyttää onko pyyntö ymmärretty (200 OK), onko resurssi löydetty, resurssin tyyppi jne..

Ja sitten itse resurssi, eli HTML-sivu, GIF-kuva tai vastaava. Tai virhekoodi, esim. 404 Sivua ei löydy.

Content-Length = koko
-type = tyyppi

Suorituskyky

Jotta palvelin käyttäisi mahdollisimman vähän resursseja, voit muokata apache2.conf-tiedostoa ja etsiä kohdan startservers. Oletusarvona sillä on 5. Vaihda sen tilalle 1, jotta Apache käynnistää vain yhden prosessin.

VirtualHost

VirtualHostin avulla voit konfiguroida esimerkiksi Apachen näyttämään eri sivustot eri verkkotunnuksille, vaikka palvelimessa olisi käytössä vain yksi IP-osoite. Konfiguroiminen suoritetaan /etc/apache2/sites-available -kansiossa.

KeepAlive

Jos tämä muuttuja on päällä (ON) apache2-tiedostossa, selain voi määrätä yhteyden olemaan päällä kokoajan. Tähän muuttujaan liittyy myös muita, esimerkiksi MaxKeepAliveRequests, joka määrittelee kuinka monta yhteyttä voi olla päällä jatkuvasti samaan aikaan sekä KeepAliveTimeout, joka määrittelee ajan sekunneissa, jonka aikana yhteys pidetään päällä ilman toimintoa.


Pääsyoikeudet

Tarkoitus on suojata pääsy sivuston tiettyyn kansioon käyttämällä salasanaa. Voit määritellä ne kansion .htaccess-tiedostossa tai httpd.conf-tiedoston <Directory /polku/kansioon> -osiossa.

AuthType Basic
AuthName "Suojattu sivu"
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user

AuthType on suojaustapa. Basic on salaamaton, mutta yleisin suojaustapa. Digest on turvallisempi ja sopii paremmin erittäin salaisille tiedostoille.
AuthName määrittelee suojatun alueen. Jos eri polussa oleva kansio on myös suojattu, käyttäjän ei tarvitse syöttää salasanaa toiseen kertaan AuthNamen? ollessa sama.
AuthUserFile määrittelee polun salasanatiedostoon joka luodaan htpasswd-komennon avulla.
Require määrittelee kenellä on oikeus päästä kansioon. Valid-user hyväksyy kaikki autentikoidut käyttäjät.

Salasanan luominen käyttäjälle

Salasanan luonti on mahdollista htpasswd-sovelluksen avulla, käyttäen seuraavaa komentoa:

htpasswd -c salasanatiedosto käyttäjä


-c luo uuden salasanatiedoston, ilman sitä salasana lisätään määriteltyyn jo olemassa olevaan tiedostoon.