Prezantimi
Konfigurimi fillestar
Merrni Certifikatat Le të Enkriptojmë
Shtimi i përkufizimeve të serverit
Përgatitni dhe konfiguroni MariaDB
Instaloni dhe konfiguroni WordPress
Prezantimi
Sa më afër të mbani instalimin tuaj të OpenBSD me standardin dhe pa aq paketa të shtuara, aq më i sigurt do të jetë ai. Ndërsa konfigurimi më i zakonshëm për WordPress është përdorimi i Apache dhe PHP, është padyshim e mundur (dhe e preferueshme) të përdoret httpd e integruar e OpenBSD. Ky udhëzues do t'ju bëjë të filloni me një konfigurim të plotë të një certifikate Let's Encrypt, një server në internet dhe WordPress. Ju do të keni nevojë për qasje rrënjësore në mënyrë që të jeni në gjendje ta bëni këtë.
Konfigurimi fillestar
Nëse nuk e keni bërë tashmë këtë, do t'ju duhet të krijoni një /etc/doas.confskedar. doasKomandës është zëvendësim lehtë OpenBSD për sudo.
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
Duhet t'i tregojmë OpenBSD se ku ndodhen paketat. Kjo ndodh në /etc/installurldosje.
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Tani duhet të shtojmë PHP dhe disa module shtesë që do t'i nevojiten WordPress-it për të trajtuar gjëra të tilla si imazhet dhe enkriptimin. Kur të kërkohet, zgjidhni të instaloni paketën më të re të PHP. Një gjë që duhet të bëni është të kopjoni iniskedarët e modulit nga drejtoria e mostrës në atë kryesore. Kjo duhet të bëhet për të aktivizuar modulet shtesë PHP.
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/.
Merrni Certifikatat Le të Enkriptojmë
OpenBSD ka një aplikacion të shkëlqyeshëm të quajtur acme-client. Kjo risi e vogël është ajo që do të gjenerojë çelësin e llogarisë suaj, çelësin privat dhe do të marrë një certifikatë për ju. Acme-klienti varet nga vendosja e një serveri në internet, kështu që ne përcaktojmë një përkufizim të shpejtë të paracaktuar të serverit.
Me redaktorin tuaj të preferuar, krijoni /etc/httpd.conf. Përkufizimet e tjera të serverit do t'i shtojmë skedarit më vonë. Ajo që duhet të bëjmë tani është të përgatisim httpd për të kryer përgjigjen e sfidës për të marrë një certifikatë falas, të vlefshme SSL.
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"
}
}
Gjithashtu duke përdorur redaktorin tuaj të preferuar, krijoni /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
}
Aktivizoni dhe filloni httpd, më pas merrni një certifikatë të lëshuar. Do të shihni që është lëshuar një certifikatë.
doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd
Shtimi i përkufizimeve të serverit
Shtoni linjat e mëposhtme të konfigurimit në /etc/httpd.conf, menjëherë pas përkufizimeve Let's Encrypt. Konfiguro httpd për të kryer një ridrejtim nga http në https sepse ju keni një certifikatë falas SSL dhe nuk dëshironi kurrë të rrezikoni të dërgoni një hyrje dhe fjalëkalim mbi një lidhje të pasigurt. Kini parasysh rreshtin, location "/posts/*"kjo është pjesa që i bën lidhjet e përhershme të WordPress të duken bukur. Gjithashtu, ky konfigurim përmban një mënyrë për të ndihmuar në parandalimin e përpjekjeve me forcë brutale për t'u identifikuar në faqen e administratorit të 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"
}
}
Krijoni skedarin e emrit të përdoruesit dhe fjalëkalimit për një nivel shtesë sigurie në faqen e administratorit të WordPress. Zgjidhni një fjalëkalim të mirë. Kjo do t'ju kërkojë një emër përdoruesi dhe fjalëkalim për të ekzekutuar wp-login.phpskriptin.
doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd
MariaDB është një pirun zëvendësues i MySQL. Duhet të bëjmë disa punë fillestare të konfigurimit dhe përgatitjes së bazës së të dhënave për WordPress.
Përpara se të mund të përdorim MariaDB në mënyrë efektive, duhet të lejojmë daemon mysql të përdorë më shumë burime sesa parazgjedhja. Për ta bërë këtë, bëni ndryshimet e mëposhtme /etc/login.confduke shtuar këtë hyrje në fund.
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Aktivizo dhe nis MariaDB. Kjo procedurë do të vendosë një fjalëkalim rrënjësor dhe opsionalisht do të heqë bazën e të dhënave të testimit. Është një ide e mirë të ndiqni sugjerimet në fazën e instalimit të sigurt.
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
Krijoni bazën e të dhënave të WordPress dhe përdoruesin e bazës së të dhënave.
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
WordPress nuk ka një portë zyrtare OpenBSD për një kohë të gjatë, sepse funksionon pothuajse jashtë kutisë. Shkarkoni, nxirrni dhe zhvendosni dosjen e instalimit të 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
Ne duhet të kopjojmë /etc/resolve.confdhe /etc/hoststë /var/www/etc. Kjo është në mënyrë që WordPress të mund të arrijë me sukses në treg. Kjo do t'ju duhet për të shkarkuar shtojcat dhe temat përmes faqes së administratorit të WordPress.
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
Filloni httpd dhe php73_fpm.
doas rcctl start httpd php73_fpm
Shfletoni te url-ja që keni përdorur në përkufizimin e serverit tuaj. Do të shihni magjistarin e instalimit të WordPress. Për opsionin e serverit të bazës së të dhënave, zëvendësoni localhost me 127.0.0.1.
Pasi të jetë instaluar WordPress, është koha për të vendosur lidhjet e përhershme në mënyrë që ato të duken më miqësore me SEO. Nga ekrani i administratorit të WordPress, shkoni te Settings -> Permalinks. Klikoni Custom Structuredhe shkruani /posts/%postname%. Pasi të keni bërë këtë ndryshim, klikoni Save Changesbutonin. Tani keni lidhje shumë më të bukura. Për shembull, një lidhje e përhershme do të duket kështu:https://example.com/posts/example-blog-post