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ührendurchführen zu könnenkönnen, sind folgende Voraussetzungen gegeben:
- Zugriff auf die Konsole
überü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ötigtebenötigte Pakete.
sudo apt-get update && apt-get upgrade -y && apt-get autoremove -y
Als nächstesNächstes installierst du den Apache2 Webserver.
sudo apt install apache2 -y
Du kannst jetzt die Installation mit dem Befehl überprüfen.ü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ötigtebenötigte Pakete.
sudo apt-get update && apt-get upgrade -y && apt-get autoremove -y
Als nächstesNächstes installierst du jetzt die MariaDB Datenbank.
sudo apt install mariadb-server -y
Und jetzt führenführen wir ein Skript aus. Dieses lässtlässt uns Sicherheitseinstellungen fürfür unseren Datenbank ServerDatenbankserver einstellen. Dieses öffnenöffnen wir mit folgendem Befehl
mysql_secure_installation
Hier werden einige Dinge abgefragt. Diese Einstellungen werden wir jetzt gemeinsam setzen.
- Zuerst Enter
drückendrücken (Wir haben bisher kein root Kennwort gesetztfürfür denDatenbank Benutzer)Datenbankbenutzer) - Debian 11: Die Unix Authentifizierung lehnen wir mit n ab.
- Jetzt Y eingeben. Wir setzen nun ein Kennwort
fürfür den Root Datenbank Benutzer. - Als
nächstesnächstes Y eingeben. Wir wollen alle unbekannten Benutzerlöschen.löschen. - Dann geben wir wieder Y ein. Wir unterbinden damit eine Anmeldung des Root Benutzers
außerhalbaußerhalb unseres Servers. - Und wieder geben wir Y ein. Damit wird die
Test DatenbankTestdatenbank und die Rechte dorthingelöscht.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ürfür Root angegeben wurde, loggt sich der Benutzer automatisch auf dem Server ein.
Installation von PHP 7.4
Um unsere Installation abzuschließen,abzuschließen, installieren wir jetzt PHP7.4
PHP ist eine Serverseitigeserverseitige Programmiersprache. Damit könnenkönnen Befehle direkt auf dem Server ausgeführtausgeführt werden, z.B. werden DatenbankDatenbankabfragen Abfragenhäufig häufig überüber PHP durchgeführt.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ßen,abzuschließen, installieren wir jetzt PHP7.4
PHP ist eine Serverseitigeserverseitige Programmiersprache. Damit könnenkönnen Befehle direkt auf dem Server ausgeführtausgeführt werden, z.B. werden DatenbankDatenbankabfragen Abfragenhäufig häufig überüber PHP durchgeführt.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über eine WeboberflächeWeboberfläche zu verwalten.
Als erstesErstes wechselst du in das VerzeichnisVerzeichnis, in dem du phpMyAdmin ablegen möchtest.möchtest.
cd /var/www
Nun lädstlädst du das Verpackteverpackte Archiv mit den Dateien fürfür phpMyAdmin herunter.
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip
Als nächstesNächstes entpackst du das ZIP Archiv und löschstlöschst das alte Verzeichnis.
sudo unzip phpmyadmin.zip && sudo rm phpmyadmin.zip
NunJetzt veränderstveränderst du den Namen des Ordners in phpMyAdmin.
mv phpMyAdmin-*-all-languages phpmyadmin
Jetzt veränderstveränderst du die Berechtigungen auf das Verzeichnis.
sudo chmod -R 0755 phpmyadmin
Und damit wir dann überüber den Web BrowserWebbrowser auf phpMyAdmin zugreifen können,können, erstellen wir eine Konfigurationsdatei fürfür den Apache2 Webserver.
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Dort fügstfü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ßen,abzuschließen, erstellen wir temporärestemporäres Verzeichnis im phpMyAdmin Verzeichnis und vergeben fürfü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.