apache2 mit php und mysql
$ apt-get install apache2 apache2-common apache2-mpm-prefork apache2-utils
Möchte man eine rein statische Seite (nur html) aufbauen, werden stattdessen folgende Pakete empfohlen.
$ apt-get install apache2 apache2-common apache2-mpm-worker apache2-utils
Apache2 ist in der Konfiguration praktischer als sein Vorgänger.
Seiten/Vhosts werden in /etc/apache2/sites-available/ definiert/konfiguriert und
mit a2ensite aktiviert bzw. mit a2dissite deaktiviert. Ähnlich verhält
es sich mit den Modulen. Die bereits installierten liegen in /etc/apache2/mods-available/
und werden mit a2enmod aktiviert bzw. mit a2dismod deaktiviert.
Zwei Beispielkonfigurationen für ssl sind in /usr/share/doc/apache2/examples zu finden.
php
Das php4-Modul für apache2 installiert und aktiviert sich folgendermassen:
$ apt-get install libapache2-mod-php4
$ a2enmod php4
Einige Konfigurationseinstellungen (php.ini) zur Absicherung eines php-fähigen Webservers sind
unter linux->sicherheit zu finden.
mysql
Die mysql-Erweiterung für php4:
$ apt-get install php4-mysql
Danach sollte sich folgendes in /etc/php4/apache2/php.ini befinden:
extension=mysql.so
Sollte sich im Netz kein mysql-Server befinden, kann man diesen mit folgenden Befehl auf dem lokalen
Rechner innstallieren:
$ apt-get install mysql-server
Achtung: Debian richtet einen Benutzer root mit allen Rechten ein, der kein Passwort hat.
Folglich sollte man unmittelbar nach der Installation ein Passwort für diesen mysql-Benutzer
vergeben. Ansonsten kann jeder lokale Benutzer die Datenbank manipulieren bzw. bei der Installation
von phpmyadmin jeder, der auf das Webinterface zugreifen kann.
virtual host
Beispiel für einen VHost:
# /etc/apache2/sites-available/stats
<VirtualHost *>
ServerAdmin webmaster@my.dyndns.domain
ServerName stats.my.dyndns.domain
ServerAlias stats
DocumentRoot /var/www/stats/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/stats/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/stats/error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/stats/access.log combined
ServerSignature Off
</VirtualHost>
Damit man auf diesen Vhost auch zugreifen kann, muss natürlich im DNS der ServerName
auch mit der IP des Servers in Verbindung gebracht werden, entweder über einen CNAME, einen
A-Record oder eine Art Domain-Catch-All.
Bevor man diesen VHost mit a2ensite aktiviert sollte man jedoch noch die benötigten
Verzeichnisse anlegen:
$ mkdir /var/www/stats /var/log/apache2/stats
Damit nun auch noch die Logrotation für diesen und mögliche weitere VHosts funktioniert,
gilt es noch /etc/logrotate.d/apache2 anzupassen, dazu ändert man einfach nur die erste Zeile
um in:
/var/log/apache2/*.log /var/log/apache2/*/*.log {