Ausführen von WordPress unter OpenBSD 6.5 mit OpenBSDs HTTPD

Einführung

Je näher Sie Ihre OpenBSD-Installation an der Standardeinstellung und ohne so viele hinzugefügte Pakete halten, desto sicherer ist sie. Während das üblichere Setup für WordPress die Verwendung von Apache und PHP ist, ist es definitiv möglich (und vorzuziehen), das in OpenBSD integrierte httpd zu verwenden. In diesem Tutorial erhalten Sie eine vollständige Einrichtung eines Let's Encrypt-Zertifikats, eines Webservers und von WordPress. Sie benötigen Root-Zugriff, um dies tun zu können.

Anfangskonfiguration

Wenn Sie dies noch nicht getan haben, müssen Sie eine /etc/doas.confDatei erstellen . Der doasBefehl ist OpenBSDs einfacher Ersatz für sudo.

su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf

Wir müssen OpenBSD mitteilen, wo sich die Pakete befinden. Dies geschieht in der /etc/installurlDatei.

doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit

Jetzt müssen wir PHP und einige zusätzliche Module hinzufügen, die WordPress benötigt, um Dinge wie Bilder und Verschlüsselung zu handhaben. Wenn Sie dazu aufgefordert werden, installieren Sie das neueste PHP-Paket. Eine Sache, die Sie tun müssen, ist, die Moduldateien iniaus dem Beispielverzeichnis in das Hauptverzeichnis zu kopieren . Dies muss erfolgen, um die zusätzlichen PHP-Module zu aktivieren.

