Introducció
Configuració inicial
Obteniu els certificats de Let's Encrypt
Afegint les definicions del servidor
Preparar i configurar MariaDB
Instal·leu i configureu WordPress
Introducció
Com més a prop mantingui la instal·lació d'OpenBSD a la predeterminada i sense tants paquets afegits, més segura serà. Tot i que la configuració més habitual per a WordPress és utilitzar Apache i PHP, definitivament és possible (i preferible) utilitzar l'httpd integrat d'OpenBSD. Aquest tutorial us ajudarà a començar amb una configuració completa d'un certificat Let's Encrypt, un servidor web i WordPress. Necessitareu accés root per poder fer-ho.
Configuració inicial
Si encara no ho heu fet, haureu de crear un /etc/doas.conffitxer. L' doasordre és el reemplaçament fàcil d'OpenBSD per a sudo.
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
Hem de dir a OpenBSD on es troben els paquets. Això passa al /etc/installurlfitxer.
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Ara hem d'afegir PHP i alguns mòduls addicionals que necessitarà WordPress per gestionar coses com ara imatges i xifratge. Quan se us demani, trieu instal·lar el paquet més nou de PHP. Una cosa que heu de fer és copiar els inifitxers del mòdul del directori de mostra al principal. Això s'ha de fer per habilitar els mòduls PHP addicionals.
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/.
Obteniu els certificats de Let's Encrypt
OpenBSD té una gran aplicació anomenada acme-client. Aquesta petita innovació és la que generarà la clau del vostre compte, la clau privada i obtindrà un certificat per a vosaltres. L'acme-client depèn de tenir un servidor web al seu lloc, de manera que definim una definició ràpida de servidor per defecte.
Amb el teu editor preferit, crea /etc/httpd.conf. Més endavant afegirem les altres definicions de servidor al fitxer. El que hem de fer ara és preparar httpd per realitzar la resposta de desafiament per obtenir un certificat SSL gratuït i vàlid.
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"
}
}
També utilitza el teu editor preferit, crea /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
}
Activeu i inicieu httpd i, a continuació, obteniu un certificat emès. Veureu que s'ha emès un certificat.
doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd
Afegint les definicions del servidor
Afegiu les següents línies de configuració a /etc/httpd.conf, just després de les definicions de Let's Encrypt. Configura httpd per realitzar una redirecció de http a https perquè tens un certificat SSL gratuït i mai no vols arriscar-te a enviar un inici de sessió i una contrasenya a través d'un enllaç insegur. Preneu nota de la línia, location "/posts/*"aquesta és la peça que fa que els enllaços permanents de WordPress semblin bonics. A més, aquesta configuració conté una manera d'ajudar a prevenir els intents de força bruta d'iniciar sessió al lloc d'administració de 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"
}
}
Creeu el fitxer de nom d'usuari i contrasenya per obtenir un nivell addicional de seguretat al lloc d'administració de WordPress. Trieu una bona contrasenya. Això us demanarà un nom d'usuari i una contrasenya per executar l' wp-login.phpscript.
doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd
MariaDB és una bifurcació de reemplaçament de MySQL. Hem de fer un treball de configuració inicial i preparació de bases de dades per a WordPress.
Abans de poder utilitzar MariaDB de manera eficaç, hem de permetre que el dimoni mysql utilitzi més recursos que el predeterminat. Per fer-ho, feu els canvis següents /etc/login.confafegint aquesta entrada a la part inferior.
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Habiliteu i inicieu MariaDB. Aquest procediment establirà una contrasenya d'arrel i, opcionalment, deixarà anar la base de dades de prova. És una bona idea seguir els suggeriments en l'etapa d'instal·lació segura.
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
Creeu la base de dades de WordPress i l'usuari de la base de dades.
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
WordPress no té un port oficial d'OpenBSD des de fa molt de temps perquè funciona pràcticament des de la caixa. Baixeu, extreu i moveu la carpeta d'instal·lació 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
Hem de copiar /etc/resolve.confi /etc/hostsa /var/www/etc. Això és perquè WordPress pugui arribar amb èxit al mercat. Ho necessitareu per descarregar complements i temes a través del lloc d'administració de WordPress.
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
Inicieu httpd i php73_fpm.
doas rcctl start httpd php73_fpm
Navegueu a l'URL que heu utilitzat a la definició del vostre servidor. Veureu l'assistent d'instal·lació de WordPress. Per a l'opció del servidor de bases de dades, substituïu localhost per 127.0.0.1.
Un cop instal·lat WordPress, és hora de configurar els enllaços permanents perquè semblin més amigables amb el SEO. Des de la pantalla d'administració de WordPress, aneu a Settings -> Permalinks. Feu clic Custom Structurei escriviu /posts/%postname%. Després de fer aquest canvi, feu clic al Save Changesbotó. Ara teniu enllaços molt més bonics. Per exemple, un enllaç permanent tindrà aquest aspecte:https://example.com/posts/example-blog-post