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 {

© 2001 - 2024 Frank Remetter