Kjører WordPress på OpenBSD 6.5 med OpenBSDs HTTPD

Introduksjon

Jo nærmere du holder din OpenBSD-installasjon til standarden og uten så mange ekstra pakker, jo sikrere vil den være. Mens det mer vanlige oppsettet for WordPress er å bruke Apache og PHP, er det definitivt mulig (og å foretrekke) å bruke OpenBSDs innebygde httpd. Denne opplæringen vil komme i gang med et komplett oppsett av et Let's Encrypt-sertifikat, en webserver og WordPress. Du trenger root-tilgang for å kunne gjøre dette.

Innledende konfigurasjon

Hvis du ikke allerede har gjort det, må du opprette en /etc/doas.conffil. Den doaskommandoen er OpenBSD er lett erstatning for sudo.

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

Vi må fortelle OpenBSD hvor pakkene er plassert. Dette skjer i /etc/installurlfilen.

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

Nå må vi legge til PHP og noen ekstra moduler som WordPress trenger for å håndtere ting som bilder og kryptering. Når du blir bedt om det, velg å installere den nyeste pakken med PHP. En ting du må gjøre er å kopiere modulfilene inifra eksempelkatalogen til hovedkatalogen. Dette må gjøres for å aktivere de ekstra PHP-modulene.

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

Skaff Let's Encrypt-sertifikater

OpenBSD har en flott applikasjon kalt acme-client. Denne lille innovasjonen er det som vil generere din kontonøkkel, private nøkkel og få et sertifikat for deg. Acme-klienten er avhengig av å ha en webserver på plass, så vi definerer en rask standardserverdefinisjon.

Med din favorittredigerer, lag /etc/httpd.conf. Vi vil legge til de andre serverdefinisjonene til filen senere. Det vi trenger å gjøre nå er å forberede httpd for å utføre utfordringssvaret for å få et gratis, gyldig SSL-sertifikat.

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

Bruk også favorittredigeringsprogrammet ditt, lag /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
}

Aktiver og start httpd, og få utstedt et sertifikat. Du vil se at et sertifikat er utstedt.

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

Legge til serverdefinisjoner

Legg til følgende konfigurasjonslinjer til /etc/httpd.conf, like etter Let's Encrypt-definisjonene. Sett opp httpd for å utføre en omdirigering fra http til https fordi du har et gratis SSL-sertifikat og du aldri vil risikere å sende innlogging og passord over en usikker lenke. Legg merke til linjen, location "/posts/*"dette er stykket som får WordPress-permalinkene til å se pene ut. Denne konfigurasjonen inneholder også en måte å forhindre brute-force-forsøk på å logge på WordPress-administrasjonssiden.

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

Opprett brukernavn- og passordfilen for et ekstra sikkerhetsnivå til WordPress-administrasjonssiden. Velg et godt passord. Dette vil be deg om et brukernavn og passord for å kjøre wp-login.phpskriptet.

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

Forbered og konfigurer MariaDB

MariaDB er en drop-in erstatningsgaffel av MySQL. Vi må gjøre noe innledende konfigurasjons- og databaseforberedelsesarbeid for WordPress.

Før vi kan bruke MariaDB effektivt, må vi la mysql-demonen bruke flere ressurser enn standarden. For å gjøre dette, gjør følgende endringer /etc/login.confved å legge til denne oppføringen nederst.

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

Aktiver og start MariaDB. Denne prosedyren vil angi et root-passord og eventuelt droppe testdatabasen. Det er en god idé å følge forslagene i den sikre installasjonsfasen.

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

Opprett WordPress-databasen og databasebrukeren.

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

Installer og konfigurer WordPress

WordPress har ikke hatt en offisiell OpenBSD-port på lenge fordi den fungerer rett ut av esken. Last ned, pakk ut og flytt WordPress-installasjonsmappen.

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

Vi må kopiere /etc/resolve.confog /etc/hoststil /var/www/etc. Dette er slik at WordPress med suksess kan nå markedsplassen. Du trenger dette for å laste ned plugins og temaer via WordPress adminside.

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

Start httpd og php73_fpm.

doas rcctl start httpd php73_fpm

Bla til url-en du brukte i serverdefinisjonen. Du vil se installasjonsveiviseren for WordPress. For alternativet Databaseserver erstatter du localhost med 127.0.0.1.

Når WordPress er installert, er det på tide å sette opp permalinkene slik at de ser mer SEO-vennlige ut. Gå til WordPress-administrasjonsskjermen Settings -> Permalinks. Klikk på Custom Structureog skriv inn /posts/%postname%. Etter å ha gjort denne endringen, klikk på Save Changesknappen. Du har nå mye penere lenker. For eksempel vil en permalink se slik ut:https://example.com/posts/example-blog-post

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer