Rularea WordPress pe OpenBSD 6.5 cu OpenBSDs HTTPD

Introducere

Cu cât vă mențineți mai aproape instalarea OpenBSD la valoarea implicită și fără tot atâtea pachete adăugate, cu atât va fi mai sigur. În timp ce configurația mai obișnuită pentru WordPress este utilizarea Apache și PHP, este cu siguranță posibil (și de preferat) să folosiți httpd încorporat al OpenBSD. Acest tutorial vă va începe cu o configurare completă a unui certificat Let's Encrypt, a unui server web și a WordPress. Veți avea nevoie de acces root pentru a putea face acest lucru.

Configurare inițială

Dacă nu ați făcut-o deja, va trebui să creați un /etc/doas.conffișier. doasComanda este ușor de înlocuire OpenBSD pentru sudo.

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

Trebuie să spunem OpenBSD unde se află pachetele. Acest lucru se întâmplă în /etc/installurldosar.

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

Acum trebuie să adăugăm PHP și câteva module suplimentare de care WordPress va avea nevoie pentru a gestiona lucruri precum imaginile și criptarea. Când vi se solicită, alegeți să instalați cel mai nou pachet de PHP. Un lucru pe care trebuie să-l faceți este să copiați inifișierele modulului din directorul de exemple pe cel principal. Acest lucru trebuie făcut pentru a permite modulele PHP suplimentare.

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

Obțineți certificate de criptare

OpenBSD are o aplicație excelentă numită acme-client. Această mică inovație este cea care va genera cheia contului dvs., cheia privată și va obține un certificat pentru dvs. Clientul acme depinde de a avea un server web în loc, astfel încât să definim o definiție rapidă a serverului implicit.

Cu editorul preferat, creați /etc/httpd.conf. Mai târziu vom adăuga celelalte definiții ale serverului. Ceea ce trebuie să facem acum este să pregătim httpd pentru a efectua provocarea-răspuns pentru a obține un certificat SSL gratuit și valid.

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

De asemenea, utilizând editorul preferat, creați /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
}

Activați și porniți httpd, apoi obțineți un certificat emis. Veți vedea că a fost emis un certificat.

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

Adăugarea definițiilor serverului

Adăugați următoarele linii de configurare la /etc/httpd.conf, imediat după definițiile Let's Encrypt. Configurați httpd pentru a efectua o redirecționare de la http la https, deoarece aveți un certificat SSL gratuit și nu doriți niciodată să riscați să trimiteți o autentificare și o parolă printr-un link nesigur. Ia notă de linie, location "/posts/*"aceasta este piesa care face ca permalinkurile WordPress să arate frumos. De asemenea, această configurație conține o modalitate de a preveni încercările brute-force de a vă autentifica pe site-ul admin 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"
    }
}

Creați fișierul de utilizator și parola pentru un nivel suplimentar de securitate pe site-ul de administrare WordPress. Alegeți o parolă bună. Acest lucru vă va solicita un nume de utilizator și o parolă pentru a rula wp-login.phpscriptul.

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

Pregătiți și configurați MariaDB

MariaDB este o furcă de înlocuire a MySQL. Trebuie să facem unele lucrări de configurare inițiale și de pregătire a bazelor de date pentru WordPress.

Înainte de a putea utiliza MariaDB eficient, trebuie să permitem demonului mysql să utilizeze mai multe resurse decât valoarea implicită. Pentru a face acest lucru, faceți următoarele modificări /etc/login.confadăugând această intrare în partea de jos.

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

Activați și porniți MariaDB. Această procedură va seta o parolă rădăcină și opțional va renunța la baza de date de testare. Este o idee bună să urmați sugestiile în etapa de instalare sigură.

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

Creați baza de date WordPress și utilizatorul bazei de date.

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

Instalați și configurați WordPress

WordPress nu are un port oficial OpenBSD de ceva timp, deoarece funcționează destul de mult chiar din cutie. Descărcați, extrageți și mutați folderul de instalare 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

Trebuie să copiem /etc/resolve.confși /etc/hosts/var/www/etc. Acest lucru este astfel încât WordPress să poată ajunge cu succes pe piață. Veți avea nevoie de acest lucru pentru a descărca pluginuri și teme prin intermediul site-ului administrativ WordPress.

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

Porniți httpd și php73_fpm.

doas rcctl start httpd php73_fpm

Căutați la adresa URL pe care ați utilizat-o în definiția serverului. Veți vedea expertul de instalare WordPress. Pentru opțiunea server de baze de date, înlocuiți localhost cu 127.0.0.1.

Odată ce WordPress a fost instalat, este timpul să configurați accesele permanente, astfel încât să pară mai prietenoase cu SEO. Din ecranul de administrator WordPress, accesați Settings -> Permalinks. Faceți clic pe Custom Structureși tastați /posts/%postname%. După efectuarea acestei modificări, faceți clic pe Save Changesbuton. Acum aveți legături mult mai frumoase. De exemplu, o legătură permanentă va arăta astfel:https://example.com/posts/example-blog-post



Leave a Comment

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe