Lampp
Aus Ubuntu-Forum Wiki
Inhaltsverzeichnis |
1 Allgemeines
LAMPP steht für Linux Apache MySQL PHP Perl.
Linux ist bereits installiert und damit auch Perl, da das automatisch mitinstalliert wird. Perl ist aber für den Webserver eher zweitrangig, solange man keine Perlscripte im Hintergrund als CGI laufen lassen will. Wer Wert auf Perl legt, kann mit Hilfe des folgenden Befehls überprüfen, ob er Perl installiert hat:
which perl
Wenn Perl schon auf dem Rechner vorhanden ist, lautet die Ausgabe:
/usr/bin/perl
Sollte die Ausgabe leer bleiben, kann Perl mit dem Befehl:
sudo apt-get install perl
nachinstalliert werden.
2 Apache2 installieren
Den Apache2 installiert man folgendermaßen über die Ubuntuquellen:
sudo apt-get install apache2
Der Befehl installiert den Apache und alle zu dessen Betrieb notwendigen Programme und richtet ihn als Hintergrunddienst (Daemon) ein, der automatisch beim Booten gestartet wird.
2.1 Anlegen virtueller Verzeichnisse
Ein virtuelles Verzeichnis bietet den Vorteil, dass verschiedene Angebote durch einen Alias angesprochen werden können. So muss dann im Browser nicht mehr der gesamte Pfad eingegeben werden.
Diese Verzeichnisse werden in der Datei /etc/apache2/sites-available/default angelegt. Die muss mit root-Rechten mit einem Editor geändert werden:
sudo nano -w /etc/apache2/sites-available/default
Dort sollte man folgende Zeilen anpassen:
ServerName localhost
# Servernamen eintragen, damit dieser beim Apache-Start korrekt aufgelöst werden kann
Im Abschnitt <VirtualHost *>:
DocumentRoot /var/www/
# /pfad/zum/hauptverzeichnis/des/apache
Der Pfad zum DocumentRoot kann verändert werden, um zum Beispiel Problemem mit Berechtigungen vorzubeugen oder auch einfach nur einen anderen Speicherort für die Webprojekte zu benutzen. Soll der vorgegebene Pfad /var/www genutzt werden, so müssen ggf. noch die Verzeichnisrechte angepasst werden:
sudo chown -R root:www-data /var/www
Der User www-data wird unter Ubuntu standardmäßig als Benutzer für den Apache genutzt. www-data benötigt also die Berechtigung, auf den DocumentRoot zugreifen zu können. Gesetzt wird der Benutzer in der Datei /etc/apache2/apache2.conf, im Wert User bzw. Group. Der Benutzer-/Gruppenname kann dort direkt eingetragen werden. Alternativ kann auch die standardmäßig verwendete Variable ${APACHE_RUN_USER} bzw. ${APACHE_RUN_GROUP} genutzt werden. Die Werte der Variablen werden in der Datei /etc/apache2/envvars gesetzt.
Um einen Alias zu setzen, muss man folgenden Abschnitt einfügen:
Alias /name "/pfad/zum/index/verzeichnis/" <Directory "/pfad/zum/index/verzeichnis/"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory>
Nach einem Neustart des Apache:
sudo /etc/init.d/apache2 restart
kann der Alias genutzt werden: http://localhost/name
3 MySQL installieren
Um MySQL zu installieren, benötigt man folgende Pakete:
sudo apt-get install mysql-server # Datenbankserver sudo apt-get install mysql-client # Programm zum Zugriff auf die Datenbank sudo apt-get install mysql-admin # GUI-Administrationstool für MySQL
mysql-server und mysql-client sind jeweils Metapakete, die einige zum Betrieb benötigten Programme unter einem Namen vereinen. mysql-admin kann optional installiert werden.
Während der Installation des Servers muss ein Passwort für den MySQL-Root vergeben werden. Das ist der Administrator für die Datenbank, nicht zu verwechseln mit dem Root des Linuxsystems! Das Passwort ist essentiell, da man sich sonst nicht auf der Datenbank anmelden und andere Benutzer anlegen kann.
Um den Erfolg der Installation zu testen, startet man den MySQL-Client und versucht, sich auf den Server zu verbinden.
mysql -u root -p
mysql startet den MySQL-Client. Solang noch keine Benutzer für MySQL angelegt sind, muss man sich als root anmelden. Der wurde schon während der Installation angelegt und das Passwort für ihn ebenfalls vergeben. Durch die Option -u root wird der Datenbank mitgeteilt, dass man sich als root anmelden will. Die Option -p veranlasst den Server, nach dem Passwort zu fragen. Wird dies weggelassen, vermutet MySQL, dass sich der Benutzer ohne Passwort anmelden kann. Da dem aber nicht so ist, bricht der Anmeldevorgang mit einer Fehlermeldung ab:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Nach dem Login erscheint der MySQL-Prompt:
mysql>
Während der Installation wurde ebenfalls die Datenbank mysql angelegt. Diese kann im Client aufgerufen werden:
use mysql;
Zum Anzeigen der Tabellen nutzt man folgenden Befehl:
show tables;
ein
exit
beendet den Client.
4 phpMyAdmin und PHP5 installieren
phpMyAdmin ist ein Webfrontend mit dessen Hilfe sich die MySQL einfach und komfortabel administrieren lässt. Es lassen sich damit Benutzer und Tabellen anlegen, ändern und löschen. Dabei benötigt man nur rudimentäre Datenbankkentnisse, um erste Erfolge verzeichnen zu können.
Ein weiterer Vorteil, den die Installation dieses Paktes mitbringt, ist, dass automatisch php5 sowie alle notwendigen Pakete für den Apache mit installiert werden:
sudo apt-get install phpmyadmin
- Alias für phpMyAdmin setzen
sudo nano -w /etc/apache2/sites-available/default
Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options Indexes FollowSymLinks DirectoryIndex index.php # Authorize for setup <Files setup.php> # For Apache 1.3 and 2.0 # <IfModule mod_auth.c> # AuthType Basic # AuthName "phpMyAdmin Setup" # AuthUserFile /etc/phpmyadmin/htpasswd.setup # </IfModule> # For Apache 2.2 <IfModule mod_authn_file.c> AuthType Basic AuthName "phpMyAdmin Setup" AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </Files> <IfModule mod_php4.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_value include_path . </IfModule> <IfModule mod_php5.c> AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_value include_path . </IfModule> </Directory>
Nach Abschluss der Installation und Neustarten des Apache kann man im Browser seiner Wahl folgende Adresse aufrufen: http://localhost/phpmyadmin
Es erscheint daraufhin der Login-Screen von phpMyAdmin, indem man sich als MySQL-Root einloggen muss. Damit hat man ebenfalls Gewissheit, dass alle anderen Pakete richtig installiert worden sind.
4.1 Probleme mit PHP-Dateien
Sollten .php-Dateien nach dem Apache-Neustart lediglich zum Download angeboten, also nicht interpretiert werden, wurden die Apache-Module nicht richtig installiert.
Alle zur Verfügung stehenden Module befinden sich im Verzeichnis /etc/apache2/mods-available/. Um ein Modul auch verfügbar zu machen, muss ein symbolischer Link im Verzeichnis /etc/apache2/mods-enabled/ gesetzt werden:
sudo ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load sudo ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf
Wurden beide Links gesetzt, kann der Apache neugestartet werden. Im Anschluss werden auch .php-Dateien interpretiert.
5 Die Alternative
Das Ganze kann auch fix & fertig als Paket bei http://www.apachefriends.org heruntergeladen werden.
Alternativ geht auch: LAMPP installation per Synaptic-Paketverwaltung
Man geht über System ==> Systemverwaltung ==> Synaptic-Paketverwaltung In der Paketverwaltung klickt man auf "Suche". In dem sich öffnenden Fenster gibt man im Feld "Suche" ein: 9Base Im Feld "Durchsuchen" wählt man "Name" aus und klickt auf "Suchen"
Jetzt sollte in den Suchergebnissen das Paket "9Base" angezeigt werden. Dieses markiert man. Anschließend folgt ein Klick auf "Bearbeiten", dann auf "Pakete nach Aufgaben vormerken".
Darauf öffnet sich ein Fenster mit Überschrift "Welche Aufgaben sollen von Ihrem Rechner wahrgenommen werden?" In unserem Beispiel wählen wir hier den "LAMP Server" aus und bestätigen mit "OK" Dann öffnet sich ein Fenster mit der Überschrift "Notwendige Änderungen vormerken?" Hier sieht man welche anderen Pakete von der geplanten Installation betroffen sind. Dieses Fenster schließt man mit einem Klick auf "Vormerken". Zurück in der Synaptic-Paketverwaltung klickt man auf "Anwenden" Die Abfrage, ob die Pakete installiert werden sollen bestätigt man.
Der Rechner beginnt jetzt die notwendigen Pakete runterzuladen und zu installieren. Während der Installation des MySQL-Server wird man nach einem Passwort gefragt. Hier vergibt man das Passwort für den Benutzer "ROOT" der MySQL-Datenbank.
Dann läuft die Installation und Konfiguration durch und nach deren Beendigung kann man die Synaptic-Paketverwaltung schließen.
Um zu testen, ob der LAMP ordnunsgemäß installiert wurde öffnet man einen Internet-Browser seiner Wahl und gibt ein "http://localhost"
Dort sollte jetzt ein Fenste aufgehen in dem nur steht: "it works"
Wenn man SSL-Verschlüsselung einrichten möchte ist das etwas kniffliger.
Den Teil schreib ich heut abend noch :-)