Bevezetés
Kezdeti konfiguráció
Szerezzen Let's Encrypt tanúsítványokat
Szerverdefiníciók hozzáadása
A MariaDB előkészítése és konfigurálása
A WordPress telepítése és konfigurálása
Bevezetés
Minél közelebb tartod az OpenBSD telepítését az alapértelmezetthez, és minél több hozzáadott csomag nélkül, annál biztonságosabb lesz. Míg a WordPress általánosabb beállítása az Apache és a PHP használata, határozottan lehetséges (és előnyösebb) az OpenBSD beépített httpd-je. Ezzel az oktatóanyaggal elkezdheti a Let's Encrypt tanúsítvány, a webszerver és a WordPress teljes beállítását. Ehhez root hozzáférésre lesz szüksége.
Kezdeti konfiguráció
Ha még nem tette meg, akkor létre kell hoznia egy /etc/doas.conffájlt. A doasparancs az OpenBSD egyszerű helyettesítője a parancsnak sudo.
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
Meg kell mondanunk az OpenBSD-nek, hogy hol találhatók a csomagok. Ez a /etc/installurlfájlban történik .
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Most hozzá kell adnunk a PHP-t és néhány extra modult, amelyekre a WordPressnek szüksége lesz olyan dolgok kezeléséhez, mint a képek és a titkosítás. Amikor a rendszer kéri, válassza a PHP legújabb csomagjának telepítését. Egy dolog, amit tennie kell, az, hogy a modul inifájljait a mintakönyvtárból a fő könyvtárba másolja . Ezt meg kell tenni a további PHP modulok engedélyezéséhez.
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/.
Szerezzen Let's Encrypt tanúsítványokat
Az OpenBSD-nek van egy nagyszerű alkalmazása, az acme-client. Ez a kis újítás az, ami létrehozza a fiókkulcsot, a privát kulcsot, és szerez egy tanúsítványt az Ön számára. Az acme-kliens attól függ, hogy van-e webszerver a helyén, ezért egy gyors alapértelmezett szerverdefiníciót adunk meg.
Kedvenc szerkesztőjével hozza létre a /etc/httpd.conf. A többi szerverdefiníciót később adjuk hozzá a fájlhoz. Most fel kell készítenünk a httpd-t a kihívás-válasz végrehajtására, hogy ingyenes, érvényes SSL-tanúsítványt szerezzünk.
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"
}
}
Szintén kedvenc szerkesztőjével hozza létre a /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
}
Engedélyezze és indítsa el a httpd-t, majd kérjen tanúsítványt. Látni fogja, hogy kiállították a tanúsítványt.
doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd
Szerverdefiníciók hozzáadása
Adja hozzá a következő konfigurációs sorokat a /etc/httpd.conf-hoz, közvetlenül a Let's Encrypt definíciók után. Állítsa be a httpd-t a http-ről https-re történő átirányításhoz, mert ingyenes SSL-tanúsítványa van, és soha nem akarja megkockáztatni, hogy egy nem biztonságos hivatkozáson keresztül bejelentkezési nevet és jelszót küldjön. Vegye figyelembe a sort: location "/posts/*"Ez az a darab, amelytől a WordPress állandó hivatkozásai szépek. Ezen túlmenően ez a konfiguráció egy módot tartalmaz a WordPress adminisztrációs webhelyre történő brute force bejelentkezési kísérletek megelőzésére.
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"
}
}
Hozzon létre egy felhasználónév- és jelszófájlt a WordPress adminisztrátori webhely további biztonsági szintje érdekében. Válassz egy jó jelszót. Ez felhasználónevet és jelszót kér a wp-login.phpszkript futtatásához .
doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd
A MariaDB a MySQL beugró cserevilla. El kell végeznünk néhány kezdeti konfigurációs és adatbázis-előkészítési munkát a WordPress számára.
Mielőtt hatékonyan használhatnánk a MariaDB-t, engedélyeznünk kell, hogy a mysql démon az alapértelmezettnél több erőforrást használjon. Ennek érdekében hajtsa végre a következő módosításokat /etc/login.conf: ehhez adja hozzá ezt a bejegyzést az alján.
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Engedélyezze és indítsa el a MariaDB-t. Ez az eljárás beállít egy root jelszót, és opcionálisan eldobja a tesztadatbázist. Célszerű a biztonságos telepítés szakaszában követni a javaslatokat.
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
Hozza létre a WordPress adatbázist és az adatbázis-felhasználót.
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
A WordPressnek már jó ideje nem volt hivatalos OpenBSD-portja, mert a dobozból kivetve nagyjából működik. Töltse le, csomagolja ki és helyezze át a WordPress telepítési mappáját.
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
Meg kell másolni /etc/resolve.conf, és /etc/hostsa /var/www/etc. Ez azért van, hogy a WordPress sikeresen elérje a piacot. Erre a bővítmények és témák letöltéséhez lesz szüksége a WordPress adminisztrációs webhelyén keresztül.
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
Indítsa el a httpd és php73_fpm.
doas rcctl start httpd php73_fpm
Keresse meg a szerverdefinícióban használt URL-t. Látni fogja a WordPress telepítővarázslót. Az Adatbázis-kiszolgáló beállításnál cserélje ki a localhost elemet a következőre 127.0.0.1.
A WordPress telepítése után itt az ideje beállítani a permalinkeket, hogy azok SEO-barátabbnak tűnjenek. A WordPress adminisztrációs képernyőjén lépjen a következőre: Settings -> Permalinks. Kattintson Custom Structureés írja be /posts/%postname%. A módosítás elvégzése után kattintson a Save Changesgombra. Most sokkal szebb linkjei vannak. Például egy állandó hivatkozás így fog kinézni:https://example.com/posts/example-blog-post