GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie LAMP Apache, MySQL, PHP unter Debian 11

So installieren Sie LAMP Apache, MySQL, PHP unter Debian 11. In dieser Anleitung erfahren Sie, wie Sie Apache2, MySQL 8.0 und PHP 8.1 installieren.

Sie werden auch einige gängige PHP-Erweiterungen installieren und die PHP-Konfigurationen anpassen. Abschließend sichern Sie Ihr Setup mit Let’s Encrypt SSL und konfigurieren die HTTPS-Umleitung.

Dieses Setup wurde in der Google Cloud getestet, sodass es auf allen Cloud-Hosting-Diensten wie AWS, Azure oder jedem VPS oder jedem dedizierten Server mit Debian 11 funktioniert.

Voraussetzungen für die Installation von LAMP

  • Root-Zugriff auf Ihren Server oder einen sudo-Benutzer.
  • Domain verwies auf Ihre Server-IP, um Let’sEncrypt SSL zu installieren

Schritt 1:Setup-Initialisierung

Beginnen Sie damit, die Pakete mit dem folgenden Befehl auf die neueste verfügbare Version zu aktualisieren.

sudo apt update
sudo apt upgrade

Wget-Paket installieren.

sudo apt install wget

Sobald Sie das Setup aktualisiert haben, können Sie mit der Installation des LAMP-Stacks beginnen.

Schritt 2:Apache installieren

Installieren Sie Apache mit dem folgenden Befehl.

sudo apt install apache2

Dadurch wird apache2 installiert und alle erforderlichen Abhängigkeiten.

Schritt 3:Firewall einrichten

Jetzt können Sie eine unkomplizierte Firewall (UFW) mit Apache einrichten, um den öffentlichen Zugriff auf Standard-Webports für HTTP zu ermöglichen und HTTPS

sudo ufw app list

Sie sehen alle aufgelisteten Anwendungen.

Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
  • Apache :Dieses Profil öffnet Port 80 (normaler, unverschlüsselter Webverkehr)
  • Apache voll :Dieses Profil öffnet beide Ports 80 (normaler, unverschlüsselter Webverkehr) und Port 443 (TLS/SSL-verschlüsselter Datenverkehr)
  • Apache-sicher :Dieses Profil öffnet nur Port 443 (TLS/SSL-verschlüsselter Datenverkehr)
  • OpenSSH :Dieses Profil öffnet Port 22 für den SSH-Zugriff.

Wenn Sie SSL nicht verwenden möchten, müssen Sie nur das Apache-Profil aktivieren.

Jetzt aktivieren wir Apache Full.

sudo uff allow OpenSSH
sudo ufw allow 'Apache Full'

Mit diesem Befehl können Sie den Status von UFW anzeigen.

sudo ufw status

Sie sehen die Ausgabe wie folgt.

Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

Schritt:4 Apache-Installation prüfen

Sobald Apache installiert ist, wird er automatisch gestartet und ist bereits betriebsbereit.

Jeder Prozess in Apache wird mit dem systemctl verwaltet Befehl. Überprüfen Sie den Status von Apache mit dem folgenden Befehl.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Drop-In: /lib/systemd/system/apache2.service.d
            └─apache2-systemd.conf
    Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago
  Main PID: 10617 (apache2)
     Tasks: 55 (limit: 667)
    CGroup: /system.slice/apache2.service
            ├─10617 /usr/sbin/apache2 -k start
            ├─10619 /usr/sbin/apache2 -k start
            └─10620 /usr/sbin/apache2 -k start
 Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server…
 Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.

Jetzt haben wir Apache installiert und die Firewall konfiguriert.

Schritt 5:MySQL installieren

Um das MySQL APT-Repository zu Ihrem System hinzuzufügen, gehen Sie zur Download-Seite des Repositorys und laden Sie das neueste Release-Paket mit dem folgenden Befehl herunter.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

Installieren Sie das Release-Paket.

sudo apt install ./mysql-apt-config_0.8.22-1_all.deb

