WordPressin käyttäminen OpenBSD 6.6:ssa OpenBSD:n HTTPD:llä

Johdanto

Ottaen huomioon OpenBSD:n taipumus turvallisuuteen, on järkevää vain tehostaa WordPress-verkkosivustoasi sillä, varsinkin koska WordPress ja PHP ovat yleensä liikkuvia kohteita käsikirjoituslapsille. Koska OpenBSD:n httpd on suunniteltu ensisijaisesti palvelemaan staattisia sivuja, POST-toiminnot on varattu fastcgi- ja slowcgi-prosesseille. Tämä tekee petollisen toimijan vaikeammaksi mahdollisesti katkaista verkkopalvelimen prosessin ja päästä palvelimellesi. POST-toiminnot ohjataan fastcgi-prosessiin ja käyttävät ulkoista tulkkia. Tässä artikkelissa käsitellään WordPress-sivustosi määrittämisen lisäksi joitakin perusylläpitotekniikoita sekä sivustosi ja sen tietokannan varmuuskopiointia ja palauttamista. Missä tahansa näet example.comverkkotunnuksena, korvaa se omalla verkkotunnuksellasi.

Alkukokoonpano

Jos et ole vielä tehnyt niin, sinun on luotava /etc/doas.conftiedosto. Doas-komento on OpenBSD:n helppo korvaa sudo. Mukavuussyistä olen lisännyt nopass-vaihtoehdon, jotta sinun ei tarvitse kirjoittaa salasanaasi uudelleen, kun käytät doasia. Jos et halua tätä, jätä nopass pois.

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

Riippuen siitä, kuinka OpenBSD on pakattu käyttöönottoa varten, joskus paketinhallinnassa ei ehkä ole määritetty arkistoa. OpenBSD:n virallisen arkiston konfiguroimiseksi meidän on luotava /etc/installurltiedosto.

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

Nyt meidän on lisättävä PHP ja joitain ylimääräisiä moduuleja, joita WordPress tarvitsee käsitelläkseen esimerkiksi kuvia ja salausta. Asenna pyydettäessä uusin PHP-paketti. Yksi asia, joka sinun on tehtävä, on kopioida moduulin ini-tiedostot mallihakemistosta päähakemistoon. Tämä on tehtävä, jotta PHP-lisämoduulit voidaan ottaa käyttöön.

