Ubuntu - Trusty Tahr - Indikator Design

Ubuntu 14.04 – PHP-FPM , Apache, mpm_event, Virtual Hosts

PHP-FPM mit Apache mpm_event und VH für WordPress

Bei der eigenen Recherche fiel mir auf, dass beeindruckend viele Schwierigkeiten dabei hatten das Upgrade auf Ubuntu 14.04 LTS (Trusty Tahr) durchzuführen. Ich möchte hier nicht näher auf die vorangegangenen Versionen eingehen, sondern das Vorgehen unter dem Aspekt einer Neuinstallation beleuchten, so wie sie bei mir funktioniert hat. Es wird dann bestimmt jeder imstande sein, die notwendigen Schritte selbst abzuleiten. Die hier angewendeten Pakete wurden insbesondere für die spätere Verwendung mit WordPress gewählt. Einzelne Pakete können für andere CMS abweichen. Hier bitte selbst noch einmal im Einzelnen prüfen was tatsächlich notwendig ist und worauf verzichtet werden kann. Wir gehen also hier im weiteren Verlauf von einem Clean-Install mit Ubuntu 14.04 LTS (Trusty Tahr) auf einem VPS oder Dedicated-Server aus.

1. Die Installation von LAMP

Um mit den jeweils neuesten stabilen Versionen von PHP und Apache für Ubuntu arbeiten zu können, wählen wir die PPA-Repositorien, doch zunächst einige grundlegende Pakete wie Curl, Zip, WGet und mehr und einige Pakete als Fallback bei Beadarf:

2. Nun ändern wir für spätere PHP-Anwendungen den First-Index-Type:

3. Dann die Installation von MySQL

Hier greifen wir auf die sicherere Installationsroutine zurück:

Mit der Konfiguration wie folgt:

Möchten wir nun zur höheren Sicherheit auch den Standard-Port verändern, legen wir uns eine Kopie der Konfigurationsdatei an, um diese später jederzeit zurücksetzen zu können. Dann öffnen wir diese und führen die Änderungen durch:

Um remote auf MySQL zugreifen zu können kommentieren wir noch zusätzlich bind-address aus:

Neustart:

4. Implementierung von PHP-FPM

Wir verzichten auf die alten (und überflüssigen) mod_cgi, mod_fcgid und mod_fastcgi und nutzen stattdessen:

Da zum jetzigen Zeitpunkt (Apache 2.4.9) leider keine Sockets über Fast-CGI unterstützt werden, müssen wir auf TCP zurückgreifen. Hier wird der Port 9000 eingetragen, dieser kann jedoch variieren:

5. PHPMyAdmin installieren und vorbereiten

(wenn gewünscht)

Dann sichern und öffnen wir:

Hier tragen wir folgendes ein:

Jetzt wird die angelegte Konfigurationsdatei noch ans Ende der Apache-Konfiguration eingebunden:

Neustart:

Aufgerufen werden kann PHPMyAdmin dann über:

6. Nun generieren wir ein Verzeichnis für den ersten Virtual Host

Hier definieren wir die Zugangsberechtigungen:

7. Konfiguration des Virtual Host

Dazu gehen wir in das Apache-Verzeichnis „Sites-Available“ und legen dort eine neue Datei mit dem Namen der Domain an

Dort fügen wir die folgenden Zeilen ein. Die domainspezifischen Angaben (Großbuchstaben) müssen noch individuell angepasst werden:

Sockets werden wie bereits erwähnt momentan nicht unterstützt, der Vollständigkeit halber gebe ich sie dennoch an, da die fehlende Einsatzfähigkeit derzeit wohl einfach auf einen Bug in Apache zurückzuführen ist, der hoffentlich bald behoben wird:

Dann noch die Einträge in die Hosts-Datei. Ohne funktionierte es bei mir nicht..

Nun muss der Virtual Host noch aktiviert werden:

Dann ein Neustart:

Check:

9. Einschalten des Moduls mpm_event

Derzeit läuft Apache noch unter mpm_prefork. Das möchten wir natürlich ändern. Außerdem aktivieren wir das Rewrite- und Expire-Modul:

10. Testen des Virtual Hosts

Nun legen wir in die konfigurierte Domain eine PHP-Info in Form einer index.php:

Dort fügen wir folgendes ein:

