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

Comment installer Blacklistd sur FreeBSD 11.1

Comment installer Blacklistd sur FreeBSD 11.1

Introduction Tout service connecté à Internet est une cible potentielle dattaques par force brute ou daccès injustifié. Il existe des outils comme fail2ba

Comment installer la pile Apache, MySQL et PHP (FAMP) sur FreeBSD 12.0

Comment installer la pile Apache, MySQL et PHP (FAMP) sur FreeBSD 12.0

Introduction Une pile FAMP, qui est comparable à une pile LAMP sous Linux, est une collection de logiciels open source qui sont généralement installés ensemble t

Comment installer Osclass sur FreeBSD 12

Comment installer Osclass sur FreeBSD 12

Vous utilisez un système différent? Osclass est un projet open source qui vous permet de créer facilement un site classé sans aucune connaissance technique. Son sourc

Comment installer Wiki.js sur FreeBSD 11

Comment installer Wiki.js sur FreeBSD 11

Vous utilisez un système différent? Wiki.js est une application wiki moderne gratuite et open source basée sur Node.js, MongoDB, Git et Markdown. Le code source de Wiki.js est public

Comment installer lalbum photo Lychee 3.1 sur un VPS FBS FreeBSD 11

Comment installer lalbum photo Lychee 3.1 sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? Lychee 3.1 Photo Album est un outil de gestion de photos simple et flexible, gratuit et open source qui fonctionne sur un serveur VPS. Il installe

Installer Fork CMS sur FreeBSD 12

Installer Fork CMS sur FreeBSD 12

Vous utilisez un système différent? Fork est un CMS open source écrit en PHP. Le code source de Forks est hébergé sur GitHub. Ce guide vous montrera comment installer Fork CM

Créer un fichier déchange sur FreeBSD 10

Créer un fichier déchange sur FreeBSD 10

Par défaut, les serveurs Vultr FreeBSD ne sont pas configurés pour inclure lespace de swap. Si votre intention est pour une instance de cloud jetable, vous navez probablement pas besoin

Comment redimensionner un disque dans FreeBSD

Comment redimensionner un disque dans FreeBSD

Le système dexploitation FreeBSD utilise UFS (Unix File System) pour son système de fichiers de partitions racine; autrement connu sous le nom de freebsd-ufs En cas de mise à niveau

Comment installer Selfoss RSS Reader sur un VPS FBS FreeBSD 11

Comment installer Selfoss RSS Reader sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? Selfoss RSS Reader est un lecteur Web gratuit et open source auto-hébergé à usages multiples, diffusion en direct, mashup, flux de nouvelles (RSS / Atom)

Comment installer Matomo Analytics sur FreeBSD 11

Comment installer Matomo Analytics sur FreeBSD 11

Vous utilisez un système différent? Matomo (anciennement Piwik) est une plate-forme danalyse open source, une alternative ouverte à Google Analytics. La source Matomo est hébergée o

Comment activer TLS 1.3 dans Nginx sur FreeBSD 12

Comment activer TLS 1.3 dans Nginx sur FreeBSD 12

Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446

Comment installer le CMS Backdrop sur un VPS FBS FreeBSD 11

Comment installer le CMS Backdrop sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? Backdrop CMS 1.8.0 est un système de gestion de contenu (CMS) simple et flexible, adapté aux mobiles, gratuit et open source qui nous permet

Comment installer ImpressPages CMS 5.0 sur un VPS FBS FreeBSD 11

Comment installer ImpressPages CMS 5.0 sur un VPS FBS FreeBSD 11

Vous utilisez un système différent? ImpressPages CMS 5.0 est un système de gestion de contenu (CMS) simple et efficace, gratuit et open source, convivial et basé sur MVC

Comment installer le forum NodeBB sur FreeBSD 12

Comment installer le forum NodeBB sur FreeBSD 12

Vous utilisez un système différent? NodeBB est un logiciel de forum basé sur Node.js. Il utilise des sockets Web pour des interactions instantanées et des notifications en temps réel. Le NodeB

Installez eSpeak sur FreeBSD 12

Installez eSpeak sur FreeBSD 12

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer LimeSurvey CE sur FreeBSD 12

Comment installer LimeSurvey CE sur FreeBSD 12

Vous utilisez un système différent? LimeSurvey est un logiciel denquête open source écrit en PHP. Le code source de LimeSurvey est hébergé sur GitHub. Ce guide vous montrera

Comment installer Monica sur FreeBSD 12

Comment installer Monica sur FreeBSD 12

Vous utilisez un système différent? Monica est un système de gestion des relations personnelles open source. Considérez-le comme un CRM (un outil populaire utilisé par les équipes

Comment installer Automad CMS sur FreeBSD 12

Comment installer Automad CMS sur FreeBSD 12

Vous utilisez un système différent? Automad est un système de gestion de contenu (CMS) basé sur des fichiers open source et un moteur de modèle écrit en PHP. Le code source Automad i

Installer Akaunting sur FreeBSD 12

Installer Akaunting sur FreeBSD 12

Vous utilisez un système différent? Introduction Akaunting est un logiciel de comptabilité gratuit, open source et en ligne conçu pour les petites entreprises et les indépendants. Cest moi

Choix dun système dexploitation: CentOS, Ubuntu, Debian, FreeBSD, CoreOS ou Windows Server

Choix dun système dexploitation: CentOS, Ubuntu, Debian, FreeBSD, CoreOS ou Windows Server

Cet article fournit un bref résumé des systèmes dexploitation du serveur proposés en tant que modèles sur Vultr. CentOS CentOS est une version open source de RHEL (Re

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

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.