Debian Etch – Apache2 mit PHP5 via FastCGI und mehreren VHosts (Teil 3)

September 4th, 2008 // 1 Comment // Posted by Paeddl

Im dritten Teil des Tutorials erzeugen wir die VHost-Konfiguration für den Apache. Ich achte dabei auf Security by obscurity indem ich beispielsweise die Version unseres Webservers nicht preisgebe. Zudem bekommt jeder VHost eine eigene Logdatei, die in der Standard-Konfiguration schnell zu einer großen Datei anwächst. Wir werden Access- und Error-Datei täglich automatisiert neu anlegen um dies zu vermeiden. Zur Übersicht bekommt jede Log-Datei das aktuelle Datum in umgekehrter Reihenfolge an den Dateinamen angehangen.

Zu Teil 2

Wir wechseln zunächst in das Config-Verzeichnis indem sich die VHost-Dateien befinden (“vhost” bitte ersetzen):

# cd /etc/apache2/sites-available/
# mcedit vhost

Diese Datei bitte mit folgendem von dir abgeändertem Inhalt befüllen :

<VirtualHost *>
ServerAdmin info@example.com
ServerName example.com
ServerAlias www.example.com

ServerSignature Off
LogLevel warn
ErrorLog “|/usr/sbin/rotatelogs /var/www/vhost/log/error.%Y-%m-%d.log  86400″
CustomLog “|/usr/sbin/rotatelogs /var/www/vhost/log/access.%Y-%m-%d.log  86400″ common

DocumentRoot /var/www/vhost/web
DirectoryIndex Default.php Default.html Default.htm index.php index.html index.htm

#FCGI-Settings
PHP_Fix_Pathinfo_Enable 1

SuexecUserGroup vhost vhost

AddHandler fcgid-script .php

<Directory /var/www/vhost/web>
Options FollowSymLinks +ExecCGI
AllowOverride AuthConfig FileInfo
Order allow,deny
allow from all

#FCGID-PHP-Teil
FCGIWrapper /var/www/vhost/php-fcgi/php-fcgi-starter .php
</Directory>
</VirtualHost>

  • Zu Beginn werden ein paar obligatorische Angaben gemacht.
  • Wichtig ist die Domain über die der VHost erreichbar ist.
  • “ServerSignature Off” verbietet die Anzeige der Webserver-Version (z.B. auf einer Fehlerseite).
  • Mit “logLevel” wird eingestellt, ab welchem Nachrichten-Status gelogt werden soll (“error” wäre z.B. auch möglich, wenn man nicht schon Warnungen gelogt haben möchte).
  • Danach folgen die zwei Zeilen für unser Logrotate. “86400” steht für die Sekunden eines Tages.
  • “DocumentRoot” ist der Pfad, der öffentlich über den Browser erreichbar ist, wenn er nicht durch eine .htaccess-Datei verboten wurde.
  • Um die Startseite eines Verzeichnisses zu definieren, wird “DirectoryIndex” benutzt. Dort kann man eine Rangfolge angeben. Ich nutze grundsätzlich die “index.php” für meine Startseiten. Mit Default.php lässt sich allerdings immer noch eine Hinweis-Seite für den Fall der Fälle davor schalten.
  • Es folgt eine Eigenschaft um die Superglobale $_SERVER[‘PATH_INFO’] in PHP korrekt zu setzen.
  • Innerhalb der Directory-Tags muss dann noch der Pfad zum PHP-Wrapper gesetzt werden.

Datei nun mit F2 Speichern und MC verlassen. Nun aktivieren wir die Konfigurations-Datei für den VHost indem wir unter “sites-enabled” einen Link anlegen. Nun aktivieren wir die Seite mit (deaktivieren mit # a2dissite vhost):

# a2ensite vhost

Vielen Dank für diesen Befehl Daniel (Kommentar #1)

Wir starten den Apache neu um unsere Änderungen mit einem PHP-Skript zu testen:

# apache2 -k restart

PHP-Datei zum Testen anlegen:

# cd /var/www/vhost/web/
# mcedit info.php

Folgender Inhalt muss in die PHP-Datei:

<?php

phpinfo();

Die schließende PHP-Klammer am Ende Datei habe ich bewusst weggelassen, da die Datei bis zum Ende PHP-Code enthält – Programmierer sind Faul :-)

Im nächsten Teil des Tutorials werden wir PHP mit dem eAccelerator und dem Zend Optimizer noch ein wenig Feuer unter dem Hintern machen.

Zu Teil 4

1 Comment to Debian Etch – Apache2 mit PHP5 via FastCGI und mehreren VHosts (Teil 3)
Daniel
2008/10/07

“Ich habe bis jetzt noch keinen Befehl gefunden, der ähnlich dem “a2enmod suexec” kein Modul, sondern eine Site-Konfiguration aktiviert”

Eigentlich ganz einfach:
Site aktivieren: a2ensite vhost
Site deaktivieren: a2dissite vhost

Gruß Daniel

Leave a comment

This Blog is discontinued…

We're no longer generating content for Cityclouds. Consider it an archive for great things a group of Berliners found on the web and elsewhere from 2008 to 2012. The future is bright...

Categories

Archive