Apache Konfiguration
Nun konfigurieren wir den Apache Webserver. Wir vergeben also ein Document Root und Logfiles. Wir machen ihn Bootfähig so das wir sagen können das er läuft
Als erstes will ich bemerken das ich die Apache Konfiguration immer nach /etc/apache lege. Dort include ich dann die Default-Package Konfiguration. Somit erreiche ich eine Trennung zwischen meiner Konfiguration und der des Systems. Auch wenn ein Paket nun der Meinung ist das System Konfigurationsfile weg zuwerfen, habe ich immer noch meine. Aber letztendlich kann es jeder machen wie er will
Ich erstelle erst einmal ein Apache Konfigurations Verzeichnis und meine Verzeichnisse wo ich mein DocumentRoot hin haben will
mkdir /etc/apache
mkdir -p /pool/ANY/htdocs /pool/ANY/logs
und lege meine eigene /etc/apache/httpd.conf dort hinein
include /usr/local/etc/apache22/httpd.conf
<Directory "/pool">
Options MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
NameVirtualHost MEINE_IP:80
Listen MEINE_IP:80
include /etc/apache/vhost-ANY.conf
Ich vergebe also dem /pool in seiner Gesamtheit quasi alle Rechte und definiere MEINE_IP als NameBased Server. Danach include ich den sogenannten ANY Server. Ich nenne den so. Dieser Server bekommt ALLES ab was auf diese IP läuft. Wir werden später wenn wir ein Host hinzufügen mit einem echten Namen sehen was uns das bringt.
In der /etc/apache/vhost-ANY.conf erstellen wir die ANY Konfiguration
<VirtualHost MEINE_IP:80>
ServerName *
DirectoryIndex index.html
ErrorDocument 404 /index.html
DocumentRoot "/pool/ANY/htdocs"
CustomLog /pool/ANY/logs/access_log combined
ErrorLog /pool/ANY/logs/error_log
</VirtualHost>
Dieser Default Host frisst ALLES, jeden Hostname egal was ... es landet bei dem ! Wir erstellen noch eine kleine index.html
echo "Hallo" >/pool/ANY/htdocs/index.html
So danach machen wir in Boot fest und geben dem Startmodul unsere neue Konfiguration in der /etc/rc.conf mit
apache22_enable="YES"
apache22_flags="-f /etc/apache/httpd.conf"
Und wir starten ihn
/usr/local/etc/rc.d/apache22 start
Ein Blick in die Prozessliste zeigt das er rennt, das testen wir auch gleich mal aus. Entweder mit einem Browser oder mit wget
cd
wget http://MEINE_IP
HTTP request sent, awaiting response... 200 OK
Length: 6 [text/html]
Saving to: `index.html'
2011-08-27 21:57:20 (230 KB/s) - `index.html' saved [6/6]
cat index.html
Hallo
rm index.html
Soweit so gut. Der Apache rennt. Was noch fehlt ist das PHP