Wir werden MySQL Version 8.0 installieren. Wählen Sie OK, indem Sie die Tabulatortaste drücken, und drücken Sie die Eingabetaste (wie im Bild oben gezeigt).

Jetzt können Sie MySQL installieren.

sudo apt update
sudo apt install mysql-server

Sobald die Installation abgeschlossen ist, wird der MySQL-Dienst automatisch gestartet. Geben Sie Folgendes ein, um zu überprüfen, ob der MySQL-Server ausgeführt wird:

sudo service mysql status

Die Ausgabe sollte zeigen, dass der Dienst aktiviert ist und ausgeführt wird:

 mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-02-02 06:12:30 UTC; 17s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
   Main PID: 101929 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 1148)
     Memory: 369.3M
        CPU: 805ms
     CGroup: /system.slice/mysql.service
             └─101929 /usr/sbin/mysqld

Feb 02 06:12:29 demo systemd[1]: Starting MySQL Community Server...
Feb 02 06:12:30 demo systemd[1]: Started MySQL Community Server.

Schritt 6:Sichern Sie MySQL

Die MySQL-Installation wird mit einem Skript namens mysql_secure_installation geliefert damit können Sie die Sicherheit des MySQL-Servers einfach verbessern.

sudo mysql_secure_installation

Sie werden aufgefordert, den VALIDATE PASSWORD PLUGIN zu konfigurieren die verwendet wird, um die Stärke der Passwörter der MySQL-Benutzer zu testen und die Sicherheit zu verbessern.

Drücken Sie y wenn Sie das Plugin zur Passwortvalidierung oder einen anderen Schlüssel einrichten möchten, um zum nächsten Schritt zu gelangen.

Es gibt drei Stufen der Kennwortvalidierungsrichtlinie:niedrig, mittel und stark.

Geben Sie 2 für die Bestätigung des starken Passworts ein.

Bei der nächsten Eingabeaufforderung werden Sie aufgefordert, ein Passwort für den MySQL-Root-Benutzer festzulegen.

Wenn Sie das Plugin zum Überprüfen des Passworts einrichten, zeigt Ihnen das Skript die Stärke Ihres neuen Passworts an. Geben Sie y ein um das Passwort zu bestätigen.

Als Nächstes werden Sie aufgefordert, den anonymen Benutzer zu entfernen, den Zugriff des Root-Benutzers auf den lokalen Computer einzuschränken, die Testdatenbank zu entfernen und die Berechtigungstabellen neu zu laden. Sie sollten y beantworten auf alle Fragen.

Schritt 7:PHP installieren

Fügen Sie das SURY PPA für PHP 8.1 hinzu

sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

Jetzt können Sie das PPA zu den Serverpaketen hinzufügen.

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

Aktualisieren Sie die Pakete und installieren Sie PHP 8.1

sudo apt update

sudo apt install php libapache2-mod-php php8.1-mysql php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl -y

Sobald PHP installiert ist, können Sie die Version mit dem folgenden Befehl überprüfen.

php -v

Schritt 8:PHP konfigurieren

Jetzt konfigurieren wir PHP für Webanwendungen, indem wir einige Werte in php.ini ändern Datei.

Für PHP 8.1 mit Apache der php.ini Der Speicherort befindet sich im folgenden Verzeichnis.

sudo nano /etc/php/8.1/apache2/php.ini

Drücken Sie F6 für die Suche im Editor und aktualisieren Sie die folgenden Werte für eine bessere Leistung.

upload_max_filesize = 32M 
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Nachdem Sie Ihre PHP-Einstellungen geändert haben, müssen Sie Ihren Apache neu starten, damit die Änderungen wirksam werden.

Schritt 9:Apache konfigurieren

Standard-Apache-Konfiguration deaktivieren.

sudo a2dissite 000-default

Erstellen Sie Website-Verzeichnisse.

sudo mkdir -p /var/www/html/domainname/public

Richten Sie die richtigen Berechtigungen ein.

sudo chmod -R 755 /var/www/html/domainname
sudo chown -R www-data:www-data /var/www/html/domainname

Erstellen Sie eine neue virtuelle Hostkonfiguration.

