Εισαγωγή
Αρχική Διαμόρφωση
Αποκτήστε πιστοποιητικά Let's Encrypt
Προσθήκη των ορισμών διακομιστή
Προετοιμάστε και ρυθμίστε το MariaDB
Εγκαταστήστε και διαμορφώστε το WordPress
Εισαγωγή
Όσο πιο κοντά διατηρείτε την εγκατάσταση του OpenBSD στην προεπιλογή και χωρίς τόσα πρόσθετα πακέτα, τόσο πιο ασφαλής θα είναι. Ενώ η πιο κοινή ρύθμιση για το WordPress είναι η χρήση Apache και PHP, είναι σίγουρα δυνατό (και προτιμότερο) να χρησιμοποιηθεί το ενσωματωμένο httpd του OpenBSD. Αυτό το σεμινάριο θα σας βοηθήσει να ξεκινήσετε με μια πλήρη ρύθμιση ενός πιστοποιητικού Let's Encrypt, ενός διακομιστή web και ενός WordPress. Θα χρειαστείτε πρόσβαση root για να μπορέσετε να το κάνετε αυτό.
Αρχική Διαμόρφωση
Εάν δεν το έχετε κάνει ήδη, θα χρειαστεί να δημιουργήσετε ένα /etc/doas.conf
αρχείο. Η doas
εντολή είναι η εύκολη αντικατάσταση του OpenBSD για το sudo
.
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
Πρέπει να πούμε στο OpenBSD πού βρίσκονται τα πακέτα. Αυτό συμβαίνει στο /etc/installurl
αρχείο.
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Τώρα πρέπει να προσθέσουμε PHP και μερικές επιπλέον ενότητες που θα χρειαστεί το WordPress για να χειριστεί πράγματα όπως εικόνες και κρυπτογράφηση. Όταν σας ζητηθεί, επιλέξτε να εγκαταστήσετε το νεότερο πακέτο της PHP. Ένα πράγμα που πρέπει να κάνετε είναι να αντιγράψετε τα ini
αρχεία της μονάδας από τον κατάλογο δείγματος στον κύριο. Αυτό πρέπει να γίνει για να ενεργοποιηθούν οι πρόσθετες μονάδες 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/.
Αποκτήστε πιστοποιητικά Let's Encrypt
Το OpenBSD έχει μια εξαιρετική εφαρμογή που ονομάζεται acme-client. Αυτή η μικρή καινοτομία είναι που θα δημιουργήσει το κλειδί του λογαριασμού σας, το ιδιωτικό κλειδί και θα αποκτήσει ένα πιστοποιητικό για εσάς. Το acme-client εξαρτάται από την ύπαρξη ενός διακομιστή web, επομένως ορίζουμε έναν γρήγορο προεπιλεγμένο ορισμό διακομιστή.
Με τον αγαπημένο σας επεξεργαστή, δημιουργήστε /etc/httpd.conf
. Θα προσθέσουμε τους άλλους ορισμούς διακομιστή στο αρχείο αργότερα. Αυτό που πρέπει να κάνουμε τώρα είναι να προετοιμάσουμε το httpd για να εκτελέσουμε την πρόκληση-απόκριση για να αποκτήσουμε ένα δωρεάν, έγκυρο πιστοποιητικό 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"
}
}
Χρησιμοποιώντας επίσης τον αγαπημένο σας επεξεργαστή, δημιουργήστε /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
}
Ενεργοποιήστε και ξεκινήστε το httpd και, στη συνέχεια, λάβετε έκδοση πιστοποιητικού. Θα δείτε ότι έχει εκδοθεί πιστοποιητικό.
doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd
Προσθήκη των ορισμών διακομιστή
Προσθέστε τις ακόλουθες γραμμές διαμόρφωσης στο /etc/httpd.conf
, ακριβώς μετά τους ορισμούς Let's Encrypt. Ρυθμίστε το httpd για να εκτελέσετε μια ανακατεύθυνση από το http στο https, επειδή έχετε ένα δωρεάν πιστοποιητικό SSL και δεν θέλετε ποτέ να διακινδυνεύσετε να στείλετε μια σύνδεση και έναν κωδικό πρόσβασης μέσω ενός μη ασφαλούς συνδέσμου. Σημειώστε τη γραμμή, location "/posts/*"
αυτό είναι το κομμάτι που κάνει τους μόνιμους συνδέσμους του WordPress να φαίνονται όμορφοι. Επίσης, αυτή η διαμόρφωση περιέχει έναν τρόπο που βοηθά στην αποφυγή προσπαθειών ωμής βίας για σύνδεση στον ιστότοπο διαχειριστή του 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"
}
}
Δημιουργήστε το αρχείο ονόματος χρήστη και κωδικού πρόσβασης για πρόσθετο επίπεδο ασφάλειας στον ιστότοπο διαχειριστή του WordPress. Επιλέξτε έναν καλό κωδικό πρόσβασης. Αυτό θα σας ζητήσει ένα όνομα χρήστη και έναν κωδικό πρόσβασης για να εκτελέσετε το wp-login.php
σενάριο.
doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd
Το MariaDB είναι ένα αναπτυσσόμενο πιρούνι αντικατάστασης της MySQL. Πρέπει να κάνουμε κάποιες αρχικές εργασίες διαμόρφωσης και προετοιμασίας βάσης δεδομένων για το WordPress.
Για να μπορέσουμε να χρησιμοποιήσουμε αποτελεσματικά το MariaDB, πρέπει να επιτρέψουμε στον δαίμονα mysql να χρησιμοποιεί περισσότερους πόρους από τους προεπιλεγμένους. Για να το κάνετε αυτό, κάντε τις ακόλουθες αλλαγές /etc/login.conf
προσθέτοντας αυτήν την καταχώρηση στο κάτω μέρος.
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Ενεργοποιήστε και ξεκινήστε το MariaDB. Αυτή η διαδικασία θα ορίσει έναν κωδικό πρόσβασης root και προαιρετικά θα απορρίψει τη δοκιμαστική βάση δεδομένων. Είναι καλή ιδέα να ακολουθήσετε τις υποδείξεις στο στάδιο της ασφαλούς εγκατάστασης.
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
Δημιουργήστε τη βάση δεδομένων WordPress και χρήστη βάσης δεδομένων.
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
Το WordPress δεν έχει επίσημη θύρα OpenBSD εδώ και αρκετό καιρό, επειδή λειτουργεί σχεδόν αμέσως. Κάντε λήψη, εξαγωγή και μετακίνηση του φακέλου εγκατάστασης του 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
Πρέπει να αντιγράψουμε /etc/resolve.conf
και /etc/hosts
να /var/www/etc
. Αυτό γίνεται για να μπορέσει το WordPress να φτάσει με επιτυχία στην αγορά. Θα το χρειαστείτε για να κατεβάσετε πρόσθετα και θέματα μέσω του ιστότοπου διαχειριστή του WordPress.
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
Ξεκινήστε το httpd και php73_fpm
.
doas rcctl start httpd php73_fpm
Περιηγηθείτε στη διεύθυνση url που χρησιμοποιήσατε στον ορισμό του διακομιστή σας. Θα δείτε τον οδηγό εγκατάστασης του WordPress. Για την επιλογή Διακομιστής βάσης δεδομένων, αντικαταστήστε τον localhost με 127.0.0.1
.
Μόλις εγκατασταθεί το WordPress, ήρθε η ώρα να ρυθμίσετε τους μόνιμους συνδέσμους έτσι ώστε να φαίνονται πιο φιλικοί προς το SEO. Από την οθόνη διαχειριστή του WordPress, μεταβείτε στο Settings -> Permalinks
. Κάντε κλικ Custom Structure
και πληκτρολογήστε /posts/%postname%
. Αφού κάνετε αυτήν την αλλαγή, κάντε κλικ στο Save Changes
κουμπί. Τώρα έχετε πολύ πιο όμορφους συνδέσμους. Για παράδειγμα, ένας μόνιμος σύνδεσμος θα μοιάζει με αυτό:https://example.com/posts/example-blog-post