Was bedeutet LAMP und wofür brauche ich das?
LAMP ist eine Abkürzung und steht in diesem Zusammenhang für Linux: Apache, mySQL und PHP. Natürlich gibt analog dazu noch WAMP und MAMP Server (W=Windows, M=Macintosh).
Schlicht gesagt ist ein LAMP ein Webserver, denn alle grundlegenden Serverdienste werden bei einem LAMP System installiert. Man benötigt also diese Art von Server für einen Webserver auf einer kleinen LAN oder als schlichtes Testsystem, damit man nicht andauernd etwas hochladen muss. Natürlich werden u.a. auch professionelle Server nach so einem Prinzip aufgesetzt, allerdings werde ich darauf nicht in diesem kleinen HowTo eingehen, da die Materie gerade im sicherheitsrelevanten Bereich sehr komplex wird. Ziel ist es in diesem HowTo ein funktionierendes System für den Heimeinsatz zu erhalten.
Auf welchem System wird dieses HowTo geprüft?
Alle folgenden Anweisungen habe ich auf meinem Desktoprechner getestet. Es läuft darauf die aktuelle Version von Ubuntu (6.06 LTS).
Aber grundlegend sollte dies auf jedem Linux Rechner so funktionieren, nur die Paketverwaltung und damit die Installation der Pakete wird beispielsweise auf einem Suse System anders aussehen.
Vorbereitungen
Da wir auch einige Packet aus dem Universe Repositories benötigen, müssen wir erstmal die entsprechenden Quellen freischalten. Dazu editieren wir unsere sources.list und mit folgendem Befehl:
Code:
sudo gedit /etc/apt/sources.list
Der vorausgehende Befehl wird mit Rootrechten ausgeführt (sudo) damit wir die Datei überhaupt editieren können. Dann folgt der favorisierte Editor, in diesem Fall gedit (Gnome Edit) und der Pfad der Datei. Die entsprechenden Zeilen müssen nun mit dem Zusatz universe versehen werden (man kann in diesem Zusammenhang auch gerne das multiverse hinzufügen, dieses ist aber nur optional). Beispielzeile:
Code:
deb http://de.archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
Nachdem die Änderungen gespeichert wurden muss nun die sources.list erneut eingelesen warden:
Code:
sudo apt-get update
Installation: Apache 2 und PHP
Die Installation ist mit der Paketverwaltung: apt-get denkbar einfach. Mit der Eingabe der folgenden Befehlszeile werden alle benötigten Pakete installiert:
Code:
sudo apt-get install apache2 php5 libapache2-mod-php5
Erklärung der Pakete:
- apache2: Wie man sicherlich erahnt ist dieses der eigentliche Webserver.
- php5: Der PHP5 Interpreter.
- Libapache2-mod-php5: Vgl. libapache2-mod-php4 nur eben für PHP5.
Auf das Paket PHP4 und die entsprechende lib wurde verzichtet, da im allgemeinen PHP5 ausreichend ist. Wenn natürlich spezielle Gründe für PHP4 sprechen, einfach die Befehlszeile entsprechend abändern. Nachdem diese Pakete installiert sind, kann man (falls erwünscht) Einstellungen an der Konfigurationsdatei vornehmen:
Code:
sudo gedit /etc/apache2/apache2.conf
Man muss auf jeden Fall daran denke, daß nach einer Änderung der apache2.conf der Server neu gestartet warden muss. Der Befehl für das starten, stoppen, restarten oder reloaden ist folgender:
Code:
sudo /etc/init.d/apache2 Parameter
Um zu prüfen, ob bis hier hin alles geklappt hat braucht man nur (entweder auf dem Server selbst oder auf einem anderen Rechner beispielsweise im LAN) einen Browser öffnen und folgendes in der URL-Leiste eingeben:
Code:
http://localhost/apache2-default/ (für den Browser auf dem Server)
http://IP-des-Servers/apache2-default/ (für alle Rechner)

