Exécuter WordPress sur OpenBSD 6.5 avec OpenBSDs HTTPD

introduction

Plus vous gardez votre installation OpenBSD par défaut et sans autant de packages ajoutés, plus elle sera sécurisée. Alors que la configuration la plus courante pour WordPress consiste à utiliser Apache et PHP, il est certainement possible (et préférable) d'utiliser httpd intégré à OpenBSD. Ce didacticiel vous permettra de démarrer avec une configuration complète d'un certificat Let's Encrypt, d'un serveur Web et de WordPress. Vous aurez besoin d'un accès root pour pouvoir le faire.

Configuration initiale

Si vous ne l'avez pas déjà fait, vous devrez créer un /etc/doas.conffichier. La doascommande est le remplacement facile d'OpenBSD sudo.

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

Nous devons dire à OpenBSD où se trouvent les packages. Cela se produit dans le /etc/installurlfichier.

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

Maintenant, nous devons ajouter PHP et certains modules supplémentaires dont WordPress aura besoin pour gérer des choses comme les images et le cryptage. Lorsque vous y êtes invité, choisissez d'installer le dernier package de PHP. Une chose que vous devez faire est de copier les inifichiers du module du répertoire d'exemples dans le répertoire principal. Cela doit être fait afin d'activer les modules PHP supplémentaires.

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/.

Obtenir des certificats Let's Encrypt

OpenBSD a une excellente application appelée acme-client. Cette petite innovation est ce qui va générer votre clé de compte, votre clé privée et obtenir un certificat pour vous. Le client acme dépend de la présence d'un serveur Web, nous définissons donc une définition de serveur par défaut rapide.

Avec votre éditeur préféré, créez /etc/httpd.conf. Nous ajouterons les autres définitions de serveur au fichier ultérieurement. Ce que nous devons faire maintenant, c'est préparer httpd à effectuer la défi-réponse pour obtenir un certificat SSL valide et gratuit.

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"
    }
}

En utilisant également votre éditeur préféré, créez /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
}

Activez et démarrez httpd, puis obtenez un certificat émis. Vous verrez qu'un certificat a été émis.

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

Ajout des définitions de serveur

Ajoutez les lignes de configuration suivantes à /etc/httpd.conf, juste après les définitions Let's Encrypt. Configurez httpd pour effectuer une redirection de http vers https car vous disposez d'un certificat SSL gratuit et vous ne voulez jamais risquer d'envoyer un identifiant et un mot de passe via un lien non sécurisé. Prenez note de la ligne, location "/posts/*"c'est la pièce qui rend les permaliens WordPress jolis. En outre, cette configuration contient un moyen d'aider à empêcher les tentatives de connexion brutale au site d'administration WordPress.

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"
    }
}

Créez le fichier de nom d'utilisateur et de mot de passe pour un niveau de sécurité supplémentaire sur le site d'administration WordPress. Choisissez un bon mot de passe. Cela vous demandera un nom d'utilisateur et un mot de passe pour exécuter le wp-login.phpscript.

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

Préparer et configurer MariaDB

MariaDB est un fork de remplacement drop-in de MySQL. Nous devons effectuer une configuration initiale et un travail de préparation de la base de données pour WordPress.

Avant de pouvoir utiliser MariaDB efficacement, nous devons autoriser le démon mysql à utiliser plus de ressources que la valeur par défaut. Pour ce faire, apportez les modifications suivantes à /etc/login.confen ajoutant cette entrée en bas.

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

Activez et démarrez MariaDB. Cette procédure définira un mot de passe root et supprimera éventuellement la base de données de test. C'est une bonne idée de suivre les suggestions de l'étape d'installation sécurisée.

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

Créez la base de données WordPress et l'utilisateur de la base de données.

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

Installer et configurer WordPress

WordPress n'a pas eu de port OpenBSD officiel depuis un certain temps car il fonctionne à peu près tout de suite. Téléchargez, extrayez et déplacez le dossier d'installation de WordPress.

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

Nous devons copier /etc/resolve.confet /etc/hostsà /var/www/etc. C'est ainsi que WordPress peut réussir à atteindre le marché. Vous en aurez besoin pour télécharger des plugins et des thèmes via le site d'administration WordPress.

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

Démarrez httpd et php73_fpm.

doas rcctl start httpd php73_fpm

Accédez à l'URL que vous avez utilisée dans votre définition de serveur. Vous verrez l'assistant d'installation de WordPress. Pour l'option Serveur de base de données, remplacez localhost par 127.0.0.1.

Une fois WordPress installé, il est temps de configurer les permaliens pour qu'ils soient plus conviviaux pour le référencement. Depuis l'écran d'administration de WordPress, accédez à Settings -> Permalinks. Cliquez sur Custom Structureet tapez /posts/%postname%. Après avoir effectué cette modification, cliquez sur le Save Changesbouton. Vous avez maintenant des liens beaucoup plus beaux. Par exemple, un permalien ressemblera à ceci:https://example.com/posts/example-blog-post



Leave a Comment

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.