Powered by Apache

Apachen perusteet.

By: Janne Heinikangas

Ohjeistus Apachen konfigurointiin.

Pahoittelen tekstissä mahdollisesti olevia kirjoitusvirheitä!


Perusasennus


Oletan tekstissäni, että Apache on asennettu joko Windows tai Linux järjestelmääsi ja aloitamme siis konfiguroinnin Otamme käsiteltäväksi Apachen tärkeimän konfigurointitiedostot: httpd.conf, access.conf ja srm.conf

Oheinen taulukko sisältää Apachen konfigurointitiedostot näitä voit vapaasti muokata millä tahansa tekstieditorilla. Käy taulukossa näkyvät kohdat lävitse ja tee tarpeelliset muutokset.


httpd.conf Mikä tämä on?
Port 80 WWW-serverin käyttämä TCP-portti. Vakiona 80.
MinSpareServers 3
MaxSpareServers 10
StartServers 3
MaxClients 100
Näillä valitaan, paljonko palvelin varaa itselleen resursseja. Mitä suuremmaksi luvut muutetaan, sitä enemmän Apache varaa itselleen resursseja ja sitä useampia käyttäjiä voidaan palvella. Noilla luvuilla toimii vielä melko suurikin verkko ja lukuja tuskin kannattaa peruskäytössä suurentaa kovin tolkuttomasti.
ServerAdmin Tässä määritellään serverin ylläpitäjän sähköpostiosoite nimi@nimi.net
ServerName www.domain.foo Ilmaisee, mistä osoitteesta selaimet löytävät WWW-palvelimen. Tähän ET voi laittaa mielivaltaisesti mitä tahansa osoitetta vaan sinulla on oltava oikeudet tähän domainiin.
access.conf Mikä tämä on?
<Directory"/usr/local/httpd/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> Oheinen rivi lisättynä antaa oikeuden kaikille ajaa cgi skriptejä.
srm.conf Mikä tämä on?
DocumentRoot "/home/httpd/html" Dokumenttihakemisto, tämän hakemiston alla sijaitsee juurihakemisto, jota Apache käyttää hakiessaan esim. HTML-dokumentteja.
UserDir public_html Hakemisto, jonka käyttäjät tekevät oman kotihakemistonsa alle saadakseen kotisivunsa palvelimelle. Esim. käyttäjällä bar kotihakemiston alihakemistossa public_html sijaitseva dokumentti sivu.html näkyy ulospäin oletusasetuksilla osoitteessa http://www.domain.foo/~bar/sivu.html
DirectoryIndex index.html index.htm index.shtml index.cgi Tiedosto(t), joka ajetaan vakiona pelkkää hakemistoa katsottaessa. Oletuksena siis esim. /home/httpd/html/index.html-tiedosto näkyy palvelimen "ensimmäisenä" sivuna sivuille mentäessä.
Alias /icons/ "/home/httpd/icons/" Määrittää aliaksen hakemistolle /home/httpd/icons/. Tämä näkyy webbiserverillä http://www.domain.foo/icons/-hakemistona.
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/" Määrittää skriptialiaksen hakemistolle /home/httpd/cgi-bin/. Tämä näkyy webbiserverillä http://www.domain.foo/cgi-bin/-hakemistona

Nyt Apache on peruskonffattu eli voit seuraavaksi käynnistää palvelimen. Riippuen käytätkö Windows vai Linux Apache käynnistys tapahtuu seuraavasti:

Oheessa pienoinen vihje Linux - käyttäjille. Jos haluat serverin käynnistyvän aina yhdessä Linuxin kanssa muokkaa tiedostoa /etc/rc.d/rc.local ja lisää käsky httpd sinne.


Toimivuuden testaus


Voit nyt testata helposti palvelimen toimivuutta käynnistämällä selaimesi ja surffaamalla asetuksissa määrittelemääsi domainiisi esm: http://oma.domain.com Perusasennuksen jälkeen yleensä näytetään Apachen versiosta riippuen jonkinlainen Apachen It's works! - sivu. Kokeile myös verkkosi eri koneilta pääseekö sivullesi.

Huomioi myös, että jos käytät Linuxissa palomuuria esim: IPChains pohjaista tulee sinun sallia liikenne porttiin 80

Onneksi olkoon Apache serveri on nyt toiminassa ja siirrymme syvällisempään säätämiseen.

Sivujen siirtäminen palvelimelle.


