Navigation
SIT - Schneider Internet-Technologien

Tutorial
LAMP-VM für Mac OS X

Apache, MySQL und PHP installieren

Wir haben nun eine sehr komfortable Basis zur Arbeit mit unserer VM geschaffen und können nun beginnen, das “A”, “M” und “P” unseres LAMP-Servers zu installieren.

LTS garantiert uns aktuelle Software, nicht unbedingt das Neueste

Mit unserer eingesetzten LTS-Version sichern wir uns langjährigen Support für die Linux-Basis unseres Servers. Damit können wir größtenteils sorglos leben. Die LTS-Version garantiert uns fünf Jahre notwendige Updates, also vor allem Sicherheitsupdates und Fehlerkorrekturen. Dies bedeutet jedoch nicht, dass wir stets mit den neuesten, verfügbaren AMP-Komponenten ausgestattet werden. Für PHP beispielsweise wurden im März 2016 gleich drei Versionen aktiv gepflegt, die 5.5er, 5.6er und 7.0er Versionen. Wer mehr über den Long Term Support von Ubuntu erfahren möchte, kann sich bei den ubuntuusers oder im Ubuntu Wiki schlau machen.

Ubuntu 14.04 LTS wird also standardmäßig “nur” mit PHP 5.5 und MySQL 5.5 ausgeliefert. Die aktuell neuesten Versionen sind allerdings 7.0 und 5.7. Einzig das “A” unserer drei Hauptkomponenten, der Apache, wird in seinem aktuellen 2.4er Entwicklungszweig angeboten. Wir kommen also nicht nur mit einfachen apt-get-Befehlen aus.

Apache Webserver installieren

Wie erwähnt reicht uns für den Apache2 HTTP-Server ein einzelner Befehl:

sudo apt-get install apache2

Dann beginnt auch schon die Installation; wir müssen nur den angeforderten Speicherbedarf bestätigen. Danach läuft bereits eine Standard-Installation des Apache2, den wir über die im Kapitel Netzwerkeinstellungen verwendeten IP-Adresse erreichen können. In unserem Tutorial hier ist das die 192.168.56.10. Wenn wir also http://192.168.56.10 in unserem Browser aufrufen, sollte jetzt die Apache2-Standardseite erscheinen.

Apache2 - It works
Apache2 - It works

Um den Apache auch über unseren Hostname “ubuntuphp7” zu erreichen, müssen wir noch ein wenig Konfigurationsarbeit vornehmen. Dazu kommen wir später im Feinschliff.

MySQL installieren

Für das im Dezember 2015 als "stable" veröffentliche MySQL 5.7 müssen wir etwas mehr Aufwand betreiben. Zunächst beziehen wir ein Debian-Paket von der MySQL-Website für Ubuntu 14.04. Da Ubuntu auf Debian basiert, hat Ubuntu natürlich keine Probleme, mit Debian-Paketen umzugehen.

Auf unserer Konsole wechseln wir zunächst in das globale /tmp-Verzeichnis und laden ein aktuelles Debian-Paket, das von MySQL bzw. Oracle bereitgestellt wird.

cd /tmp
wget http://dev.mysql.com/get/mysql-apt-config_0.3.3-1ubuntu14.04_all.deb

Nach abgeschlossenem Download können wir mit dem Befehl dpkg das Debian-Paket installieren.

sudo dpkg -i mysql-apt-config_0.3.2-1ubuntu14.04_all.deb

Bei dieser Installation begrüßt uns die Paketkonfiguration mit einem etwas unintuitiven Dialog.

DPKG Installation - MySQL - Konfigurationsdialog
DPKG Installation - MySQL - Konfigurationsdialog

Wir bleiben auf der Auswahl Server drücken Enter und wählen dann die Version 5.7:

DPKG Installation - MySQL - Konfigurationsdialog - 5.7
DPKG Installation - MySQL - Konfigurationsdialog - 5.7

Wenn wir dann wieder Enter drücken, werden wir zurück zum vorherigen Menü geleitet und es sieht so aus, als wäre nichts passiert. Dies ist aber nicht Fall. Wir gehen nun auf Apply, bestätigen die Auswahl und landen dann augenblicklich wieder in der normalen Konsolenansicht.

Nun kann unser Ubuntu auch MySQL 5.7 installieren.

sudo apt-get update
sudo apt-get install mysql-server-5.7

