Dieser Ratgeber wird aktuell bearbeitet und die hier beschriebenen Informationen könnten bereits veraltet sein.
Diese Frage wird häufig sehr emotional ausdiskutiert.
Wir bevorzugen Linux, weil das System damit meist schlanker und damit performanter ausfällt. Hinzu kommt, dass die für unsere CRM-Systeme erforderlichen Komponenten Apache, MySQL und PHP quasi zur Basisaustattung jeder Linux-Server-Distribution gehören. Diese Setups haben sich seit Jahren bewährt.
Für ein Produktivsystem unter Windows sollte man voraussichtlich statt dem Apache-Webserver einen aktuellen IIS von Microsoft einsetzen. OSX als Betriebssystem geht natürlich auch – 1CRM in Kanada setzt sehr auf Mac-Minis als Server – die Komponenten sind dieselben wie unter Linux, lediglich die Diversität an Hardware oder Virtualisierungslösungen fehlt.
In der Vergangenheit haben wir oft auf SuSE
und SLES
(SuSE Linux Enterprise Server) gesetzt und auch hervorragende Erfahrungen mit dem Supportteam in Nürnberg gesammelt. Red Hat
wäre sicher auch eine gute Option gewesen, hat sich aber nie angeboten. Seit einigen Jahren verwenden wir unterdessen nahezu ausschließlich die LTS-Server-Variante von Ubuntu, aktuell 14.04. LTS bedeutet Long Term Support und garantiert für die im Zweijahresrhythmus erscheinende Server-Distribution 5 Jahre Sicherheitsupdates. Erste Erfahrungen hatten wir mit Ubuntu 08.04 LTS in 2008 – bei diesen Servern hat auch das Distributionsupdate auf eine aktuelle Version ohne grössere Komplikationen geklappt.
Jeder, der schon einmal einen Webserver unter Apache aufgesetzt hat, weiß (oder sollte wissen), dass es für jedes Problem viele verschiedene Lösungen gibt. Das heißt, das Thema Glaubensfrage ist leider mit der Wahl der Distribution nicht erledigt. Wie oben geschrieben, gehört Apache, MySQL und PHP als sogenannter LAMP-Stack
zur Basisausstattung von Ubuntu, daher lässt es sich auch schön einfach über einen Befehl installieren:
# tasksel
Hiermit erhält man über die Konsole eine Auswahl ausgegeben, um Basiskomponenten des Ubuntu-Servers einzurichten, unter anderem das Paket LAMP-Server
.
PHP 5.5 wird mit tasksel
unter Ubuntu 14.04 als Apache-Modul installiert – das funktioniert, bringt aber einige Stolperfallen mit sich:
www-data
) ausgeführt, d.h. dieser braucht auch Schreib- und Lese-Rechte auf Verzeichnisse und Dateien im www-Verzeichnis. Der erste Impuls vieler Benutzer, die das erste Mal auf dieses Problem stoßen, ist ein chmod 777 /var/www -R
. Leider gibt dieser Befehl nicht nur dem Apache Lese- und Schreibrecht sondern erlaubt faktisch jedem, der Zugriff zum System hat, alles mit den Dateien zu machen – eine ganz schlechte Idee!Lösung: Der richtigere Weg ist es, www-data
als Eigentümer der PHP-Dateien zu konfigurieren. Das funktioniert z.B. mit „chown www-data:www-data /var/www/* -R“Das heißt für unseren perfekten CRM-Server, dass weitere Komponenten und Konfigurationsschritte ins Spiel kommen. Konkret ist das PHP über FCGI
. Hierdurch können wir auf einem Server mehrere PHP-Versionen installieren, die jeweils unter einem eigenen Benutzer, unabhängig vom Apache, laufen. Kombiniert mit Apache vHosts
, die es erlauben mehrere Domains unter einem Apachen zu nutzen, ist das eine perfekte Lösung um Test- und Live-CRM (oder auch andere PHP-Applikationen) auf einem Server getrennt voneinander zu betreiben. Da die Konfiguration von vHosts mit PHP über FCGI nicht ganz trivial und damit potentiell fehleranfällig ist, lassen wir uns hierbei von der Hosting-Plattform ISPconfig
unterstützen, die es erlaubt, neue vHosts über eine Web-Oberfläche zu konfigurieren.
Die hervorragende Anleitung, Der Perfekte Server Ubuntu 14.04 mit ISPconfig, dient als Vorlage für unseren eigenen Installationsvorgang. Einige Komponenten wie Mail, DNS und meist auch FTP, sind für einen CRM-Server irrelevant. ISPconfig funktioniert aber auch, wenn man die Schritte auslässt. Die Anleitung für mehrere PHP-Versionen ist eine gute Basis um ältere oder neuere Versionen zu kompilieren und in ISPconfig zu integrieren.