Sivut voidaan siirtää palvelimelle joko paikallisesti kopioimalla ne oletuskotihakemistoon, joka määriteltiin tiedostossa srm.conf. Toinen mahdollisuus on käyttää FTP:tä, joka tietysti edellyttää palvelun päällekytkentää. Tavallinen käyttäjä voi luoda kotihakemistoonsa public_html-hakemiston, johon sitten kopioi kotisivunsa. Huomaa, että tiedostoille täytyy antaa käyttöoikeus kaikille, jotta muut näkisivät sivut.

Perushakemisto jonne sivut siirretään on Linuxissa yleensä /home/tunnus/http/

Omat virhesivut.


Omat virhesivut ovat hauska lisä palvelimelle korvaamaan selaimine kieltämättä tylsähköt virheilmoitukset.

Virhesivujen toteuttaminen on erittäin helppoa. Teet ensin mieleisesi virhesivun HTML:nä esimerkin valmiista virhesivusta näet täältä!
Oheessa lista perus virhesivuista jotka kannattaa toteuttaa:


Kattavan virhekoodilistan näet täältä!

Kirjoita mieleisesi virhesivu ja tallenna se virhettä kuvaavalla nimellä käytä yleisesti sovittua standardia virheen_numero.html eli olet tehnyt vaikkapa 404 virhesivun tallenna se perushakemistoosi nimellä 404.html

Tehtyäsi tarpeelliseksi katsomasi virhesivut lisää seuraava litania
httpd.conf-tiedostoosi:

Ylläolevan esimerkin valossa:

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
ErrorDocument 403 /403.html
ErrorDocument 400 /400.html
ErrorDocument 501 /501.html
ErrorDocument 502 /502.html

Nyt palvelimellasi toimivat omat virheilmoituksesi ja niistä joitakin voit testata vaikkapa seuraavasti. http://oma.domain.com/tätätiedostoaeiole.html
Eli nyt palvelimellasi vierailijan viitatessa html-dokumenttiin jota ei palvelimella ole tulee näkyville 404 virhesivusi jne.

Apache on nyt konfiguroitu toimimaan peruskäyttöön on aika ottaa askel kohti...

Syventävät opinnot


Perusasennus on selvä ja palvelimesi toimii kuin ajatus. Tuntuuko siltä, että sisälläsi kiehuu sanoinkuvaamton tarve lisätä tuki PHP-skripteille, sekä tietokantapalvelimelle. PHP tuo tullessaan jykeviä lisäominaisuuksia palvelimellesi ja mm. MySQL palveimen avulla pystyt jo toteuttamaan melkoisia tuotoksia palvelimellesi.

Apache, PHP4 ja MySQL ovat ilmaista ja tehokasta teknologiaa seuraavassa käsittelemme lyhyesti PHP4 ja MySQL-tuen lisäämistä Apache-pohjaiselle palvelimellesi Alustana käytämme Windows 98a

Huomio! Vastaavien toimintojen sisällyttämisohjeet Linux-järjestelmään lisään aikanaan, mutta periaate on lähes sama kuin Windows asennuksessa.

Vaihe 1: Lataa PHP


Hakeaksesi PHP4 surfaa osoitteesen www.php.net/downloads.php ja kohdasta "Windows 32 Binaries" valitse PHP 4.0.2 tai mikä viimeisin versio onkaan.

Vaihe 2: Asenna, konfiguroi ja testaa PHP


Pura zip paketti hakemistoon c:\php4win.
Kun olet purkanut paketin katso hakemistoon c:\php4win\
Jos näet 18 tiedostoa, joista suurin osa alkaa tekstillä "php", olet asentanut PHP4:n oikein!

PHP-Konfigurointi.
Luo hakemisto c:\phpweb. Täällä sijaitsevat PHP-tiedostosi. Uudelleennimeä tiedosto c:\php4win\php.ini-dist nimelle php.ini. Avaa tämä this php.ini tiedosto tekstieditoriin ja muuta kohdat doc_root ja extension_dir seuraavasti:



Seuraavaksi siirrä tiedostot php.ini ja php4ts.dll Windows hakemistoosi esim: c:\windows
Voit seuraavaksi nyt huoletta poistaa c:\php4win hakemistosta tiedoston php.ini jos se siellä edelleen on sillä sehän on jo turvassa Windows hakemistossasi sekä jos jätät tiedoston c:\php4win hakemistoon saattaa se myöhemmin aiheuttaa ongelmia.

Seuraavaksi konfiguroimme Apachen toimimaan PHP-tuen kanssa.
Avaa Apachen konfigurointitiedosto httpd.conf
Etsi siitä kohta DocumentRoot ja <Directory> rivit ja muuta ne seuraavasti:



