LAMP installieren
In diesem Tutorial zeige ich euch wie ihr LAMP installieren könnt. Mit einem LAMP Server betreibt ihr eure interaktiven, in PHP geschriebenen Webapplikationen oder Programme. Ein schneller und sicherer LAMP Server ist der Grundbaustein für ein erfolgreiches Programm, Forum oder Blog.
LAMP installieren
Ausgangsbasis für dieses Todo ist ein vServer mit Debian 8, man kann diese Schritte auch auf jedem anderen vergleichbaren System wie Linux oder FreeBSD durchführen. Ebenso auf dem beliebten Raspberry Pi oder einem Root Server im Rechenzentrum. Zuerst bringen wir das installierte System auf den aktuellen Stand:
sudo apt-get update && sudo apt-get upgrade
Webserver
Das System sollte soweit abgesichert werden, Tipps dafür zu SSH und VNC habe ich euch bereits in den letzten Artikeln vorgestellt. Als Webserver verwende ich Apache2. Ich weiß, es gibt mit Nginx und Lighttpd gute und vor allem leistungsfähigere Alternativen, aber gerade die starke Verbreitung und die enorme Erweiterbarkeit sprechen nach wie vor für den Apache als Webserver. Insbesondere, wenn man genug Leistung zur Verfügung hat. Installiert wird der Webserver wie folgt:
sudo apt-get install apache2
Die Installation läuft bei Linux vollkommen automatisch ab. Der Webserver ist danach bereits über die IP Adresse des Rechners im Browser verfügbar.
Konfiguration
LAMP installieren ist der erste Schritt. Die eigentliche Arbeit ist dessen Konfiguration. Nachdem der Webserver bereits installiert und lauffähig ist müssen wir nun die so genannten virtuellen Hosts anlegen. Idealerweise legt man pro Domain einen eigenen virtuellen Host an. Wie man das im Filesystem organisiert hängt von einem selbst ab, eine sinnvolle Organisation ist im /var/www/ Ordner. Dort hat der httpd Prozess die nötigen Rechte. Um die einzelnen Domains später voneinander abzuschotten, die Domain sollte nichts von den anderen wissen, legen wir pro Domain einen Ordner an. Im Unterordner public_html liegen alle php, html, js, usw. Dateien, also das Webprogramm an sich, unter logs legt der Webserver die zugehörigen Logs ab. Die Ordner werden mit folgenden Kommandos angelegt:
sudo mkdir -p /var/www/html/example.com/public_html sudo mkdir /var/www/html/example.com/logs
angelegt ist nun alles. Es folgt nun noch die Konfiguration beim Apache 2. Unter /etc/apache2/sites-available kann man recht dynamisch Konfigurationsdateien pro Domain ablegen. Für unsere Beispielsdomain legen wir folgende Datei an:
sudo nano example.com.conf
Wir benötigen für diese Operation Root Rechte. Die Konfiguration der Domain sieht wie folgt aus:
<VirtualHost *:80> ServerAdmin webmaster@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/html/example.com/public_html/ ErrorLog /var/www/html/example.com/logs/error.log CustomLog /var/www/html/example.com/logs/access.log combined </VirtualHost>
Man beachte, dass wir eine Email Adresse des Admins angeben. Es wäre gut, wenn es diese auch tatsächlich gibt. Es werden folgende Parameter eingestellt:
- ServerName
Das ist der Domainname. - ServerAlias
Wenn man die Domain auch mit anderen Namen ansprechen will. Sehr oft hat man die Domain auch mit www. davor definiert. - DocumentRoot
Mit einem absoluten Pfad wird der Ordner angegeben, in dem die index.html, index.php oder dergleichen aufgerufen wird. Das ist das root Verzeichnis der Webapplikation. Standardmäßig findet man diese unter /var/www. Es ist aber auch durchaus möglich und üblich die Webapplikation im /home Verzeichnis des Benutzers abzulegen. - ErrorLog
Es wird der absolute Pfad zum zuvor angelegten Logverzeichnis angegeben. Der Webserver legt nun alle Log Nachrichten für diese Domain in diesen Ordner ab. Ist ErrorLog nicht definiert, dann findet man diese Meldungen unter /var/logs
Die Konfiguration des virtuellen Hosts ist damit abgeschlossen. Wir müssen nun nur noch die konfigurierte Seite aktivieren. Das geht mit:
sudo a2ensite example.com.conf
Sollte man aus irgend einem Grund die Seite schnell offline schalten wollen, dann wird das durch die Deaktivierung der Konfiguration wir folgt gelöst:
a2dissite example.com
In jedem Fall muss der Apache neu gestartet werden. Das geht so:
sudo systemctl restart apache2
Fazit
Soweit zum ersten Teil Lamp installieren. Linux und ein darauf laufender Apache sind eingerichtet. Nun benötigen wir noch ein Datenbanksystem wie MySQL und eine Skriptsprache wie PHP um ausführbare Skripts am Webserver lauffähig zu machen. All das zeige ich euch im nächsten Teil.