Zum Test noch eine index.html dazu legen:

Folgendes fügen wir hier ein:

Nun sollte beim Aufruf der Domain die PHP-Info ausgeliefert werden, da weiter oben eingetragen wurde, dass PHP-Dateien bevorzugt zu behandeln sind. Danach einfach testhalber die HTML Datei abfragen:

Nun können beide Index-Dateien wieder gelöscht werden:

Um PHP, Apache und MySQL zu konfigurieren, dienen die folgenden Dateien:

11. Outro

Das war es erst einmal an dieser Stelle. Ich wünsche viel Erfolg bei der eigenen Umsetzung. Über Verbesserungsvorschläge freue ich mich natürlich. Dazu einfach die Kommentare benutzen oder das Kontaktformular.

In einem der kommenden Beiträge wird es darum gehen, das hier aufgesetzte System zu härten, die Performance zu steigern und das Resultat verschiedenen Stresstests zu unterziehen. Es geht dabei um Themen wie: Port-Knocking über knockd, Absicherung des SSH-Zugriffs, Konfiguration von SFTP, iptable, fail2ban, psad, acl, Secure shared Memory, sysctl-hardening und -performance, bind9, Unterdrückung von IP-Spoofing, modesurity, modevasive, chkrootkit, rkhunter, tiger und vor allem Performance-Steigerung durch Konfiguration von PHP, MySQL, Apache und natürlich Caching.

Dann geht es weiterhin noch um verschiedene Monitoring-Tools, und Stresstests mit der Simulation von vielen gleichzeitigen Anfragen, sowie prinzipiell sysbench um die CPU voran zu treiben. Dabei werden wir dann feststellen wo die Grenzbereiche bei der Auslastung des eigenen Servers liegen.

Bei allen Einstellungen wurden selbst gute Erfahrungen gesammelt, es wird jedoch seitens des Autors keinerlei Haftung übernommen. Die Anwendung aller hier beschriebener Installationsroutinen erfolgt ausschließlich auf eigene Gefahr. Wenn Sie unsicher bei der Anwendung sind, kontaktieren Sie jemanden mit ausreichender Erfahrung. Auch beschreibt dieser Artikel lediglich die Grundlage für ein performantes System, welches so nicht für den Live-Einsatz taugt, da es erst noch mit verschiedenen Konfigurationen effizienter gestaltet und mit einigen Sicherheitsmaßnahmen abgesichert werden sollte.

Sie haben Fragen zur Umsetzung, diesem Artikel oder sind froh über ein wenig Unterstützung und möchten uns gerne buchen? Zögern Sie nicht. Nutzen Sie jetzt gleich das Kontaktformular. Gemeinsam ist das Leben leichter. Lassen Sie das Web für sich arbeiten!

Viel Erfolg!

Indikator Design: Infos zu Webdesign Mainz, Webdesign Wiesbaden, Webdesign Frankfurt, Fotografie Mainz, Fotografie Wiesbaden, Fotografie Frankfurt, Suchmaschinen-Optimierung SEO Mainz, Suchmaschinen-Optimierung SEO Wiesbaden, Suchmaschinen-Optimierung SEO Frankfurt, WordPress Mainz, WordPress Wiesbaden, WordPress Frankfurt

Weiterverwendung dieses Artikels

Sie haben Interesse daran diesen Artikel zu teilen oder bei sich zu verwenden?

Das dürfen Sie gerne machen, insofern Sie den nachfolgenden Text dazufügen:

Veröffentlicht auf Indikator-Design.de – Aktuelle Informationen zu Webentwicklung, WordPress, Webdesign, Bildbearbeitung, Visualisierung und Video-Compositing.

Herausgeber Bruno Bouyajdad

Bruno Bouyajdad

Webentwicklung und Webdesign, Fotografie, Bildentwicklung, WordPress, Video-Compositing, Panorama-Fotografie und Virtuelle Touren.
Das sind die Bereiche in denen Bruno Bouyajdad sich hauptsächlich bewegt.
Er ist Computerbegeisterter, WordPress-Enthusiast, Erfolgscoach, Blogger, Lebemensch.
Webagentur Mainz, Wiesbaden, Frankfurt.

Weitere Beiträge - Webseite

Folgen Sie mir:
TwitterFacebookGoogle PlusFlickrYouTube

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
wpDiscuz