Uruchamianie WordPress na OpenBSD 6.5 z OpenBSDs HTTPD

Wprowadzenie

Im bliżej domyślnej instalacji OpenBSD i bez tylu dodanych pakietów, tym bezpieczniejsze będzie. Podczas gdy bardziej powszechną konfiguracją dla WordPress jest użycie Apache i PHP, zdecydowanie jest możliwe (i preferowane) użycie wbudowanego httpd OpenBSD. W tym samouczku rozpoczniesz pełną konfigurację certyfikatu Let's Encrypt, serwera WWW i WordPress. Będziesz potrzebował dostępu do konta root, aby móc to zrobić.

Konfiguracja początkowa

Jeśli jeszcze tego nie zrobiłeś, musisz utworzyć /etc/doas.confplik. doasKomenda jest OpenBSD łatwo zastąpić sudo.

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

Musimy powiedzieć OpenBSD, gdzie znajdują się pakiety. Dzieje się tak w /etc/installurlpliku.

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

Teraz musimy dodać PHP i dodatkowe moduły, które będą potrzebne WordPressowi do obsługi takich rzeczy jak obrazy i szyfrowanie. Po wyświetleniu monitu wybierz instalację najnowszego pakietu PHP. Jedną rzeczą, którą musisz zrobić, to skopiować inipliki modułu z przykładowego katalogu do głównego. Należy to zrobić, aby włączyć dodatkowe moduły 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/.

Uzyskaj certyfikaty Let's Encrypt

OpenBSD ma świetną aplikację o nazwie acme-client. Ta niewielka innowacja wygeneruje klucz do konta, klucz prywatny i uzyska certyfikat dla Ciebie. Klient-klient zależy od posiadania serwera WWW, dlatego definiujemy szybką domyślną definicję serwera.

Utwórz w swoim ulubionym edytorze /etc/httpd.conf. Inne definicje serwerów dodamy do pliku później. Teraz musimy przygotować httpd do wykonania wyzwania-odpowiedzi w celu uzyskania bezpłatnego, ważnego certyfikatu 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"
    }
}

Utwórz również przy użyciu swojego ulubionego edytora /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
}

Włącz i uruchom httpd, a następnie uzyskaj certyfikat. Zobaczysz, że certyfikat został wydany.

doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd

Dodawanie definicji serwera

Dodaj następujące wiersze konfiguracji do /etc/httpd.conf, zaraz po definicjach Let's Encrypt. Skonfiguruj httpd, aby wykonać przekierowanie z http na https, ponieważ masz bezpłatny certyfikat SSL i nigdy nie chcesz ryzykować wysyłania loginu i hasła za pomocą niepewnego łącza. Zwróć uwagę na linię, location "/posts/*"dzięki której permalinki WordPress wyglądają ładnie. Ponadto, ta konfiguracja zawiera sposób, aby zapobiec próbom zalogowania się na stronie administratora 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"
    }
}

Utwórz nazwę użytkownika i plik hasła dla dodatkowego poziomu bezpieczeństwa w witrynie administratora WordPress. Wybierz dobre hasło. Spowoduje to wyświetlenie monitu o podanie nazwy użytkownika i hasła w celu uruchomienia wp-login.phpskryptu.

doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd

Przygotuj i skonfiguruj MariaDB

MariaDB to drop-in zamienny widelec MySQL. Musimy wykonać wstępne prace konfiguracyjne i przygotowanie bazy danych dla WordPress.

Zanim będziemy mogli efektywnie korzystać z MariaDB, musimy pozwolić demonowi mysql zużywać więcej zasobów niż domyślny. Aby to zrobić, wprowadź następujące zmiany /etc/login.conf, dodając ten wpis na dole.

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

Włącz i uruchom MariaDB. Ta procedura ustawi hasło roota i opcjonalnie upuści testową bazę danych. Warto postępować zgodnie z sugestiami na etapie bezpiecznej instalacji.

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

Utwórz bazę danych WordPress i użytkownika bazy danych.

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

Zainstaluj i skonfiguruj WordPress

WordPress nie miał oficjalnego portu OpenBSD od dłuższego czasu, ponieważ działa prawie od razu po wyjęciu z pudełka. Pobierz, rozpakuj i przenieś folder instalacyjny 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

Mamy skopiować /etc/resolve.confi /etc/hostsdo /var/www/etc. Dzieje się tak, aby WordPress mógł z powodzeniem dotrzeć na rynek. Będziesz go potrzebował do pobierania wtyczek i motywów za pośrednictwem strony administracyjnej WordPress.

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

Uruchom httpd i php73_fpm.

doas rcctl start httpd php73_fpm

Przejdź do adresu URL użytego w definicji serwera. Zobaczysz kreatora instalacji WordPress. W przypadku opcji Serwer bazy danych zamień localhost na 127.0.0.1.

Po zainstalowaniu WordPress nadszedł czas, aby skonfigurować permalinki, aby wyglądały bardziej przyjaźnie dla SEO. Na ekranie administratora WordPress przejdź do Settings -> Permalinks. Kliknij Custom Structurei wpisz /posts/%postname%. Po wprowadzeniu tej zmiany kliknij Save Changesprzycisk. Masz teraz znacznie ładniej wyglądające linki. Na przykład bezpośredni link będzie wyglądał następująco:https://example.com/posts/example-blog-post



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.