Inhaltsverzeichnis
LAMP
LAMP steht für Linux Apache MySQL PHP
(wobei das P
auch für andere Skriptsprachen stehen kann → Python
, Perl
) und besteht folglich aus diesen Komponenten:
- einem Linux Betriebssystem,
- dem Apache Webserver,
- der Datenbank MySQL
- und der Skriptsprache PHP
Als zusätzliches Hilfsmittel wird hier phpMyAdmin installiert, was die Verwaltung von MySQl unglaublich vereinfacht. In dieser Anleitung geht es darum so schnell wie möglich einen LAMP aufzusetzen. Eine ausführliche Anleitung zur Konfiguration der Komponenten existiert zu Apache, MySQL und phpMyAdmin.
Softwarevoraussetzungen: Paketveraltung | Texteditor
Schwierigkeitsgrad: Einfach
Ausgetestet mit folgenden Betriebssystemen: Ubuntu | Debian | teilweise auch andere Distributionen
Archiv: Diese Anleitung behandelt ältere Softwareversionen, kann aber noch als Referenz verwendet werden.
Installation der benötigten Komponenten
Benötigte Pakete
Folgende Pakete werden benötigt:
apache2 # Apache2 Webserver apache2-doc mysql-server # MySQL libapache2-mod-php5 # Apache PHP Modul phpmyadmin # Tool um MySQL zu verwalten php5 # PHP php5-mysql # Zugriff für PHP auf MySQL
Diese installieren wir mit:
user@server:~$ sudo apt-get install apache2 apache2-doc mysql-server phpmyadmin php5 libapache2-mod-php5 php5-mysql
→ Bei der Installation wird man nach dem Webserver gefragt, hier wählen wir Apache2
. Außerdem kann es vorkommen, dass die Zugangsdaten für den MySQL-Benutzer root
verlangt werden.
Einrichtung
Rechte für Apache anpassen
Nach der Installation passen wir vorsichtshalber die Rechte des Standard roots an:
user@server:~$ sudo chmod 0775 /var/www # ändert die rechte von /var/www user@server:~$ sudo chgrp -R www-data /var/www # gibt /var/www der gruppe www-data
und fügen unseren Benutzer der Gruppe www-data hinzu:
user@server:~$ sudo adduser BENUTZER www-data # BENUTZER durch den Benutzernamen ersetzen unter dem man normalerweise den Server administriert
PHP aktivieren
Unter Umständen muss noch das PHP Modul für Apache aktiviert werden:
user@server:~$ sudo a2enmod php5
Apache Hostname eintragen
In der /etc/apache2/apache2.conf
sollte noch der Hostname eingetragen werden.
user@server:~$ sudo nano /etc/apache2/apache2.conf
Am Anfang der Datei einfach folgendes hinzufügen:
#localhost kann auch durch eine IP oder Domain ersetzt werden ServerName localhost
Achtung! Kommentare (#) hinter dem Servernamen verursachen unter Umständen Fehlermeldungen! - Auf folgendes also verzichten:
ServerName localhost # Kommentar zu localhost
…statt dessen so:
# Kommentar zu localhost ServerName localhost
Erweiterungen
PHP Erweiterungen
Für PHP gibt es zahlreiche Erweiterungen. Hier eine Übersicht (Quelle: ubuntuusers.de):
php5-cgi # für CGI-Skripte php5-curl # cURL-Unterstützung php5-gd # Bilder generieren und manipulieren php5-imagick # ImageMagick Unterstützung php5-imap # IMAP-Unterstützung php5-pgsql # Unterstützung von PostgreSQL php5-sqlite3 # Unterstützung von sqlite3
Um diese einzusetzen die jeweiligen Pakete (Name der Erweiterung = Paket zum Installieren
) installieren.
Apache Erweiterung
Auch für Apache gibt es Erweiterungen. Diese werden mods
genannt.
Hier im Wiki ist der mod Webdav näher erläutert:
Natürlich gibt es zahlreiche mehr - am Besten kann man sich über diese informieren, wenn man in der Paketverwaltung (Synaptic) nach libapache2-mod
sucht und die Informationen zu den einzelnen Paketen durchliest.
Nach der Installation des Mods sollte man jenen noch aktivieren und Apache neustarten:
user@server:~$ sudo apt-get install libapache2-mod-modname # Installation eines Mods; "modname" durch den Namen des Mods ersetzten user@server:~$ sudo a2enmod modname # Aktivieren des Mods; "modname" durch den Namen des Mods ersetzten user@server:~$ sudo service apache2 restart # Apache neustarten
Verwaltung
MySQL Root Passwort
Bei der Installation von MySQL wird man normalerweise nach einem Passwort für den Benutzer root
gefragt. Hier genügt ein beliebiges Passwort. Über dieses greift man später auf phpmyadmin zurück und legt weitere Benutzer und Datenbanken für Webanwendungen an.
Falls man das Passwort ändern möchte genügt folgender Befehl:
user@server:~$ mysqladmin -u root -ppassword "PASSWORT" # PASSWORT durch Wunschpasswort ersetzen; auf "" achten! # -ppassword ist so gewollt! password durch bisheriges Passwort ersetzten
Anschließend wird man nach einem Passwort gefragt. Hier muss man das alte Passwort einsetzten, falls noch keines gesetzt wurde genügt die Eingabetaste.
phpMyAdmin
Um mySQL über ein Webinterface zu verwalten benötigt man phpMYadmin, welchen wir bereits schon installiert haben.
Nach einem Neustart des Apache Webservers
user@server:~$ sudo service apache2 restart
können wir das Webinterface unter
http://ip_des_servers/phpmyadmin # ip_des_servers durch die IP unseres Webservers ersetzen
erreichen.
Einloggen kann man sich nun mit den vorher (mySQl root Passwort) festgelegten Benutzerdaten einloggen (root/festgelegtes Passwort
).
Sollte das Webinterface nicht erreichbar sein, so ist die Konfiguration für phpMyAdmin während der Installation nicht automatisch nach /etc/apache2/conf.d/
(seit Ubuntu 13.10: /etc/apache2/conf-enabled
) verlinkt worden, dies kann nachträglich so erledigt werden:
user@server:~$ sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf user@server:~$ sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/phpmyadmin.conf # ab Ubuntu 13.10
Anschließend muss Apache wieder neu gestartet werden:
user@server:~$ sudo service apache2 restart
Dienste neustarten
Nachdem alles vollendet ist sollte man die Dienste neustarten.
user@server:~$ sudo service apache2 restart # Apache neustarten user@server:~$ sudo service mysql restart # MySQL neustarten
Eine schnellere Alternative wäre ein reload
oder force-reload
, bei kleineren Änderungen reichen diese oftmals schon aus.
user@server:~$ sudo service apache2 reload # Apache reload user@server:~$ sudo service apache2 force-reload # Apache force-reload user@server:~$ sudo service mysql reload # MySQL reload user@server:~$ sudo service mysql force-reload # MySQL force-reload
weitere Optionen lassen sich über einfaches Aufrufen des init.d Skriptes ohne nachfolgende Parameter erfahren.
Nach Ändern der Konfigurationsdateien müssen an den jew. Dienste mindestens ein force-reload
vollzogen werden (bei Änderungen an Apache muss dies natürlich nur an jenem erfolgen und nicht bei MySQL).
— chrisge 2018/05/26 01:35