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 hakemistolle oma konfiguraatio, sekä mahdollisuus määritellä oikeuksia htaccess-tiedoston avulla. Sen oletusportti on 80.

Apache pyörii pääasiallisesti Linux- ja Unix-käyttöjärjestelmissä, mutta se toimii myös Windowsin päällä. 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. Esimerkiksi Debianissa asennus tapahtuu käyttäen ”apt-get”-pakettihallintasovellusta:

root@resolver:~# apt-get install apache2 php5
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14 php5-cli
php5-common
Suggested packages:
apache2-doc apache2-suexec apache2-suexec-custom php-pear
The following NEW packages will be installed:
apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libonig2 libqdbm14
php5 php5-cli php5-common
0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
Need to get 2460 B/7564 kB of archives.
After this operation, 23.2 MB of additional disk space will be used.
Do you want to continue Y/n?


Painamalla ”Y”, annat apt-getille luvan asentaa sovellukset Apache 2 ja PHP 5.


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 porttia, voit muokata tiedostoa /etc/apache2/ports.conf. 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


Seuraava komento näyttää Apachen tilan:
/etc/init.d/apache2 status



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ä on mahdollista lähettää pyyntö suoraan palvelimeen saadaksesi vastauksen. Esimerkiksi palvelimen etusivun pyyntö tapahtuu seuraavasti:
telnet palvelin 80
get /index.html HTTP/1.0
2 × enter


Palvelimen vastaus on kahdessa osassa. Ensin 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 Page not found”.

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 -tiedostossa.


KeepAlive

Jos tämä muuttuja on päällä (”ON”) apache2.conf-tiedostossa, selain voi määrätä yhteyden olemaan päällä aina. 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 hakemistoon käyttämällä salasanaa. Voit määritellä ne www-hakemiston .htaccess-tiedostossa tai sites-available-tiedoston -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.


Asennus muissa distribuutioissa

Muissa distribuutioissa kuin Debianissa, asennus tapahtuu käyttäen seuraavia pakettihallintasovelluksia:

CentOS & Fedora: yum
Gentoo: emerge
OpenSUSE: zypper
FreeBSD: pkg