Rivin AddType application/x-tar .tgz alle lisää seuraava:



Huomioi! Varmista tarkkaan, että olet kirjoittanut kaiken tarkalleen oikein.

PHP-Tuen testaus.

Tarvittaessa uudelleenkäynnistääksesi Apache-serverin, klikkaa START -> PROGRAMS -> APACHE WEB SERVER -> STOP APACHE, ja käynnistä se uudelleen: START -> PROGRAMS -> APACHE WEB SERVER -> START APACHE IN CONSOLE

Teemme seuraavaksi lyhyen yhden rivin php-skriptin c:\phpweb\test.php
Today is <? print strftime("%m/%d/%Y"); ?>
Avaa selaimesi ja surfaa osoitteeseen: http://localhost/test.php Jos näet sanan "Today is" ja perässä päiväyksen olet onnistuneesti konfiguroinut PHP4-tuen palvelimellesi!

Vaihe 3: Lataa, asenna, käynnistä ja testaa MySQL


Hae paketti osoitteesta http://www.mysql.com/Downloads/MySQL-3.23/mysql-3.23.49-win.zip
Aja setup.exe. Asennusohjelma on simppeli ja ainoastaan pääset klikkailemaan Yes ja Next namiskoita.

Asennuksen jälkeen on MySQL käynnistettävä. Mene hakemistoon jone asensit MySQLn ja alihakemistoon bin ja klikkaa winmysqladmin.exe jolloin MySQL-käynnistyy. Jos MS-DOS kehote ikkuna aukeaa hetkeksi teit kaiken oikein ja homma pelaa kuten pitääkin.

Testaus:

Luo tiedosto hakemistoon c:\php4web tiedosto testmysql.php
Tekstieditoriin huitaiset seuraavan testikoodin ja tallennat sen:

<pre>
<h3>Press RELOAD to add a record to the MySQL database:</h3>
<?
//establish user connection
mysql_connect("localhost");
//open up database
mysql_create_db("testdatabase");
mysql_select_db("testdatabase");
//create table
mysql_query("CREATE TABLE newone(firstName VARCHAR(25), lastName VARCHAR(25))");
mysql_query ("INSERT INTO newone (firstName, lastName) VALUES ('John', 'Tester')");
//display the information
$result = mysql_query ("SELECT * FROM newone");
while($row = mysql_fetch_array($result))
{
print ("Added record: " . $row["firstName"]." ".$row["lastName"]."<br>\n");
}
//close user connection
mysql_close();
?>
</pre>


Sitten vain ajamaan testiä osoiteessa http://localhost/testmysql.php
Joka kerran kun klikkaat RELOAD-nappulaa, näet uuden lisäyksen tietokantaan.

Nyt Apache - palvelimesi käsittää sekä PHP4, että MySQL-tuen. Bonuksena asennamme vielä SSI-tuen tämä on yleispätevä ohje sekä Windowsiin, että Linuxiin.


SSI-Tuen lisääminen Apacheen.


SSI on lyhenne sanoista Server Side Include. Tällöin saat käyttöön laajempia toimintoja esim. jotkin Perl skriptit vaativat SSI-tukea. Käytäessäsi SSI-Tukea kaikki sivut tulee tallentaa muotoon nimi.shtml.

SSI:n asennus on erittäin helppoa. Avaa Apachen konfigurointitiedosto httpd.conf
Etsi tiedostosta kohta:
   Options Indexes FollowSymLinks MultiViews Indexes
# To use server-parsed HTML files
#
# AddType text/html .shtml
# AddHandler server-parsed .shtml 


Ota kahdelta viimeksi mainitulta riviltä #-merkit pois ja korvaat ensimmäisellä rivillä olevan sanan "Indexes" sanalla "Includes". Tuloksen pitäisi näyttää tältä:

Options Indexes FollowSymLinks MultiViews Includes
# To use server-parsed HTML files
#
  AddType text/html .shtml
  AddHandler server-parsed .shtml 

Tallenna muutokset ja sinulla on kotipalvelimessasi SSI-tuki!

Loppusanat

Nyt palvelin on konfiguroitu ja sinulla on PHP4, MySQL ja SSI-tuettuna. Melkoisen tehokas palvelimesi kaipaa enää Perl-tukea ja siitä myöhemmin lisää ...siihen asti:


Kuolemiin!



Janne Heinikangas 2002
Tähän tekstituotokseen sovelletaan GPL-lisenssiä ja sen levitys on sallittua kyseisen lisenssin mukaisesti.