Apache httpd-Konfiguration für WordPress

Dieser Artikel gehört zu unserer Videokursreihe über WordPress-Sicherheit.

In diesem Artikel wird erläutert, wie Apache auf einem Debian-basierten System für die Verwendung mit WordPress, Let’s Encrypt und Hotlink-Verhinderung sowie für den Schutz vor dem Ausführen von .php -Dateien innerhalb des wp-uploads -Verzeichnisbaums konfiguriert werden kann.

Installieren wir zunächst den Apache-Webserver. Dies kann durch Ausführen des folgenden Befehls erreicht werden:

sudo apt install apache2

Sobald Apache installiert ist, müssen wir einen virtuellen Host für unsere WordPress-Installation erstellen. Dazu muss im Verzeichnis /etc/apache2/sites-available/ eine neue Datei mit der Erweiterung .conf erstellt werden. Wenn unser Domänenname zum Beispiel example.com lautet, würden wir eine Datei mit dem Namen example.com.conf erstellen.

Stellen Sie sicher, dass Sie example.com durch Ihren Domänennamen ersetzen!

In diese Datei müssen wir die folgende Konfiguration aufnehmen:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    <Directory /var/www/example.com>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Diese Konfiguration weist den Apache an, auf Port 80 für Anfragen an example.com undwww.example.com zu lauschen und Dateien aus dem Verzeichnis /var/www/example.com bereitzustellen. Es erlaubt auch die Verwendung von .htaccess Dateien im DocumentRoot Verzeichnis, was eine größere Flexibilität bei der Konfiguration des Servers ermöglicht.

Jetzt aktivieren wir den virtuellen Host, indem wir den Befehl ausführen:

sudo a2ensite example.com.conf

Testen Sie dann die Apache-Konfiguration, indem Sie den Befehl ausführen:

sudo apache2ctl configtest

Wenn die Konfiguration korrekt ist, steht in der Ausgabe „Syntax OK“ und Sie können den Apache neu starten, indem Sie den Befehl ausführen:

sudo systemctl restart apache2

Nun ist es an der Zeit, unseren Server mit Let’s Encrypt zu sichern. Sie können den Let’s Encrypt-Client installieren, indem Sie den Befehl ausführen:

sudo apt install certbot python3-certbot-apache

Sobald die Installation abgeschlossen ist, führen Sie den folgenden Befehl aus, um das SSL/TLS-Zertifikat für HTTPS zu generieren und zu installieren. Bevor Sie den nächsten Befehl ausführen, vergewissern Sie sich bitte, dass Sie die Domäne korrekt konfiguriert haben, damit sie auf Ihren neuen Webserver verweist.

sudo certbot --apache -d example.com -d www.example.com

Mit diesem Befehl wird Apache automatisch so konfiguriert, dass er das neu generierte Zertifikat verwendet. Außerdem wird die automatische Erneuerung des Zertifikats durch Hinzufügen eines Cron-Jobs eingerichtet.

Nun wollen wir das Hotlinking von Bildern verhindern, indem wir den folgenden Code in die Datei .htaccess im Stammverzeichnis Ihrer WordPress-Installation einfügen:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

Dies blockiert alle Anfragen für jpg-, jpeg-, png- und gif-Dateien, die von außerhalb von example.com kommen.

Um die Ausführung von .php Dateien innerhalb des wp-uploads Verzeichnisbaums zu verhindern, können Sie den folgenden Code in Ihre .htaccess Datei einfügen:

<Files *.php>
deny from all
</Files>

Dies blockiert alle .php Dateien innerhalb des wp-uploads Verzeichnisbaums und entschärft damit einen weiteren Angriffsvektor.

Damit sollte Ihr Apache-Server nun vollständig für die Verwendung mit WordPress und Let’s Encrypt konfiguriert sein.

Verwandte Beiträge

nginx-Konfiguration für WordPress

Dieser Artikel gehört zu unserer Videokursreihe über WordPress-Sicherheit. In diesem Artikel wird beschrieben, wie man Nginx auf einem Debian-basierten System für die Verwendung mit WordPress

Mehr lesen

Klicken Sie auf die Schaltfläche, um den Inhalt von Google Calendar.

Google Kalender laden