Installation des LAMP-Stacks


Bevor wir uns daran machen die Installation des LAMP-Stacks zu erörtern, müssen wir klären, was damit überhaupt gemeint ist. LAMP steht für Linux, Apache, MySQL und PHP. Diese vier Komponenten kann man wohl als das klassische Setup bezeichnen, das zum Ausliefern von Websites dient. Linux bietet als Betriebssystem die Basis, Apache stellt den Webserver dar, MySQL dient zur Datenhaltung in einer Datenbank und PHP als serverseitige Programmiersprache.

Selbstverständlich sind alle dieser Komponenten austauschbar. Statt Linux könnte man Windows verwenden, statt Apache auch NGINX, MySQL wird gerne durch MariaDB ersetzt, und auch zu PHP gibt es Alternativen, wie etwa das PHP-Derivat Hack oder ganz andere Sprachen. Dieser Artikel widmet sich jedoch dem weit verbreiteten LAMP-Stack.

Voraussetzungen



Wichtig ist, das hier von Ubuntu 16.04 ausgegangen wird. Es gibt auch eine ältere Anleitung für Ubuntu 14.04.

ACHTUNG: Dieser Artikel geht auf Sicherheitsaspekte nur unzureichend ein! Bitte beachte, dass möglicherweise zusätzliche Maßnahmen angewendet werden müssen, um den Server abzusichern.


Desweiteren wird an dieser Stelle davon ausgegangen, dass der Zugriff auf den Linux-Server via SSH-Client (unter Windows zum Beispiel mit PuTTY) möglich ist. Als erster Schritt erfolgt die Verbindung mittels dieses Clients zum Server.

Die Installation



Die Installation lässt sich im Prinzip schnell durchführen. Ehe wir aber mit der eigentlichen Installation starten, sollten wir ein Update der Paketlisten von apt-get durchführen. Dabei werden keine vorhandenen Pakete aktualisiert, sondern lediglich die Liste verfügbarer Pakete.

sudo apt-get update


Der Befehl sudo erlaubt es uns, den daran angehängten Befehl (apt-get update) mit den Rechten eines anderen Users auszuführen, insbesondere mit denen des Superusers root. Dazu ist die Eingabe eines Passworts nicht erforderlich, wenn der aktuelle User zuvor entsprechend autorisiert wurde.

Den LAMP-Stack - nun ja, zumindest den AMP-Teil - zu installieren, bedarf zum Glück nur eines einzelnen Befehl:

sudo apt-get install apache2 libapache2-mod-php7.0 php7.0 php7.0-mysql mysql-server


Damit wird das LAMP-Paket installiert. Apache, MySQL und PHP 7 werden in einem Rutsch auf den Server geholt. Das erspart einiges an Arbeit. An der Konfiguration der einzelnen Komponenten kommen wir allerdings nicht vorbei. Nach Eingabe des Befehls möchte denn auch MySQL ein Passwort zugewiesen haben. An dieser Stelle kann zunächst einfach mit Enter bestätigt werden - um die wirkliche Einrichtung von MySQL kümmern wir uns gleich.
Sollte MySQl mehrfach um eine Passworteingabe bitten, stets einfach mit Enter bestätigen.

Der Apache-Dienst



Der Kern der Installation ist damit auch schon abgeschlossen. Bevor wir uns der eigentlichen Konfiguration widmen, sollten wir überprüfen, ob der Apache-Webserver automatisch beim Start von Linux mitgestartet wird. Dazu emfpiehlt es sich, den Linux-Server einmal neu zu starten:

reboot


Der SSH-Client verliert dabei die Verbdindung, sie muss wiederhergestellt wurde. Danach prüfen wir, ob der Apache läuft:

ps axf


Dieses Kommando listet die laufenden Prozesse auf. Dort müsste nun ein Eintrag für den Apache-Webserver zu finden sein. Falls ja, ist alles gut, falls nein, sollte dieses Kommando weiter helfen:

update-rc.d apache2 enable


Das sollte den Apache-Dienst endgültig aktivieren und nach einem Server-Neustart sollte der Apache-Websever automatisch starten.

URL-Rewriting



Zunächst aktivieren wir das URL-Rewriting-Modul von Apache:

sudo a2enmod rewrite


Tipp: Per Default ist der Apache möglicherweise so konfiguriert, dass er .htaccess-Dateien ignoriert. Hier steht, wie das geändert werden kann: Link

PHP-Version



Die PHP-Version lässt sich wie folgt anzeigen:

php -v


Wird die PHP-Version angezeigt, dann wissen wir, dass PHP erfolgreich eingerichtet wurde.

PHP-Extensions



Nun installieren wir noch fehlende, aber benötigte PHP-Extensions nach. Zunächst empfiehlt es sich, die Liste der bereits vorhandenen PHP-Extensions anzeigen zu lassen:

php -r "print_r(get_loaded_extensions());"


Hinweise dazu, wie eine Extension zu installieren ist, findet man häufig auf der PHP-Website. Am Beispiel von MBString sei dies demonstriert: Auf der Unterseite zur "Installation/Konfiguration" hat ein User das benötigte Kommando gepostet:

sudo apt-get install php7.0-mbstring


Häufig kann man die Namen der Packages auch erahnen, z. B. würde man für die XML-Extension dieses Kommando aufrufen:

sudo apt-get install php7.0-xml


MySQL



Zunächst rufen wir das MySQL-Konsolentool auf, das es erlaubt, MySQL-Statements direkt auf der Konsole auszuführen. Achtung: Statements sind immer mit einem Semikolon abzuschließen!

mysql -p


Dann erstellen wir eine Datenbank:

CREATE DATABASE databasename;


Als nächstes erstellen wir einen User, wobei username und password durch etwas Sinnvolles zu ersetzen sind:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';


Nun erteilen wir diesem User Rechte in Bezug auf die Zuvor erstelle Datenbank:

GRANT ALL PRIVILEGES ON databasename.* TO 'username'@'%';


Wir verlassen das Programm mit der Eingabe von \q und sind damit am Ende der Konfiguration angekommen. Selbstverständlich kannst du noch weitere Änderungen vornehmen und zum Beispiel die PHP-Einstellungen anpassen.

Sicherheit



Noch einmal der Hinweis: Dies hier ist eine grundlegende Anleitung zur Installation und Einrichtung des LAMP-Stacks. Auf Maßnahmen zur Sicherung des Servers wird hier nicht eingegangen. Diese sind daher zusätzlich durchzuführen! Zum Beispiel sollte gegebenenfalls sichergestellt werden, dass der Zugriff auf den MySQL-Server nicht von außerhalb des Systems erfolgen kann. Das Ubuntu Community Wiki bietet einen Artikel, der sich dem LAMP-Stack widmet und darauf eingeht.

comments powered by Disqus

© 2014-2017 Christoph Konnertz.