Du betrachtest gerade In nur 9 Schritten zur eigenen LAMP Stack Installation unter Ubuntu Linux 22.04 LTS Update 12/2022

In nur 9 Schritten zur eigenen LAMP Stack Installation unter Ubuntu Linux 22.04 LTS Update 12/2022

  • Beitrags-Autor:
  • Beitrags-Kategorie:Coding / IT
  • Beitrags-Kommentare:0 Kommentare

Einleitung | Wozu ein LAMP Stack?

Was bringt uns ein LAMP Stack? Als LAMP Stack wird die Kombination der Module Apache Webserver, MariaDB/mySQL sowie PHP bezeichnet. Als weiteren Zusatz werden wir hier in diesem Tutorial noch phpmyadmin installieren, um Datenbanken mittels Browser bequem konfigurieren zu können. Neben LAMP (das L steht für Linux) gibt es solche Lösung auch für Windows. Diese werden dann als WAMP Stack bezeichnet. Natürlich kann man auf allen Plattformen alle Anwendungen einzeln manuell installieren bzw. muss das teilweise ohnehin, siehe Linux tun. Für Windows gibt es aber parallel ein sehr interessantes Projekt, das ich hier einmal verlinke. Damit hat man eine All-in-one-Lösung für einen WAMP Server unter Windows, der zudem auch als Windows Dienst ausgeführt wird. Ihr findet die Homepage zu dem Projekt unter https://www.wampserver.com/en/

Für die Entwicklung von Anwendungen bedienen wir uns natürlich einer Datenbank im Hintergrund. Es bietet sich also immer an, eine solche Datenbank entweder auf einem Linux Server oder vergleichbarer Lösung bereitzustellen.

  • Datenbank-Entwicklung und Bereitstellung
  • Datenbankzugriffe mittels Python der anderen Programmiersprachen
  • kostengünstiger Datenbankserver auf Linux Basis

Voraussetzungen für die LAMP Stack Installation

Du benötigst eine fertig aufgesetzte Linux bzw. Ubuntu Desktop oder Server Installation. Mein Tutorial ist primär für die Installation unter Ubuntu ausgelegt und entwickelt. Generell sollte die Schritte aber auch für einige andere Distributionen passend sein. Stelle sicher, dass du alle Updates für dein Linux System installiert hast.

Ubuntu Update und Upgrade vom System

Solltest du ein Ubuntu als Server installiert haben, befindest du dich zwangsläufig permanent auf der Konsole. Nutzer von Ubuntu Desktop erreichen die Konsole über die Anwendung Terminal. Die Ausführung von apt update und danach apt upgrade erfordert Root-Rechte. Aus diesem Grund ist den Befehlen sudo (steht für Superuser do) voranzustellen, sodass diese mit den benötigten höheren Rechten erfolgreich ausgeführt werden können. Den eigentlichen Befehl habe ich dir rot umrandet in der obigen Grafik dargestellt. Wie an der weiteren Ausgabe nach Befehlsausführung zu sehen ist, sind für mein System neue Updates vorhanden. Mit dem Befehl apt update wird erst einmal nach verfügbaren Updates geprüft und gleichzeitig die Paketlisten eingelesen und aufbereitet. Erst, wenn man den Befehl sudo apt upgrade ausführt. Werden diese verfügbaren Updates vom Paketmanager apt auch installiert.

Nachdem der Befehl bestätigt wurde, muss die Ausführung noch mit ja bestätigt werden. Im Anschluss beginnt sofort der Upgradeprozess betroffener Pakete.

Schritt 1 - Apache Web-Server Installation

Wir installieren mit dem Befehl sudo apt install apache2 den Apache Web-Server. Wie bereits gewohnt, müssen wir die Installation mit ja bestätigen. Denke auch daran, dass erhöhte Rechte mit sudo benötigt werden.

Schritt 2 - IP Adresse vom Linux System / Server ermitteln

