Apache2: razlike u odnosu na Apache 1.x

 Apache u inačici 2 donosi dosta novosti, ali su promjene većinom dubinske. Najuočljivije su, ipak, one u konfiguraciji. Ni one nisu prevelike, ali su ovoljne da mogu prouzročiti neispravan rad Apache web servisa, odnosno da se apache daemon uopće ne pokrene. Ukoliko na to dodamo Debian specifičnosti, ne treba posebno napominjati da je važno obratiti pozornost na te razlike. Napominjemo da je ovdje (uglavnom) opisana situacija nastala nakon instalacije paketa apache2-cn, koji pokušava prebaciti što više postojeće konfiguracije u novi format.

1. Konfiguracijske datoteke

Konfiguracijske datoteke su razlomljene na više dijelova, po jedna za svaki virtualni poslužitelj. Direktorij u kojem se nalaze sve konfiguracijske datoteke je sada, logično, /etc/apache2. Nekada najvažnija i često jedina konfiguracijska datoteka httpd.conf je sada samo tu radi kompatibilnosti. Nju zamjenjuje datoteka /etc/apache2/apache2.conf, koja sadrži osnovnu konfiguraciju apache poslužitelja i koja vrijedi za sve virtualne poslužitelje. Oduprite se izazovu i ne zlorabite ovu datoteku, nego svaki virtualni web poslužitelj posebno podešavajte (ne treba svakom virtualnom poslužitelju isti set opcija - iz sigurnosnih i drugih razloga uvijek stavite najmanji mogući).

Neke su opcije nekad smještene u monolitni httpd.conf izdvojene u posebne datoteke, npr. portovi na kojima poslužitelj sluša se nalaze u datoteci ports.conf. Svi virtualni poslužitelji imaju vlastite datoteke. O njima malo kasnije.

I dalje postoji conf.d direktorij, u koji možete staviti svoje konfiguracije, što ste pretpostavljamo davno već napravili i s direktivom Include uključivali iz httpd.conf.

# ls -l /etc/apache2/conf.d/
-rw-r--r-- 1 root root 657 Mar 19 000-carnet.conf
lrwxrwxrwx 1 root root 29 Mar 28 amavis-stats-cn.conf -> /etc/amavis-stats/apache.conf
-rw-r--r-- 1 root root 717 Jan 27 apache2-doc
-rw-r--r-- 1 root root 198 Feb 18 mailman-cn.conf
lrwxrwxrwx 1 root root 23 Apr 6 moodle -> /etc/moodle/apache.conf
lrwxrwxrwx 1 root root 27 Mar 31 phpmyadmin.conf -> /etc/phpmyadmin/apache.conf
lrwxrwxrwx 1 root root 29 Feb 20 squirrelmail-cn.conf -> /etc/squirrelmail/apache.conf

2. Lokacija logova

Lokacija logova je, slijedeći logiku imena paketa, /var/log/apache2. No, ukoliko u konfiguraciji vaših virtualnih poslužitelja imate navedeno CustomLog ili ErrorLog u /var/log/apache, oni će tamo i ostati. Opasnost postoji ukoliko potpuno uklonite apache 1, jer će se obrisati i vaš logovi koje se i dalje snimaju u /var/log/apache. Dakle, nakon instalacije apache2-cn, još neko vrijeme nemojte brisati staru konfiguraciju.

3. Virtualni poslužitelji.

Svaki virtualni poslužitelj ima svoju konfiguracijsku datoteku. Sve se one nalaze u /etc/apache2/sites-available u ovom obliku:

-rw-------  1 root root  612 Feb 26 08:45 003-site
-rw------- 1 root root 1167 Aug 16 2007 default
-rw------- 1 root root 449 Feb 26 08:45 moodle.institucija.hr
-rw------- 1 root root 499 Feb 26 08:45 site.institucija.hr
-rw------- 1 root root 324 Feb 26 08:45 www.institucija.hr

Ukoliko virtualni web poslužitelj nije bio definiran s imenom, dobit će generičko brojčano ime, no samo ime datoteke nije bitno. Datoteka default određuje ponašanje poslužitelja ukoliko nemate definiran nijedan virtualni poslužitelj, odnosno vrijedi samo ako ste apache2 instalirali na čisti, novi poslužitelj. Ukoliko u njoj ima nešto što vam treba, prebacite u odgovarajući virtualni poslužitelj, ili eventualno u apache2.conf.

Ono što je zanimljivo je način na koji se ovi virtualni poslužitelji uključuju. Naime, nije dovoljno da imate definiran virtualni poslužitelj, nego on mora biti simbolički linkan na datoteku u direktoriju /etc/apache2/sites-enabled. Ukoliko link u direktoriju ne postoji, postojeća konfiguracija neće biti učitana. Ovo omogućuje veliku fleksibilnost i mogućnost eksperimentiranja bez opasnosti da uništite postojeću konfiguraciju: jednostavnom promjenom linka na datoteku dobijate sasvim drugačiju konfiguraciju.

Linkanje se ne mora obavljati ručno, nego za to postoje dvije naredbe: a2ensite i a2dissite. Kako bi uključili novi virtualni poslužitelj, napravite:

# a2ensite www.institucija.hr
Site www.institucija.hr installed; run /etc/init.d/apache2 reload to enable.

Obrnuto, virtualni poslužitelj se isključuje sa:

# a2dissite www.institucija.hr
Site www.institucija.hr disabled; run /etc/init.d/apache2 reload to fully disable

Da bi navedene naredbe dobile svoj učinak, morate napraviti po preporuci i restartati apache2.

4. Moduli

Isto kao i virtualni poslužitelji, i moduli su izdvojeni iz zajedničke konfiguracije. Sada se svi moduli nalaze u direktoriju /etc/apache2/mods-available. Pojedine module uključujete naredbom:

# a2enmod modul
Module modul installed; run /etc/init.d/apache2 force-reload to enable.

Isto tako, pojedine module isključujete sa naredbom:

# a2dismod modul
Module modul disabled; run /etc/init.d/apache2 force-reload to fully disable

Da bi navedene naredbe dobile svoj učinak, morate napraviti po preporuci i restartati apache2.

Vijesti: 
Kuharice: 
Kategorije: 
Vote: 
4.5
Vaša ocjena: Nema Average: 4.5 (2 votes)