20/11/2003

Apache

Filed under: — cybrarian @ 11:34 pm
Apache (crea 11/2003 )

  installerenorganisatie

Modulaire en meestgebruikte webserver
Er is op dit moment een 1.3.29 versie en een 2.0 versie.
www.apache.org (algemeen)
apache.belnet.be/dist/httpd/
(Belgische mirror, upd 18/11/2003)


Installeren:
Broncode afhalen (zie links)
apache_1.3.29.tar.gz
tar.gz bestand uitpakken, compileren
uncompress of gzip -d apache_1.3.29.tar.gz

tar xf apache_1.3.29.tar
directory met broncode in src
verplaats directory naar /usr/local
mv apache_… /usr/local/
Maak symbolische link naar
ln -s apache_1.3.29/ apache

controleer met ls -l
het “configure” script kijkt of alles er is wat nodig is, en maakt make file, kan parameters meekrijgen voor locatie allerlei
./configure (kan warning geven)
make compileert broncode


Organisatie:
binary of programmadirectory
per site:
conf configuratiebestanden httpd.conf

htdocs: inhoud van de site
log directory


Programmawerking:
proces httpd start voor elke client-aanvraag een sub-proces “child process”.

modules compileren in binary of dynamic shared objects (DSO) en in configuratie opnemen om de module te laden bij het starten van
de webserver.

user en groep bijmaken
groupadd webgroup
useradd -d /nonexist -s /bin/false -g webgroup webuser

start apache met apache control script in de bin dir: apachectl
argumenten: start, stop, restart, status, …
domeinnaam voor website-fout – neemt dan ip adres als servernaam

controleren op command prompt kan met lynx localhost of lynx ip.address.of.machine

Configuratie
– in directory conf staat httpd.conf en backup als httpd.conf.default
Best begin je met een leeg httpd.conf bestand, “from scratch”
Gebruiker nobody wordt door te veel andere processen gebruikt,

maak een nieuwe user en group, bv webuser en webgroup, en zet dat in het configuratiebestand
user webuser
group webgroup

Servernaam kan aangegeven worden met ServerName naam, root met ServerRoot directory (standaard htdocs)

Bij meer documentRoots bv moet je een blok maken per virtual host

met < Directory /web/test1>
DocumentRoot /web/test1 (slecht voorbeeld)

Ook file en virtualhost zijn toegelaten als sleutelwoord voor blok
Wildcards zijn hier interessant, tilde om aan te geven dat expansie nodig is
< Directory ~ /web/*/private>

beveiliging

webuser geen eigenaar maken van de web directory; een indringer kan langs daar de hele directory verwijderen.
Beter is dus other op de dir rx rechten te geven : bij inbraak kan men dus alleen de dirs lezen, niet wissen.
options directive: all, none, of reeks opsomming
follow symlinks: verwijzingen in map volgen?

Options: soms met plus en min aan en afzetten, tov eigenschappen hogere directory
Het is mogelijk om via een link toegang te geven tot een dir die in de directives Options None staat als FollowSymlinks aan staat

Virtual Hosting
Aparte apache draaien per website heeft veel overbodige overlay
Dus binnen zelfde machine werken: name based, ip-based, port-based virtual hosts

Normaal 1 ip adres per machine-netwerkkaart, maar er is mogelijkheid anders te configureren met ipconfig eth0:0 192.168.123.999 up

Meer sites op hetzelfde adres; in dns zo configureren dat www.faraway of sales.faraway op zelfde ip-adres komen.
Vanaf http 1.1 wordt die site meegestuurd, maar dat is nog niet genoeg ingeburgerd (browser moet het meesturen)
Port-based: is mogelijk voor intranet omdat achter de url ook het poortnummer moet gegeven worden, maar moeilijker voor extern, tenzij
voor speciale diensten.

Authenticatie

basic: in Apache 2.0 vervangen door Digest, een ssh-achtig systeem
AuthName: eens binnen geldig voor hele bereik
group en user files
valid-user : eender welke user met geldige naam en password.
Beveiliging met deny from all en daarna allow from 192.168.123.201
let wel op de standaard volgorde order allow, deny (anders leest hij eerst deny en daarna allow, en past laatste toe)

werken met subnets mag, bv allow from 192.168 of 192.168.0.0 of 192.168.0/24 (wildcards zoals *.faraway.com)

.htaccess
laat toe op directoryniveau configuraties te gaan doen zoals toegang tot directory
Vertraagt de server door hierarchisch zoeken naar bestanden.
Apache kan opgelegd worden enkel in een bepaalde dir te zoeken naar zo’n htaccess

UserDir geeft aan waar een gewone unixgebruiker zijn subdir moet maken om te publiceren.
Met shell access kan gebruiker ook zelf directories


www.apache.org (algemeen)
apache.belnet.be/dist/httpd/

Reacties zijn gesloten.

Powered by WordPress