doas pkg_add -r mariadb-client mariadb-server php php-curl php-mysqli pecl73-mcrypt pecl73-imagick 
doas su -
cp /etc/php-7.3.sample/* /etc/php-7.3/.

Lassen Sie uns Zertifikate verschlüsseln

OpenBSD hat eine großartige Anwendung namens acme-client. Diese kleine Innovation generiert Ihren Kontoschlüssel, Ihren privaten Schlüssel und erhält ein Zertifikat für Sie. Der acme-Client hängt davon ab, ob ein Webserver vorhanden ist. Daher definieren wir eine schnelle Standardserverdefinition.

Erstellen Sie mit Ihrem Lieblingseditor /etc/httpd.conf. Wir werden die anderen Serverdefinitionen später zur Datei hinzufügen. Was wir jetzt tun müssen, ist httpd vorzubereiten, um die Challenge-Response durchzuführen, um ein kostenloses, gültiges SSL-Zertifikat zu erhalten.

prefork 5
types { include "/usr/share/misc/mime.types" }

server "default" {
    listen on egress port 80
    root "/htdocs"
    directory index "index.html"

    location "/.well-known/acme-challenge/*" {
        request strip 2
        root "/acme"
    }
}

Erstellen Sie auch mit Ihrem Lieblingseditor /etc/acme-client.conf.

authority letsencrypt {
    api url "https://acme-v01.api.letsencrypt.org/directory"
    account key "/etc/acme/letsencrypt-privkey.pem"
}

authority letsencrypt-staging {
    api url "https://acme-staging.api.letsencrypt.org/directory"
    account key "/etc/acme/letsencrypt-staging-privkey.pem"
}

domain example.com {
    alternative names { www.example.com }
    domain key "/etc/ssl/private/example.com.key"
    domain full chain certificate "/etc/ssl/example.com.fullchain.pem"
    sign with letsencrypt
}

Aktivieren und starten Sie httpd und lassen Sie sich ein Zertifikat ausstellen. Sie werden sehen, dass ein Zertifikat ausgestellt wurde.

doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd

Hinzufügen der Serverdefinitionen

Fügen Sie die folgenden Konfigurationszeilen /etc/httpd.confdirekt nach den Let's Encrypt-Definitionen hinzu. Richten Sie httpd so ein, dass eine Umleitung von http zu https durchgeführt wird, da Sie über ein kostenloses SSL-Zertifikat verfügen und niemals das Risiko eingehen möchten, einen Login und ein Passwort über einen unsicheren Link zu senden. Beachten Sie die Zeile: location "/posts/*"Dies ist das Stück, das die WordPress-Permalinks hübsch aussehen lässt. Diese Konfiguration enthält auch eine Möglichkeit, Brute-Force-Versuche zu verhindern, sich bei der WordPress-Administrationsseite anzumelden.

server "example.com" {
    listen on egress port 80
    alias "www.example.com"
    block return 302 "https://$SERVER_NAME$REQUEST_URI"
}

server "example.com" {
    listen on egress tls port 443
    alias "www.example.com"
    root "/htdocs/example.com
    directory index "index.php"

     location "/posts/*" {
        fastcgi {
             param SCRIPT_FILENAME "/htdocs/example.com/index.php"
             socket "/run/php-fpm.sock"
        }
     }

     location "/wp-json/*" {
        fastcgi {
           param SCRIPT_FILENAME "/htdocs/example.com/index.php"
            socket "/run/php-fpm.sock"
        }
     }

    location "/wp-login.php*" {
        authenticate "WordPress" with "/htdocs/htpasswd"
        fastcgi socket "/run/php-fpm.sock"
     }

    #Uncomment the following lines to disable xmlrpc. You increase security 
    #at the expense of being able to use to use 
    #the Android and iPhone WordPress App.
    #location "xmlrpc.php*" {
    #    block return 404
    #}        

    location "*.php*" {
        fastcgi socket "/run/php-fpm.sock"
     }

    tls {
        certificate "/etc/ssl/example.com.fullchain.pem"
        key "/etc/ssl/private/example.com.key"
    }
}

Erstellen Sie den Benutzernamen und die Kennwortdatei für eine zusätzliche Sicherheitsstufe für die WordPress-Administrationssite. Wählen Sie ein gutes Passwort. Dadurch werden Sie aufgefordert, einen Benutzernamen und ein Kennwort einzugeben, um das wp-login.phpSkript auszuführen .

doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd

MariaDB vorbereiten und konfigurieren

MariaDB ist eine Drop-In-Ersatzgabel von MySQL. Wir müssen einige anfängliche Konfigurations- und Datenbankvorbereitungsarbeiten für WordPress durchführen.

Bevor wir MariaDB effektiv nutzen können, müssen wir dem MySQL-Daemon erlauben, mehr Ressourcen als die Standardeinstellung zu verwenden. Nehmen Sie dazu die folgenden Änderungen vor, /etc/login.confindem Sie diesen Eintrag unten hinzufügen.

mysqld:\
    :openfiles-cur=1024:\
    :openfiles-max=2048:\
    :tc=daemon:

Aktivieren und starten Sie MariaDB. Durch dieses Verfahren wird ein Root-Passwort festgelegt und optional die Testdatenbank gelöscht. Es ist eine gute Idee, den Vorschlägen in der sicheren Installationsphase zu folgen.

 doas mysql_install_db
 doas rcctl enable mysqld
 doas rcctl start mysqld
 doas mysql_secure_installation

Erstellen Sie die WordPress-Datenbank und den Datenbankbenutzer.

mysql -u root -p 
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT

Installieren und konfigurieren Sie WordPress

WordPress hat seit einiger Zeit keinen offiziellen OpenBSD-Port mehr, da es sofort funktioniert. Laden Sie den WordPress-Installationsordner herunter, extrahieren Sie ihn und verschieben Sie ihn.

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xvfz latest.tar.gz
doas mv wordpress /var/www/htdocs/example.com
chown -R www:www /var/www/htdocs/example.com

Wir müssen kopieren /etc/resolve.confund /etc/hostszu /var/www/etc. Auf diese Weise kann WordPress den Markt erfolgreich erreichen. Sie benötigen dies, um Plugins und Themes über die WordPress-Admin-Site herunterzuladen.

doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.

Starten Sie httpd und php73_fpm.

doas rcctl start httpd php73_fpm

Navigieren Sie zu der URL, die Sie in Ihrer Serverdefinition verwendet haben. Sie sehen den WordPress-Installationsassistenten. Ersetzen Sie für die Option Datenbankserver localhost durch 127.0.0.1.

Sobald WordPress installiert wurde, ist es Zeit, die Permalinks so einzurichten, dass sie SEO-freundlicher aussehen. Gehen Sie im WordPress-Administrationsbildschirm zu Settings -> Permalinks. Klicken Sie auf Custom Structureund geben Sie ein /posts/%postname%. Klicken Sie nach dieser Änderung auf die Save ChangesSchaltfläche. Sie haben jetzt viel besser aussehende Links. Ein Permalink sieht beispielsweise folgendermaßen aus:https://example.com/posts/example-blog-post



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.