sudo nano /etc/apache2/sites-available/domainname.conf

Fügen Sie die folgenden Konfigurationen in die neue Datei ein.

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName domainname.com
     ServerAlias www.domainname.com

     DocumentRoot /var/www/html/domainname/public

     <Directory /var/www/html/domainname/public>
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
 </VirtualHost>

Aktivieren Sie die neue Konfiguration.

sudo a2ensite domainname.conf

Schritt 10:Let’s Encrypt SSL installieren

HTTPS ist ein Protokoll zur sicheren Kommunikation zwischen einem Server (Instanz) und einem Client (Webbrowser). Aufgrund der Einführung von Let’s Encrypt, das kostenlose SSL-Zertifikate bereitstellt, wird HTTPS von allen angenommen und schafft auch Vertrauen für Ihr Publikum.

Hier werden wir Certbot installieren, um Let’sEncrypt SSL mit Snap zu installieren.

sudo apt update
sudo apt install snapd -y
sudo snap install core
sudo snap refresh core

Installieren Sie das Certbot-Tool.

sudo snap install --classic certbot

Konfigurieren Sie Certbot so, dass es als Befehl ausführbar ist.

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Jetzt haben wir Certbot installiert, um Let’s Encrypt für Debian 11 zu installieren.

Führen Sie den folgenden Befehl aus, um Ihre Zertifikate zu installieren.

sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com

Wählen Sie die entsprechende Option und drücken Sie Enter

Dieser Befehl installiert Free SSL, konfiguriert die Umleitung zu HTTPS und startet den Apache-Server neu.

Schritt 11:SSL-Zertifikat erneuern

Von Let’s Encrypt bereitgestellte Zertifikate sind nur 90 Tage gültig, sodass Sie sie häufig erneuern müssen. Testen wir also die Erneuerungsfunktion mit dem folgenden Befehl.

sudo certbot renew --dry-run

Dieser Befehl testet den Ablauf des Zertifikats und konfiguriert die automatische Verlängerungsfunktion.

Schritt:12:Testen Sie das Setup

Sobald Sie die erforderlichen Schritte ausgeführt haben, können Sie eine neue Test-PHP-Datei in Ihrem Webverzeichnis erstellen.

sudo nano /var/www/html/domainname/public/info.php

Fügen Sie den folgenden Code in die Datei ein.

<?php phpinfo();

Speichern Sie die Datei.

Überprüfen Sie nun Ihren Domainnamen mit dem info.php in der URL (domainname.com/info.php ).

Sie werden sehen, dass Ihre Domain auf HTTPS umgeleitet wurde, und die PHP-Informationsdetails sehen.

Steigern Sie Ihre Linux-Administrationskarriere mit einem abgeschlossenen Schulungskurs und bekommen Sie Ihren Traumjob.

Schlussfolgerung

Jetzt haben Sie gelernt, wie man den LAMP-Stack auf Debian 11 mit Let’s Encrypt installiert.

Vielen Dank für Ihre Zeit. Wenn Sie auf ein Problem oder Feedback stoßen, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. So installieren Sie Apache, MySQL, PHP (LAMP) unter CentOS/RHEL 7

  2. So installieren Sie Apache, MySQL, PHP (LAMP) unter Ubuntu 16.04 LTS

  3. So installieren Sie LAMP (Apache, MySQL, PHP) unter Debian 11

  4. So installieren Sie LAMP unter Debian 8

  5. So installieren Sie LAMP (Linux, Apache, MySQL, PHP) unter Debian 9

So installieren Sie LAMP (Apache, MySQL, PHP) unter Debian 10

So installieren Sie Apache, MySQL, PHP (LAMP) auf Fedora 21

So installieren Sie Linux, Apache, MySQL, PHP (LAMP) auf Debian 8.2 Cloud Server

So installieren Sie LAMP unter Ubuntu 15.10 (Linux, Apache, MySQL und PHP)

So installieren Sie Apache, MySQL, PHP (LAMP) unter Arch Linux

So installieren Sie den Stapel Apache, MySQL, PHP (LAMP) unter Ubuntu 16.04