So richten Sie den LAMP-Server unter Ubuntu 20.04 Focal Fossa ein
LAMP ist ein herkömmliches Modell von Webservice-Stacks. Die Komponenten, aus denen LAMP aufgebaut ist, sind alle Open Source und umfassen: das Linux-Betriebssystem, den Apache HTTP Server, das relationale Datenbankmanagementsystem MySQL und die Programmiersprache PHP. In diesem kurzen Tutorial konfigurieren wir einen grundlegenden LAMP-Server auf Ubuntu 20.04 Focal Fossa.
Vielleicht interessiert Sie auch unser Artikel über die Erstellung eines Docker-basierten LAMP-Stacks unter Ubuntu 20.04.
In diesem Tutorial lernen Sie:
- So installieren Sie den LAMP-Server unter Ubuntu 20.04.
- So öffnen Sie den Firewall-Port, um eingehenden HTTP- und HTTPS-Datenverkehr zuzulassen.
- So stellen Sie eine Verbindung zur MySQL-Datenbank mit einem PHP-Skript her.
LAMP-Server-Setup unter Ubuntu 20.04 Focal Fossa
Verwendete Softwareanforderungen und Konventionen
| Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
|---|---|
| System | Ubuntu 20.04 installiert oder Ubuntu 20.04 aktualisiert Focal Fossa |
| Software | N/A |
| Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über den Befehl sudo. |
Einrichten des LAMP-Servers unter Ubuntu 20.04 Schritt für Schritt Anleitung
-
Sie können den LAMP-Serverstack entweder mit dem Befehl
aptinstallieren und die absolute Mindestanzahl von Paketen einschließen:sudo apt install php-mysql libapache2-mod-php mysql-serveroder mit dem Befehl
tasksel:sudo tasksel install lamp-server Aktivieren Sie Mysql/MariaDB und Apache, um nach dem Neustart zu starten:
sudo systemctl enable --now mysql sudo systemctl enable --now apache2Konfigurieren Sie die MySQL/MariaDB-Datenbank. Führen Sie zunächst die sichere Installation durch:
sudo mysql_secure_installationAls nächstes testen wir die Verbindung zur MySQL-Datenbank programmgesteuert mit einem PHP-Skript. Nur zu Testzwecken werden wir eine
LOW-Passwortrichtlinieverwenden. Verbinden Sie sich über die Befehlszeile mit MySQL:root@linuxconfig:~# mysql -u root -pIn den nächsten Schritten erstellen wir eine Beispieldatenbank und einen Benutzer. Bestätigen Sie zunächst Ihre Passwortrichtlinie, erstellen Sie dann einen neuen
Benutzeradministratorund erteilen Sie dem Benutzer volle Berechtigungen für die neuelinuxconfig-Datenbank:mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | LOW | | validate_password.special_char_count | 1 | +--------------------------------------+-------+ 7 rows in set (0.01 sec) mysql> CREATE DATABASE linuxconfig; mysql> CREATE USER `admin`@`localhost` IDENTIFIED WITH mysql_native_password BY 'yourpass'; mysql> GRANT ALL ON linuxconfig.* TO `admin`@`localhost`; mysql> FLUSH PRIVILEGES;Erstellen Sie als Nächstes das folgende PHP-Skript mit dem Namen eg.
/var/www/html/php-mysql-connect.php, um eine Verbindung zu Ihrer lokalen MySQL-Datenbank herzustellen:<?php $conn = new mysqli("localhost", "admin", "yourpass", "linuxconfig"); if ($conn->connect_error) { die("ERROR: Unable to connect: " . $conn->connect_error); } echo 'Connected to the database. '; $conn->close(); ?>Machen Sie das Skript ausführbar:
sudo chmod +x /var/www/html/php-mysql-connect.phpSobald Sie fertig sind, öffnen Sie Ihren Browser und navigieren Sie zu
http://localhost/php-mysql-connect.php:Verwenden eines PHP-Skripts zur Verbindung mit der MySQL-Datenbank unter Ubuntu 20.04
Aktivieren Sie optional
HTTPS,um eine sichere Verbindung zu unserem Apache-Webserver herzustellen. Bitte beachten Sie, dass wir die standardmäßigen Apache2-Einstellungen mit einem selbstsignierten Standard-SSL-Zertifikat verwenden werden:Standard-SSL-Zertifikate
Bitte beachten Sie, dass wir die Standard-SSL-Zertifikate verwenden. Es wird empfohlen, Ihre SSL-Zertifikate hochzuladen oder Let's Encrypt zu verwenden, um neue Zertifikate für Ihre Domain(s) zu generieren.sudo a2ensite default-ssl sudo a2enmod ssl sudo systemctl restart apache2Navigieren Sie als Nächstes mit Ihrem Browser zu
https://localhost/.
Öffnen Sie abschließend die Firewall-Ports 80 und 443, um eingehenden Remote-Datenverkehr zuzulassen:
sudo ufw allow in "Apache Full"
Sie können nun ein folgendes Skript /var/www/html/phpinfo.php mit dem folgenden Inhalt erstellen, um Ihre LAMP-Konfigurationseinstellungen und aktivierten Module anzuzeigen:
<?php phpinfo(); ?>
Vergessen Sie nicht, das PHP-Skript ausführbar zu machen:
chmod +x /var/www/html/phpinfo.php
Verwenden Sie die folgende URL, um eine Verbindung mit Ihrem phpinfo.php Skript herzustellen: http://YOURSERVER-OR-IP/phpinfo.php.
Fehlerbehebung
Der vom Server angeforderte Authentifizierungsmethode, die dem Client unbekannt ist
Dieser Fehler bedeutet, dass Sie Ihren Benutzer nicht mit einem Kennwort authentifizieren können. Diese Methode muss speziell aktiviert werden. Versuchen Sie, Ihre MySQL-Benutzereinstellungen zu aktualisieren, indem Sie den folgenden Befehl ausführen und den Benutzernamen und das Passwort mit dem folgenden MySQL-Befehl an Ihre Umgebung anpassen:
mysql> ALTER user 'username'@'localhost' identified with mysql_native_password by 'password';
FEHLER 1819 (HY000): Ihr Kennwort entspricht nicht den aktuellen Richtlinienanforderungen.
Überprüfen Sie Ihre Passwortrichtlinie, und stellen Sie sicher, dass das angegebene Passwort den Anforderungen entspricht:
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
Alternativ können Sie zu einer anderen Kennwortrichtlinie wechseln. Mit dem folgenden Befehl wird beispielsweise auf die Kennwortrichtlinie LOW umgeschaltet:
mysql> SET GLOBAL validate_password.policy = LOW;

