OpenBSDs HTTPDを備えたOpenBSD 6.5でWordPressを実行する

前書き

OpenBSDのインストールをデフォルトに近づけ、パッケージを追加しない限り、より安全になります。WordPressのより一般的な設定はApacheとPHPを使用することですが、OpenBSDの組み込みhttpdを使用することは間違いなく可能(そして望ましい)です。このチュートリアルでは、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

次に、画像や暗号化などを処理するためにWordPressが必要とするPHPといくつかの追加モジュールを追加する必要があります。プロンプトが表示されたら、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.confLet's Encryptの定義の直後に、次の設定行を追加します。無料のSSL証明書があり、安全でないリンクを介してログインとパスワードを送信するリスクを冒したくないので、httpdをhttpからhttpsへのリダイレクトを実行するように設定します。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の準備と構成

MariaDBは、MySQLのドロップイン置換フォークです。WordPressの初期設定とデータベース準備作業を行う必要があります。

MariaDBを効果的に使用する前に、mysqlデーモンがデフォルトより多くのリソースを使用できるようにする必要があります。これを行うには、/etc/login.confこのエントリを下部に追加して、に次の変更を加えます。

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

MariaDBを有効にして起動します。この手順では、ルートパスワードを設定し、オプションでテストデータベースを削除します。安全なインストール段階での提案に従うことをお勧めします。

 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のインストールと構成

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



Leave a Comment

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、