Jedes Gerät in deinem Netzwerk erhält vom Router eine ihm zugewiesene IP-Adresse. Diese benötigen wir, um von einem anderen Gerät mittels Browser die grundlegende Erreichbarkeit und somit auch Kontrolle der Apache Web-Server Funktion zu prüfen. Als Befehl benötigen wir ipp add

Für diejenigen, die so eine Übersicht noch nicht gesehen haben, kann das im ersten Augenblick etwas verwirrend sein. Einmal wird euch als inet Adresse (das entspricht der IP-Adresse) die 127.0.0.1 aufgelistet. Das ist die systemeigene Adresse, also die IP-Adresse, die immer auf das eigene System zeigt, an dem man sitzt. Diese wird auch als local host adress (Lokale Host-Adresse) bezeichnet. Wir benötigen jedoch die IP-Adresse, die unser System in unserem lokalen Netz hat. In meinem Fall die 192.168.9.80. Ihr könntet an einem anderen System z.B. Windows Gerät eure dortige IP-Adresse ermitteln und dann mit der Ausgabe auf dem Linux System vergleichen. Hier schaut ihr auf die durch Punkte getrennten Bereiche. Die ersten drei Bereiche müssen mit dem auf dem hier installierten System übereinstimmen. Dann habt ihr die richtige Adresse erkannt. Beispiel: An einem Windows Rechner habt ihr die IP-Adresse 192.168.2.100. Somit ist der relevante Bereich 192.168.2. Am Linux System auf dem wir gerade den Apache Web-Server installiert haben müsst ihr nun die Adresse in der Ausgabe finden die ebenfalls mit 192.2168.2. beginnt. Das war es dann auch schon mit der Ermittlung der IP-Adresse von eurem “Server”.

Schritt 3 - Funktion Apache Web-Server im Browser testen

Im Schritt 2 haben wir die IP-Adresse von unserem Web-Server ermittelt. Diese IP-Adresse tragen wir nun in einem Browser ein. Das Gerät muss natürlich in eurem lokalen Netzwerk sein. Ein Gerät außerhalb von eurem Netzwerk kann für den Test nicht genutzt werden, da eure Firewall im Router etc. natürlich den Zugriff von extern wunschgemäß blockiert.

Wenn alles bei euch geklappt hat, muss eine Begrüßungsseite vom Apache Web-Server wie folgt erscheinen.

Schritt 4 - mySQL bzw. MariaDB Installation auf dem Linux Server

Im folgenden Verlauf installieren wir uns eine MySQL bzw. MariaDB Datenbank auf unserem Linux Server. Diese können wir z.B. nutzen, um mit einer Python Entwicklung darauf zuzugreifen. Zusätzlich wird eine solche Datenbank auch immer dann benötigt, wenn man vorhat WordPress oder ähnliche CMS Systeme zu nutzen.

Nachdem mit Ja bestätigt wurde, werden erst einmal einige Pakete heruntergeladen. Je nach Internetgeschwindigkeit kann es länger dauern. Kommt keine Fehlermeldung, ist alles in Ordnung. Hier eine kleine Anmerkung. Linux arbeitet nach dem Prinzip “no news are good news”. Bedeutet also. Kommt keine Meldung als Feedback vom System ist alles gut gegangen!

Schritt 5 - PHP Intallation unter Ubuntu

Nun benötigen wir noch PHP als Ergänzung zu unserem LAMP Stack. PHP ist eine Programmiersprache, die überwiegend bei Webseiten zur Anwendung kommt. Damit kann man Formulare etc. bereitstellen oder einfache kleine Programme, die auf der Webseite laufen bzw. beim Betrachter ausgeführt werden. Wir benötigen als Befehl sudo apt intall php

Auch die korrekte Installaton von PHP können wir kontrollieren. Dazu erstellen wir eine kleine HTML Seite. Mit dem Texteditor nano erstellen wir eine Datei check.php im Ordner /var/www/html. Dieser Ordner ist der vom Apache Server genutzte HTML Ordner.