Wir bestätigen wieder den Platzbedarf und warten die Installation ab, bis sie zu einem weiteren purpur-farbenen Dialog führt. Wir werden nach einem MySQL-Root-Passwort gefragt. Dieses Passwort müssen wir uns gut merken, sonst können wir später keine weiteren MySQL-Benutzer einrichten oder Datenbanken anlegen.

MySQL-Installation Root-Passwort festlegen
MySQL-Installation Root-Passwort festlegen

Nach der Bestätigung des Root-Passwortes wird die Installation fortgesetzt und sollte uns zurück auf die normale Konsolenansicht führen. Mit mysql --version können wir nun prüfen, ob die Installation der korrekten Version erfolgreich war.

MySQL Version anzeigen
MySQL Version anzeigen

Bevor wir nun PHP installieren, können wir noch den Download aus dem /tmp-Verzeichnis entfernen, in dem wir uns ja immer noch befinden.

sudo rm mysql-apt-config_0.3.3-1ubuntu14.04_all.deb

PHP 7 installieren

Für PHP7 bedienen wir uns bei den von Ondřej Surý bereitgestellten Repositories, damit Ubuntu uns per apt-get ein aktuelles PHP 7 installieren kann.

sudo add-apt-repository ppa:ondrej/php-7.0

Wir bestätigen mit Enter, führen dann wieder ein Update durch und installieren dann PHP mit einer Reihe von Basis-Komponenten.

sudo apt-get update
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0
sudo apt-get install php7.0-mysql php7.0-fpm php7.0-curl php7.0-gd php7.0-mysql
sudo apt-get install php-xdebug php-imagick php-memcache php-memcached
sudo apt-get install php-pear php-geoip openssl php-smbclient php-ssh2
sudo apt-get install php-uploadprogress
sudo apt-get update
sudo apt-get install php7.0-mbstring

Wir bestätigen jeweils den angeforderten Speicherverbrauch. Nach Abschluss der apt-get install-Befehle steht uns eine grundlegende LAMP-Installation zur Verfügung, die wir nun testen können.

Kleiner Hinweis: Die apt-get install-Befehle können selbstverständlich auch zusammengefasst werden. Ich habe es nur der Übersichtlichkeit halber in mehrere Befehle gesplittet.

Mit php --version können wir unsere PHP-Installation verifizieren.

PHP Version anzeigen
PHP Version anzeigen

Bevor wir PHP im Browser testen können, müssen wir noch den Apache neu starten.

sudo service apache2 restart

Kleiner (L)AMP-Test

Wer seine Installation jetzt einem grundlegenden Test unterziehen möchte, kann z. B. PHPs mysqli benutzen und ein kleines Script im bereits vorhandenen, öffentlichen Web-Verzeichnis /var/www/html ablegen. Dort finden wir übrigens auch die Apache2-Standard-Willkommensseite als Index-HTML-Datei.

Wer möchte kann diese Datei also dort mit sudo rm entfernen und z. B. folgendes Beispiel-Script mit sudo nano index.php dort ablegen.

<?php

// Keine konkrete Datenbank notwendig.
$mysqli = new mysqli('localhost', 'root', 'DeinRootPasswort');

if (mysqli_connect_errno()) {
    echo('Verbindung fehlgeschlagen, Fehlercode ist: '.mysqli_connect_error());
    exit();
}

echo 'PHP-Version: '.phpversion();
echo '<br />';
echo 'MySQL-Version: '.$mysqli->server_info;

Wenn alles gut gegangen ist, sollte das Ganze dann mit http://192.168.56.10/index.php aufgerufen werden können und etwa folgendes Ergebnis liefern:

PHP 7- und MySQL-Installations-Testergebnis im Browser
PHP 7- und MySQL-Installations-Testergebnis im Browser

Noch mehr PHP-Module?

Das von Surý zur Verfügung gestellte Repository, das wir hier verwendet haben, beinhaltet noch mehr installierbare Module. Diese finden wir hier und hier, jeweils unter “Overview of published packages” im unteren Bereich der Seiten.

Übrigens: Wer sich bei dem guten Mann (monetär) bedanken möchte, kann das via PayPal tun. Surý leistet wirklich einen sehr wertvollen Beitrag zum Open Source-Gedanken.

Und weiter.

Nun wollen wir uns um etwas Feinschliff kümmern.