Wie man an dem Screenshot sehen kann, funktioniert der Apache Server schon mal wunderbar. Um zu testen, ob auch die PHP Erweiterung funktioniert, erstellen wir einfach in dem Webverzeichnis /var/www/ eine Testdatei:
Code:
sudo gedit /var/www/test.php
In diese Datei kommt dann folgende kleine Codezeile:
Aufgerufen wird nun diese Testdatei mit
Code:
http:///localhost/test.php (auf dem Server)
http://IP-des-Servers/test.php (auf allen Rechnern)

Wie man unschwer erkennen kann läuft auch dieses wunderbar. Wenn man an den PHP Einstellungen etwas ändern möchte (Globals off etc.), das kann man dies mit dieser Datei machen:
Code:
sudo gedit /etc/php5/apache2/php.ini
Eine kleine Schönheitskorrektur haben wir immer noch zu machen. Das wäre die Entfernung dieser nervigen Fehlermeldung:
Code:
apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Dazu müssen wir eigentlich nur eine Zeile in der /etc/apache2/httpd.conf nachtragen:
Code:
ServerName Hier-nun-Dein-Servername
Der Servername ist der Name hinter dem @ in der Befehlszeile. Beispielsweise:
Dieser ist (wenn man sich nicht sicher ist) auch in der /etc/hosts eingetragen.
Bis hier hin haben wir also schon den Apach2 und PHP installiert. Fehlt also eigentlich nur noch mySQL! Auf geht es.
Installation mySQL
Die Installation von mySQL ist denkbar einfach. Benötigt werden lediglich 2 Hauptpakete und ein optionales, aber sehr hilfreiches Paket: – die Abhängigkeiten werden Dank apt-get automatisch nachinstalliert.
Code:
sudo apt-get install php5-mysql mysql-server-4.1
Mit der Option meinte ich das Verwaltungstool phpmyadmin. Ich finde es sehr hilfreich, um schnell eine Datenbankstruktur zusammen zu klicken und um zu testen, ob die Schnittstellen funktionieren. Installiert wird es so:
Code:
sudo apt-get install phpmyadmin
Ist diese Installation abgeschlossen, müßte man nun als erstes per Konsole und mySQL-Client dem mySQL-Server ein root Passwort geben. Im Moment ist der root Account absolut ungeschützt. Da ich aber auf die Installation des Clients verzichten möchte, können wir dieses auch mit phpmyadmin machen.
Als erstes geben wir im Browser unserer Wahl folgende URL ein:
Code:
http://localhost/phpmyadmin
http://IP-des-Servers/phpmyadmin
Dort wird dann ein Benutzername und das entsprechende Passwort verlangt. Noch ist dies:
Code:
Benutzername: root
Passwort: (leer)
Wir landen nun auf der Grundoberfläche von phpmyadmin. Ist dieses bis hier hin gelungen, können wir uns gratulieren. Der LAMP Server steht bereits. Aber zurück zu der Passwortvergabe. In der unteren Befehlsliste sehen wir unter anderem den Punkt: Rechte. Hier können wir nun alle eingetagenen Benutzer, deren Passwörter und die Rechte dazu sehen. Hier müssen wir nur noch für den root ein PW setzen und uns ggf. einen neuen Benutzer anlegen. Und schon ist es geschafft.
Abschließend ist nur noch zu sagen, dass hier nicht auf die notwendigen Schritte bezüglich der Absicherung gegen Dritte für den professionellen Einsatz eingegangen wurde. Aber für einen Testbetrieb im privaten Umfeld oder für eine kleine LAN sollte dies mehr als ausreichen.
Auch auf die teilweise sehr komplexen Einstellungsmöglichkeiten der einzelnen Konfigurationsdateien wurde hier nicht näher eingegangen. Es könnte aber durchaus sein, dass ich dazu auch mal ein kleines HowTo verfassen werde.
Viel Spaß mit dem eigenen LAMP-Server.
SethOS
Lesezeichen