LAMP Installation (MySQL, Apache, PHP)
Einleitung
In dieser Anleitung beschreibe ich kurz wie wir einen LAMP Webserver installieren.
Ein LAMP Webserver ist eine Installationskombination von Apache, MySQL / MariaDB und PHP.
Voraussetzungen
Um diese Installation durchfüdurchführen zu könnenkönnen, sind folgende Voraussetzungen gegeben:
- Zugriff auf die Konsole
üüber SSH / Telnet / Lokal - Root Rechte / sudo Rechte
- Debian 11
- Internet Anbindung des Servers
Apache Webserver Installation
Um den Apache Webserver zu installieren, aktualisierst du zuerst die Paketquellen und installierst ggf. Updates und entfernst nicht mehr benöbenötigte Pakete.
sudo apt-get update && apt-get upgrade -y && apt-get autoremove -y
Als näNächstes installierst du den Apache2 Webserver.
sudo apt install apache2 -y
Du kannst jetzt die Installation mit dem Befehl überprüüberprüfen.
Wenn du eine UFW Firewall mit installiert und aktiviert hast, musst du die Ports auf der Firewall freigeben!
sudo ufw allow 80/tcp && \
sudo ufw allow 443/tcp && \
sudo ufw reload
MariaDB Datenbank Installation
Um jetzt die MariaDB Datenbank zu installiereninstallieren, aktualisierst du zuerst wieder die Paket Quellen,Paketquellen, installierst Updates und entfernst nicht mehr benöbenötigte Pakete.
sudo apt-get update && apt-get upgrade -y && apt-get autoremove -y
Als näNächstes installierst du jetzt die MariaDB Datenbank.
sudo apt install mariadb-server -y
Und jetzt füführen wir ein Skript aus. Dieses lälässt uns Sicherheitseinstellungen füfür unseren Datenbank ServerDatenbankserver einstellen. Dieses ööffnen wir mit folgendem Befehl
mysql_secure_installation
Hier werden einige Dinge abgefragt. Diese Einstellungen werden wir jetzt gemeinsam setzen.
- Zuerst Enter
drüdrücken (Wir haben bisher kein root Kennwort gesetztfüfür denDatenbank Benutzer)Datenbankbenutzer) - Debian 11: Die Unix Authentifizierung lehnen wir mit n ab.
- Jetzt Y eingeben. Wir setzen nun ein Kennwort
füfür den Root Datenbank Benutzer. - Als
nänächstes Y eingeben. Wir wollen alle unbekannten Benutzerlölöschen. - Dann geben wir wieder Y ein. Wir unterbinden damit eine Anmeldung des Root Benutzers
außaußerhalb unseres Servers. - Und wieder geben wir Y ein. Damit wird die
Test DatenbankTestdatenbank und die Rechte dorthingelögelöscht. - Als
letztesLetztes geben wir wieder ein Y ein. Damit werden die Berechtigungen einmal neu geladen.
NunJetzt kannst du dich mit folgendem Befehl auf dem SQL Server einloggen. Du wirst nach der Eingabe nach dem Kennwort des Root Benutzers gefragt. Sobald du dieses eingegeben hast, kannst du SQL Befehle absetzen.
mysql -u root -p
Wenn kein Passwort füfür Root angegeben wurde, loggt sich der Benutzer automatisch auf dem Server ein.
Installation von PHP 7.4
Um unsere Installation abzuschließabzuschließen, installieren wir jetzt PHP7.4
PHP ist eine Serverseitigeserverseitige Programmiersprache. Damit kökönnen Befehle direkt auf dem Server ausgefüausgeführt werden, z.B. werden DatenbankDatenbankabfragen Abfragen hähäufig üüber PHP durchgefüdurchgeführt.
sudo apt install php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-gd php7.4-intl php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xsl php7.4-zip php7.4-bz2 libapache2-mod-php7.4 -y
Du hast jetzt erfolgreich PHP 7.4 mit Modulen installiert!
Installation von PHP 8.0
Um unsere Installation abzuschließabzuschließen, installieren wir jetzt PHP7.4
PHP ist eine Serverseitigeserverseitige Programmiersprache. Damit kökönnen Befehle direkt auf dem Server ausgefüausgeführt werden, z.B. werden DatenbankDatenbankabfragen Abfragen hähäufig üüber PHP durchgefüdurchgeführt.
sudo apt install php8.0 php8.0-cli php8.0-common php8.0-curl php8.0-gd php8.0-intl php8.0-mbstring php8.0-mysql php8.0-opcache php8.0-readline php8.0-xml php8.0-xsl php8.0-zip php8.0-bz2 libapache2-mod-php8.0 -y
Du hast jetzt erfolgreich PHP 8.0 mit Modulen installiert!
Optional: Installation von phpMyAdmin
Du kannst Optionaloptional auch phpMyAdmin installiereninstallieren, um deine Datenbank üüber eine WeboberfläWeboberfläche zu verwalten.
Als erstesErstes wechselst du in das VerzeichnisVerzeichnis, in dem du phpMyAdmin ablegen mömöchtest.
cd /var/www
Nun lälädst du das Verpackteverpackte Archiv mit den Dateien füfür phpMyAdmin herunter.
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip
Als näNächstes entpackst du das ZIP Archiv und lölöschst das alte Verzeichnis.
sudo unzip phpmyadmin.zip && sudo rm phpmyadmin.zip
NunJetzt veräveränderst du den Namen des Ordners in phpMyAdmin.
mv phpMyAdmin-*-all-languages phpmyadmin
Jetzt veräveränderst du die Berechtigungen auf das Verzeichnis.
sudo chmod -R 0755 phpmyadmin
Und damit wir dann üüber den Web BrowserWebbrowser auf phpMyAdmin zugreifen kökönnen, erstellen wir eine Konfigurationsdatei füfür den Apache2 Webserver.
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Dort füfügst du folgende Konfiguration ein.
Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
</Directory>
<Directory /var/www/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /var/www/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /var/www/phpmyadmin/setup/lib>
Require all denied
</Directory>
Sobald du mit der Tastenkombination STRG + X und danach Y die Datei gespeichert hast, aktivieren wir jetzt die Konfigurationsdatei.
sudo a2enconf phpmyadmin && sudo systemctl reload apache2
Um die Installation abzuschließabzuschließen, erstellen wir temporätemporäres Verzeichnis im phpMyAdmin Verzeichnis und vergeben füfür dieses die entsprechende Berechtigung.
sudo mkdir /var/www/phpmyadmin/tmp/ && sudo chown -R www-data:www-data /var/www/phpmyadmin/tmp/
Du kannst dich nunjetzt mit den entsprechenden Datenbank BenutzernDatenbankbenutzern anmelden. Wenn sich phpMyAdmin auf dem selbendemselben Server wie die Datenbank befindet, musst du keinen Server angeben und du kannst dich mit einem Benutzer anmeldenanmelden, mit dem Host localhost. KannstDu kannst dich also auch als root anmelden.