Unsere “Webseite” erhält nur eine einzige Zeile, und zwar lassen wir einfach die PHP Versionsinformationen ausgeben.

Nun müssen wir mit der STRG-Taste und O die Datei speichern. Anschließend können wir den Texteditor Nano mit STRG + X für Exit verlassen. Wer mit Ubuntu Desktop und grafischer Oberfläche arbeitet, könnte natürlich einen komfortablen Texteditor mit Maussteuerung nutzen.

Als Nächstes prüfen wir, ob unser Apache Web-Server die PHP Ausführung darstellen kann. Wenn ihr also eine Ausgabe im Browser wie auf der nachfolgenden Grafik erhaltet, ist alles korrekt installiert.

Die selber erzeugte PHP Datei entfernen wir nun wieder mit dem Befehl sudo rm /var/www/html/check.php

Ihr wisst ja 😉 Keine Meldung somit erfolgreich ausgeführt. Prüfen könnt ihr das Ganze noch einmal mit dem Befehl sudo ls /var/www/html/

Es darf dort nur noch eine HTML Seite geben. Das ist die Startseite / Begrüßungsseite vom Apache Web-Server.

Schritt 6 - phpMyAdmin Installation

Damit wir bei der Entwicklung unter Python auch sehen können, was sich so im Hintergrund in unserer Datenbank abspielt oder einfach nur manuell auf Daten einwirken können, installieren wir phpMyAdmin. Das ist ein Tool, um komfortabel auf die Tabellen und Werte innerhalb der mySQL / MariaDB zugreifen zu können.

Mit dem Befehl sudo apt install phpmyadmin wird die Installation von phpMyAdmin angestoßen.

Direkt nach der Installation auf der Konsole kommt ein “grafisches Fenster” bei dem auszuwählen ist, an welchen Web-Server phpMyAdmin angebunden werden soll. ACHTUNG nicht von dem roten Feld bei apache2 irritieren lassen. Hier müsst ihr erst noch die Leertaste drücken und mit einem Stern wird apache2 angewählt! Dies ist ein wichtiger Schritt.

Solltet ihr hier aus Versehen einen Fehler machen, empfehle ich phpMyAdmin mit sudo apt purge phpmyadmin vollständig zu deinstallieren. Durch die Option purge werden alle während der Installation von phpmyadmin erzeugten Konfigurationsdateien auch entfernt. Führt man dann die Installation erneut aus, kommt auch wieder die gewünscht Frage an welchem Web-Server pypmyadmin angebunden werden soll.

Nach der Selektion mit der Tab Taste auf OK springen und mit Enter ausführen. Danach laufen weitere Konfigurationsschritte ab. Erneut wird ein Fenster erscheinen, indem ihr gefragt werdet, ob eine Datenbank für phpmyadmin erstellt werden soll. Dies unbedingt mit “YES” bestätigen!

Nun kommt ein sehr wichtiger Schritt und ich empfehle euch das hier gesetzte MySQL Anwendungspasswort sehr gut aufzuschreiben und sehr sicher aufzubewahren! Ein Verlust wäre tragisch, da die Datenbank dann im Prinzip futsch ist!

Erneut mit “OK” bestätigen. Nach noch ein paar automatischen Konfigurationsaktionen in der Konsole ist die Installation damit fertigestellt. Abschließend müssen wir noch die PHP mbstring Erweiterungen mit dem Befehl sudo phpenmod mbstring aktivieren.

Letzte Aktion von uns in diesem Gesamtschritt ist den Apache Web-Server neu zu starten.

sudo systemctl restart apache2

Schritt 7 - phpmyadmin Benutzerrechte konfigurieren

Die Benutzerrechte vom admin User der phpmyadmin Installation reichen für die vollständige Administrierung des mySQL Datenbank-Servers nicht aus. Daher erweitern wir in den folgenden Schritten die Rechte vom phpmyadmin admin User. Um die Installation vom phpmyadmin admin User mussten wir uns nicht kümmern. Das hat der Installationsprozess bereits übernommen. Mit sudo mysql starten wir die mySQL Anwendungskonsole als Root User.

