Exit

Es gibt mittlerweile viele Wege um einen Webserver aufzusetzen und ihn anschließend optimal zu konfigurieren. Ich zeige euch heute eine der leichtesten und zugleich effektivsten.

Die meisten Admins versuchen das Problem mit den Sicherheitsfeatures von PHP zu erschlagen, und spielen mit Konfigurationen wie open_basedir oder safe_mode rum, andere versuchen PHP – mit Hilfe des Paketes suphp – als den jeweiligen User auszuführen.

Meine Methode geht direkt auf den Apache los, dort wo es wohl am schlauesten ist. Mit dem Paket apache2-mpm-itk von Ubuntu bzw. Debian ist es möglich jeden VHost als einen separaten User auszuführen.

Ich habe mich momentan für den Ubuntu 10.04 LTS Server entschieden, da hier alle benötigten Pakete in einer aktuellen Version vorhanden sind. Für die Installation benötigt ihr folgende Befehle:

Falls bei eurer Installation kein aptitude vorhanden ist müsst ihr es vorher mit „apt-get install aptitude“ installieren.

Konfiguration des FTP-Servers:

PureFTPD ist sehr sicher und leicht zu konfigurieren. Für einen reibungslosen Betrieb Schlage ich folgende Parameter vor:

Da PureFTPD und apache2-mpm-itk auf Unixbenutzer geht, müssen wir normale Benutzer anlegen. Natürlich wollen wir nicht dass diese Benutzer einen Shell-Zugang auf unseren Server bekommen. Deshalb fügen wir /dev/null zu den shells hinzu – was dazu führt, dass User den FTP-Dienst benutzen können, jedoch keine Shell auf dem Server aufrufen dürfen.

Mithilfe von „echo /dev/null >> /etc/shells“ fügt ihr /dev/null an das Ende der Datei hinzu.

Einen Benutzer anlegen:

Es ist gewollt, dass der Ordner logs als User root angelegt wird – der ftp-Nutzer sollte keine Erlaubnis haben Log-Dateien zu löschen, sondern nur anzusehen.

An diesem Punkt könnt ihr euch zum ersten mal auf eurem Server via ftp einloggen.

Konfiguration von Apache:

In der Standardkonfiguration ist das rewrite modul, welches von vielen cms’en wie Joomla oder Typo3 gerne verwendet wird deaktiviert. Mit dem Befehl „a2enmod rewrite“ könnt ihr dieses Modul aktivieren. Nach jeder Änderung müsst ihr den Webserver neustarten „/etc/init.d/apache2 restart“

Der restliche Zauber findet in der VHost datei statt. Hier ein Beispiel wie sie bei mir aussieht:

Zum Schluss die default Seite deaktivieren und die neu erstellte Seite aktivieren und anschließend den Webserver reloaden.

Logrotate konfigurieren:

Ich habe zusätzlich noch Logrotate so konfiguriert, dass die Apache Logs ein Jahr aufgehalten werden. Eine neue Datei „vi /etc/logrotate.d/www.example.com“ mit folgendem Inhalt anlegen:

Der Server sollte somit fertig sein. Falls ihr Anregungen bzw Verbesserungsvorschläge habt, würde ich mich freuen wenn ihr mir eine Nachricht hinterlasst.

Leave a reply

Close
Go top