Zum Inhalt

WordPress mit LAMP

Voraussetzungen

  • ein Rocky Linux 9.x System
  • sudo-Privilegien

Einleitung

WordPress ist ein Open-Source-Content-Management-System (CMS), das für seine berühmte 5-Minuten-Installation bekannt ist. Es wird üblicherweise auf einem LAMP-Stack (Linux, Apache, MySQL, PHP) bereitgestellt. Obwohl effiziente lokale Entwicklungstools wie XAMPP, Vagrant und wp-env weithin verfügbar sind, bietet die manuelle Installation von WordPress auf LAMP für die lokale Entwicklung einen wertvollen praktischen Ansatz für Anfänger, die ein tieferes Verständnis anstreben.

Diese Anleitung setzt voraus, dass Sie Rocky Linux 9.x bereits installiert haben, wodurch der L-Teil des LAMP-Stacks abgedeckt wird.

Das Ziel dieses Handbuchs besteht darin, zu untersuchen, wie Sie WordPress mit dem LAMP-Stack manuell auf einer Rocky Linux 9-Maschine installieren können. Dies ist kein produktionsreifer Leitfaden, sondern ein Ausgangspunkt, auf dem Sie aufbauen können. Das in diesem Handbuch enthaltene LAMP-Setup wird ausschließlich für die lokale Entwicklung empfohlen, wenn nicht zuvor geeignete Sicherheitsmaßnahmen ergriffen werden, die eine zusätzliche Konfiguration erfordern.

Systempakete aktualisieren

Stellen Sie sicher, dass die Pakete Ihres Systems auf dem neuesten Stand sind:

    sudo dnf upgrade -y

Apache — Installation

Apache ist ein Webserver und wird unsere WordPress-Site bereitstellen. Installieren Sie ihn:

    sudo dnf install httpd -y

Aktivieren Sie Apache für den automatischen Start beim Booten

Aktivieren Sie Apache nach der Installation, sodass es beim Booten automatisch startet:

    sudo systemctl enable --now httpd

MariaDB — Installation

WordPress speichert dynamische Inhalte in einer MySQL-Datenbank. MariaDB ist ein freies Open-Source-Fork von MySQL. Installieren Sie sie:

    sudo dnf install mariadb-server -y

MariaDB-Server aktivieren

Aktivieren Sie MariaDB nach der Installation, sodass es beim Booten automatisch startet:

    sudo systemctl enable --now mariadb

Absicherung von MariaDB

Führen Sie das Skript mysql_secure_installation aus:

    sudo mysql_secure_installation --use-default

Dieses Skript führt folgende Schritte aus:

  1. Root-Passwort festlegen, falls noch keins eingerichtet ist

  2. Anonyme Benutzer entfernen

  3. Remote-Root-Anmeldung verbieten

  4. Zugriff auf die Testdatenbank entfernen

  5. Privilegien neu laden

PHP — Installation

PHP ist die Programmier-Sprache, die zur Interaktion mit der MySQL-Datenbank und zur Durchführung dynamischer Aktionen verwendet wird. Es wird häufig im WordPress-Kern, in Designs und Plugins verwendet.

Installieren Sie PHP und die erforderlichen Pakete zur Verbindung mit MySQL:

    sudo dnf install php php-mysqlnd php-gd php-xml php-mbstring

Nach der Installation von PHP müssen Sie Apache neu laden, um es als Apache-Modul zu installieren und seine Konfigurationsdateien zu lesen:

Apache neu starten

    sudo systemctl restart httpd

Verwenden Sie curl, um die neueste Version von WordPress herunterzuladen:

WordPress herunterladen und entpacken

    curl -O https://wordpress.org/latest.tar.gz

Verwenden Sie tar, um das heruntergeladene Archiv zu extrahieren:

    tar -xzvf latest.tar.gz

Kopieren Sie die WordPress-Dateien in das öffentliche Standardverzeichnis von Apache:

   sudo cp -r wordpress/* /var/www/html 

owner setzen

Machen Sie Apache zum Eigentümer der Dateien:

    sudo chown -R apache:apache /var/www/html/

Legen Sie die Berechtigungen für die WordPress-Dateien fest:

Festlegen von Berechtigungen

    sudo chmod -R 755 /var/www/html/

Melden Sie sich beim MySQL-CLI an:

Datenbank — Konfiguration

    sudo mysql -u root -p

Erstellen Sie eine neue Datenbank für Ihre WordPress-Website:

Erstellen Sie eine neue Datenbank

    CREATE DATABASE LOCALDEVELOPMENTENV;

Erstellen Sie einen Benutzer mit einem Passwort für Ihre Datenbank:

Anmerkung

Es wird dringend empfohlen, ein sicheres Passwort zu verwenden.

Einen neuen Benutzer und ein neues Passwort erstellen

    CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';

Gewähren Sie mit grant dem soeben erstellten Benutzer alle Berechtigungen für Ihre WordPress-Datenbank:

    GRANT ALL PRIVILEGES ON LOCALDEVELOPMENTENV.* TO 'admin'@'localhost';

Speichern Sie mit flush die Berechtigungen, um die Anwendung der Änderungen sicherzustellen:

    FLUSH PRIVILEGES;

Beenden Sie die MySQL-CLI:

    EXIT;

WordPress — Konfiguration

Kopieren Sie die Vorlage wp-config-sample.php und benennen Sie sie um:

    sudo cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

Öffnen Sie die Datei wp-config.php mit einem Texteditor Ihrer Wahl:

    sudo vi /var/www/html/wp-config.php

Ersetzen der Datenbankeinstellungen

Sie müssen die folgenden Konstanten in Ihrer Datei wp-config.php definieren:

    define ('DB_NAME', 'LOCALDEVELOPMENTENV');
    define ('DB_USER', 'admin');
    define ('DB_PASSWORD', 'password');

Firewall konfigurieren

Öffnen Sie HTTP- und HTTPS-Dienste in Ihrer Firewall:

    sudo firewall-cmd --add-service=http --add-service=https

Laden Sie firewalld neu, um sicherzustellen, dass die Änderungen wirksam werden:

    sudo systemctl reload firewalld

SELinux — Konfiguration

Um Apache Lese- und Schreibzugriff auf Ihre WordPress-Dateien zu gewähren, führen Sie diesen Befehl aus:

   chcon -R -t httpd_sys_rw_content_t /var/www/html/ 

Führen Sie folgenden Befehl aus, damit Apache Netzwerkverbindungen herstellen kann:

Anmerkung

Das Flag `-P` macht diese Konfiguration über Neustarts hinweg persistent
    setsebool -P httpd_can_network_connect true

Zusammenfassung

Sie sollten jetzt in der Lage sein, über das Netzwerk mit dem Hostnamen oder der privaten IP-Adresse des Servers eine Verbindung zu WordPress herzustellen und die WordPress-Installation abzuschließen. Denken Sie daran, dass dieses Setup in erster Linie für lokale Entwicklungszwecke gedacht ist. Für den Produktionseinsatz sind zusätzliche Konfigurationen erforderlich: Festlegen eines Domänennamens, Installieren eines SSL-Zertifikats, Härten Ihres Apache-Servers, Feinabstimmung Ihrer SELinux-Konfiguration und Implementieren von Backups. Dennoch haben Sie durch Befolgen dieser Anleitung einen soliden Ausgangspunkt für die WordPress-Entwicklung auf einem LAMP-Stack geschaffen.

Author: Joseph Brinkman

Contributors: Steven Spencer