Nachdem wir den Befehl erfolgreich ausgeführt haben. Begrüßt uns die CLI vom mySQL Server.  Wie in meinem Screenshot sollte Dein Cursor nach mysql> blinken. Gib nun als Kommando GRANT ALL PRIVILEGES ON *.* TO “phpmyadmin”@”localhost” WITH GRANT OPTION; ein. Vergiss auf keinen Fall die Befehlszeile mit einem Strichpunkt >> ; << abzuschließen! Siehe nachfolgender Screenshot.

Du solltest eine Ausgabe wie im nächsten Screenshot erhalten —> Query OK

Nach jeder Rechteänderung oder dem manuellen Anlegen von Benutzern ist zwingend der Befehl flush notwendig. Dieser führt mehrere Funktionen innerhalb der mySQL Datenbank aus. Im Prinzip vereinfacht ausgedrückt, schreibt er alle Änderungen in die dafür vorgesehenen Tabellen und Konfigurationsdateien. Danach liest er diese frisch ein.

In unserem Fall lautet der vollständige Befehl: FLUSH PRIVILEGES;
Achte wieder auf den Strichpunkt am Ende vom Befehl!
Query OK muss als erfolgreiche Bestätigung kommen.

Abschließend verlassen wir mysql mit dem Befehl exit.

 

Schritt 8 - Erste Anmeldung am Datenbankserver mit phpmyadmin

Nun ist es endlich so weit. Wir können uns das erste Mal an der mysql Datenbank mittels Browser anmelden. Dazu nutzen wir natürlich den soeben installierten und konfigurierten phpmyadmin. Im Prinzip ist dies jetzt ganz einfach. Rufe den Browser Deiner Wahl auf und gib erneut die Dir bekannte IP-Adresse von Deinem Linux Server ein gefolgt von einem Slash / und dem Zusatz phpmyadmin –> also z.B. 192.168.9.80/phpmyadmin

Benutzername: phpmyadmin
Passwort wie zuvor bei der phyMyAdmin Installation angegeben

Nun melden wir uns mit dem Benutzer phpmyadmin und dem Kennwort, dass du bei der Installation hinterlegt hast, an. Hat die Anmeldung erfolgreich funktioniert, sieht das Browser-Fenster wie folgt aus.

Schritt 9 - mySQL Datenbank-Server im Netzwerk erreichbar machen

In der Standardkonfiguration lässt der mySQL Server nur Verbindungen von localhost zu. Also nur Verbindungen von dem System, auf dem der mySQL Server läuft. Wir müssen somit die Konfigurationsdatei vom mySQL Server anpassen und so den Zugriff von extern zulassen. Das Extern beschränkt sich natürlich erst einmal nur auf Geräte im eigenen LAN. Würde man eine Freigabe für den genutzten Port (3306) vom mySQL Server zum Internet hin öffnen. Könnten auch Clients über das Internet direkt darauf zugreifen. Hier sollte man aber alle notwendigen Sicherheitseinrichtungen beachten!

Mit folgender Befehlszeile können wir wieder mit nano dem Texteditor die mysql.cnf Datei bearbeiten:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Wir müssen nun diese Zeile mit dem binding der auf die localhost Adresse mit einem # Symbol auskommentieren.

Die Änderungen müssen wir nun wieder mit STRG + O für Schreiben abspeichern und dann den nano Editor mit STRG + X beenden. Abschließend muss nun der mysql Server Dienst neu gestartet werden.

sudo systemctl restart mysql

Das war es auch schon mit dem Tutorial. Ab diesem Zeitpunkt seid ihr in der Lage, mit dem Python Modul z.B. mysql-connector-python den ihr über PIP installieren könnt auf die Datenbanken auf eurem Linux Server zuzugreifen.

Marco

Abenteurer, Ultra-Läufer, Python Entwickler, IT-Spezialist

Schreibe einen Kommentar