doas pkg_add -r mariadb-client mariadb-server php php-curl php-mysqli php-zip pecl73-mcrypt pecl73-imagick wget doas cp /etc/php-7.3.sample/* /etc/php-7.3/.

Hanki Let's Encrypt -sertifikaatit

Nykymaailmassa verkkosivustoja on tarjottava SSL-salauksen kautta, tai hakukoneet alentavat niitä. Onneksi OpenBSD:llä on loistava sovellus nimeltä acme-client. acme-client luo automaattisesti uuden yksityisen avaimen ja pyytää uutta täysin kelvollista varmennetta. acme-client riippuu siitä, onko verkkopalvelin paikallaan, joten meidän on luotava nopea oletuspalvelimen määritelmä.

Luo suosikkieditorillasi /etc/httpd.conf. Lisäämme muut palvelinmääritykset tiedostoon myöhemmin. Toistaiseksi tämä riittää, jotta acme-client toimii kunnolla.

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

Luo myös suosikkieditorillasi /etc/acme-client.conf.

authority letsencrypt { api url "https://acme-v02.api.letsencrypt.org/directory" account key "/etc/acme/letsencrypt-privkey.pem" } authority letsencrypt-staging { api url "https://acme-staging-v02.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.crt" sign with letsencrypt }

Nyt meidän on otettava käyttöön ja käynnistettävä httpd. Kun olemme tehneet tämän, voimme käyttää acme-client-ohjelmaa ja odottaa, että se saa tuoreen, uuden sertifikaattimme. Kun olemme tehneet tämän, lisäämme cron-työn, joka pyytää automaattisesti uutta 7 päivän välein, jotta meidän ei tarvitse huolehtia vanhenemisesta.

doas rcctl enable httpd doas rcctl start httpd doas acme-client -v example.com

Nyt luomme cron-työn. Lisää tämä rivi aivan viimeisen merkinnän alle. Tässä tapauksessa kerromme acme-clientille, että uusi varmenne tulee pyytää joka lauantai klo 1.00.

doas crontab -e 0 1 * * 6 acme-client -F example.com && rcctl reload httpd

HTTPD:n määrittäminen WordPressille

Nyt on aika määrittää httpd WordPressille. Sen sijaan, että asettaisimme verkkosivustomme määritelmän suoraan kohtaan /etc/httpd.conf, sijoitamme sen erilliseen tiedostoon /etc/httpd.conf.example.comja sisällytämme sen päämääritystiedostoon. Yleensä on hyvä käytäntö erottaa nämä kaksi toisistaan ​​siten, että sivuston laajuiset määritelmät säilytetään päämääritystiedostossa ja toimialuekohtaiset asetukset erillään.

Lisää seuraava rivi /etc/httpd.conftiedoston alaosaan :

include "/etc/httpd.conf.example.com"

Luo nyt suosikkieditorillasi /etc/httpd.conf.example.com. Mukavuuden vuoksi aiomme luoda erilliset lokitiedostot verkkotunnuksellesi. Tämä helpottaa sivustosi mahdollisten ongelmien ratkaisemista.

server "example.com" { listen on egress port 80 alias "www.example.com" # Automatically redirect to SSL block return 302 "https://$SERVER_NAME$REQUEST_URI" log { access "access-example.com" error "error-example.com" } } server "example.com" { listen on egress tls port 443 alias "www.example.com" root "/htdocs/wordpress" directory index "index.php" log { access "access-example.com" error "error-example.com" } tcp { nodelay, backlog 10 } tls { certificate "/etc/ssl/example.com.crt" key "/etc/ssl/private/example.com.key" } hsts { # max-age value is the number of seconds in 1 year max-age 31556952 preload subdomains } location "/.well-known/acme-challenge/*" { root "/acme" request strip 2 } location "/posts/*" { fastcgi { param SCRIPT_FILENAME \ "/htdocs/wordpress/index.php" socket "/run/php-fpm.sock" } } location "/page/*" { fastcgi { param SCRIPT_FILENAME \ "/htdocs/wordpress/index.php" socket "/run/php-fpm.sock" } } location "/feed/*" { fastcgi { param SCRIPT_FILENAME \ "/htdocs/wordpress/index.php" socket "/run/php-fpm.sock" } } location "/comments/feed/*" { fastcgi { param SCRIPT_FILENAME \ "htdocs/wordpress/index.php" socket "/run/php-fpm.sock" } } location "/wp-json/*" { fastcgi { param SCRIPT_FILENAME \ "htdocs/wordpress/index.php" socket "/run/php-fpm.sock" } } location "/wp-login.php*" { authenticate "WordPress" with "/htdocs/htpasswd" fastcgi socket "/run/php-fpm.sock" } location "*.php*" { fastcgi socket "/run/php-fpm.sock" } }

Turvallisuuden lisäämiseksi otamme käyttöön lisäkehotteen käyttäjätunnukselle ja salasanalle kirjautuessasi WordPress-hallintasivustolle. Koska käsikirjoituslapset haluavat toistuvasti yrittää pakottaa WordPressin sisäänkirjautumisen, luomme ylimääräisen kirjautumisen verkkopalvelintasolla. Tyypillisesti he saavat noin 5 arvausta, ennen kuin WordPress lähettää 401 Luvattoman virheen.

doas su cd /var/www/htdocs doas htpasswd htpasswd <user> doas chown www:www htpasswd doas chmod 0640 htpasswd doas rcctl reload httpd

Valmistele ja määritä PHP ja PHP-FPM

Meidän on tehtävä muutos php:hen, jotta WordPress-asennuksesi voi lähettää sähköposteja. WordPress ja jotkin laajennukset perustuvat kykyyn lähettää sähköpostiviestejä päivityksistä, hälytyksistä ja muutoksista. Kyvyttömyys lähettää sähköpostia voi rikkoa tiettyjä WordPressin ominaisuuksia. Koska httpd toimii chrootoidussa ympäristössä, meidän on kerrottava php:lle, kuinka sähköpostit lähetetään. Lisäksi meidän on tehtävä joitain suoritusviikkoja php-fpm: lle.

Etsi sendmail_pathrivi sisään /etc/php-7.3.inija tee seuraava muutos:

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; sendmail_path = sendmail_path = /bin/femail -t -i

Etsi seuraavat rivit /etc/php-fpm.confja muuta niitä seuraavasti:

pm.start_servers = 5 pm.min_spare_servers = 1 pm.max_spare_servers = 6

Seuraava vaihe on ottaa käyttöön ja käynnistää php-fpm.

doas rcctl enable php73_fpm doas rcctl start php73_fpm

Valmistele ja määritä MariaDB

MariaDB on MySQL:n korvaava haarukka. Meidän on tehtävä WordPressin alustavaa konfigurointia ja tietokannan valmistelutyötä.

Ennen kuin voimme käyttää MariaDB:tä tehokkaasti, meidän on sallittava mysql-demonin käyttää oletusarvoa enemmän resursseja. Voit tehdä tämän tekemällä seuraavat muutokset /etc/login.conflisäämällä tämä merkintä alareunaan.

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

Meidän on tehtävä joitain muutoksia MariaDB-määritystiedostoon, /etc/my.cnf. Kun mysql-asiakas ja palvelin kommunikoivat UNIX-verkkoaluepistokkeen kautta TCP:n sijaan, palvelimesi muistin käyttö voidaan pitää alhaisempana. Sinun ei tarvitse tehdä kaikkia alla ehdotettuja muutoksia. Kaksi tärkeää muutettavaa ovat socketlinja ja linjan kommentoiminen bind-address. Tämä siirtää /var/wwwsocketin chroot-ympäristön sisällä, jotta WordPress voi muodostaa yhteyden tietokantaan. Kommentoimalla bind-addressriviä estämme MariaDB:tä kuuntelemasta TCP-porttia.

[client-server] socket=/var/www/var/run/mysql/mysql.sock #port=3306 # This will be passed to all MariaDB clients [client] #password=my_password # The MariaDB server [mysqld] # To listen to all IPv4 network addresses, use "bind-address = 0.0.0.0" #bind-address=127.0.0.1 # Directory where you want to put your data #data=/var/mysql # This is the prefix name to be used for all log, error and replication files #log-basename=mysqld # Logging #log-bin=/var/mysql/mariadb-bin #max_binlog_size=100M #binlog_format=row #expire_logs_days = 7 #general-log #slow_query_log query_cache_type = 1 query_cache_limit = 1M query_cache_size = 16M

Nyt meidän on suoritettava MariaDB-asennusbinaari ja otettava käyttöön ja käynnistettävä MariaDB. Tämä toimenpide asettaa pääkäyttäjän salasanan ja vaihtoehtoisesti pudottaa testitietokannan. On hyvä idea noudattaa kaikkia ehdotuksia turvallisessa asennusvaiheessa.

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

Luo WordPress-tietokanta ja tietokannan käyttäjä. Muista korvata <wp_user>valitsemasi tietokannan käyttäjätunnus ja <password>valitsemasi monimutkainen salasana.

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

Asenna ja määritä WordPress

WordPressillä ei ole ollut virallista OpenBSD-porttia pitkään aikaan, koska se toimii jokseenkin heti käyttöönoton jälkeen. Lataa, pura ja siirrä WordPress-asennuskansio.

cd /tmp wget https://wordpress.org/latest.tar.gz tar xvfz latest.tar.gz doas mv wordpress /var/www/htdocs/. doas chown -R www:www /var/www/htdocs/wordpress doas chmod 0755 /var/www/htdocs/wordpress cd /var/www/htdocs/wordpress/ find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;

Meidän on kopioitava /etc/resolv.confja /etc/hostsluotavaan hakemistoon nimeltä /var/www/etc. Tämä on siksi, että WordPress pääsee menestyksekkäästi markkinoille. Tarvitset tätä, jotta voit ladata laajennuksia ja teemoja WordPress-hallintasivuston kautta. On myös tärkeää, että Jet Pack -laajennus toimii oikein.

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

Selaa täältä WordPress-verkkosivustollesi käyttämällä https:ää verkkopalvelimen määrittelyssä määrittämäsi URL-osoitteen kautta. Jos kaikki toimii oikein, sinun pitäisi nähdä ohjattu WordPress-asennustoiminto. Kun pääset tietokantapalvelimen määrittämisvaihtoehtoon, sinun tulee käyttäälocalhost:/var/run/mysql/mysql.sock

Kun WordPress on asennettu, on aika määrittää pysyvät linkit, jotta ne näyttävät SEO-ystävällisemmiltä. Siirry WordPress-järjestelmänvalvojan näytössä kohtaan Settings -> Permalinks. Napsauta Mukautettu rakenne ja kirjoita /posts/%postname%. Kun olet tehnyt tämän muutoksen, napsauta Tallenna muutokset -painiketta. Sinulla on nyt paljon kauniimman näköisiä linkkejä. Pysyvä linkki näyttää esimerkiksi tältä:https://example.com/posts/example-blog-post

Tästä eteenpäin sinulla pitäisi olla perussivusto valmiina käyttöön. Varmista, että asennat laajennuksia, kuten Jet Pack ja WP-Super Cache. WP-Super Cache -laajennus auttaa nopeuttamaan verkkosivustoasi tallentamalla verkkosivuja välimuistiin ja eliminoimalla jatkuvat tietokantahaut, ja JetPack antaa sinulle erinomaiset katsojatilastot.

Varmuuskopioi WordPress-verkkosivustosi ja -tietokanta

On sanomattakin selvää, että verkkosivuston ja tietokannan varmuuskopiointi on erittäin tärkeää. Onneksi tämä on suhteellisen helppo tehtävä. Varmuuskopioi molemmat kotihakemistoosi ja sitten voit kopioida ne scp:n kautta toiseen paikkaan. Voit myös luoda tilannekuvan Vultr-ohjauspaneelin kautta. On hyvä idea tehdä molemmat.

cd /var/www/htdocs tar cvfz wordpress.tgz wordpress/ cp wordpress.tgz /home/user mysqldump -u root -p wordpress > wordpress.sql && gzip wordpress.sql

WordPress-verkkosivustosi palauttaminen

Jos tietokanta on vioittunut ja palautus on tarpeen, toimi seuraavasti:

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

Jos olet tehnyt muutoksia WordPress-skriptitiedostoon, joka rikkoi jotain, voit aina asentaa WordPressin uudelleen järjestelmänvalvojan ohjauspaneelin kautta. Etsi Updatesosio ja napsauta linkkiä. Etsi painiketta, jossa on merkintä Re-install Now. Tämä ainakin korjaa sen, mikä on rikki, mutta suurimman osan määrityksistäsi pitäisi pysyä ennallaan.

Jos tietokantasi on hyvässä kunnossa, mutta olet vahingossa muokannut tiedostoa ja rikkonut asioita niin, että et pääse edes WordPress-hallintakonsoliin, toimi seuraavasti:

rm /var/www/htdocs/wordpress cp /home/user/wordpress.tgz /tmp tar xvfz wordpress.tgz mv wordpress /var/www/htdocs/. chown -R www:www /var/www/htdocs/wordpress cd /var/www/htdocs/wordpress find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;


Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja