(2023.06)レンタルサーバ変更に伴い、ドメイン変更致しました(旧URL:https://i-topics.net)。

【ラズパイ4】60分で完了!SSL対応WordPressインストール

この記事は約31分で読めます。
 

新着記事


    - この記事には広告・プロモーションが含まれています -  

当サイトではRaspberry Pi 4(ラズパイ4)を使って、

を目指して7回に分けてサーバ構築のための準備をしてきました。

ラズパイ記事8回目の前回ではSambaサーバを構築し、1つ目の目標を終えました。
今回は2つ目の目標、SSL対応ローカルWordPressをラズパイにインストールします。

ラズパイへのWordPressインストール方法の記事はたくさんありますが、
「最初からSSLにのみ対応」した方法はあまり見かけないと思います。
家庭内LAN内でもSSHと同様に暗号化された通信は安心な気持ちになれますので、
個人的にはSSL化をお勧めいたします。

前半の前置きが長くなってしまったので、
60分で完了させたい方はIntroductionをスキップしてお読みください。

Introduction

SSL対応WordPressインストールに有益なページ

私は上記サイトDigitalOceanとは全く関係が無く、調べ物で偶然に辿り着いた1ユーザーに過ぎないですが、

  • コンテンツの正確さ
  • 丁寧で分かりやすい説明の運び
  • URLスラッグの美しさ

などに深く感銘を受け、
25年以上染み付いた自身のコンテンツの作り方を根底から見直し、
上記サイトのような丁寧さを目指しています。

本記事を書く私の思い

リスペクトを抱きつつ、上記サイト全4ページ分のコマンドラインのうち、自己署名SSL接続の設定も織り込みながら、可能な限りストレートにラズパイへWordPressインストールが完了するよう、
本記事1ページにまとめました。

Webサーバ構築にはスピードよりも正確さが大事だと思いますので、

  • 「可能な限りトラブルが生じにくい筋道でWordPressを設置・インストールする手順&方法」

に重点を置きました。

私自身、Windows10, Debian, ラズパイへWordPressをインストールしてはWebサーバの作り直しを繰り返しているので、私の経験がお役に立てれば、嬉しく思います。

WordPressをSSL対応に構築すると途端に難易度が上がるので、
つまづきやすいポイントに配慮しつつ、慎重に順序立てました。

私自身のローカルWordPressの用途は「ちょっとした自分用のログ置き場」なので、
Webサーバ構築にあまり深入りせず、
本記事でも「SSL対応ローカルWordPressインストールがゴール」としています。

ラズパイにWordPressをインストールする概念

  1. クライアントPCにサーバ(ラズパイ)上のドキュメント(WordPressファイル)を閲覧出来る環境を作る。
    • →図書館の端末で文献を探すような感覚に似ている。
  2. そのためには、ラズパイ上の他のファイルは見えないルート(通り道)を提供する必要がある。
  3. この通り道を作る作業工程が「Webサーバを構築してWordPressをインストールする」に該当する。

私はWordPressを使って11年になります。FFFTPFilezillaなどFTPソフトを介してWordPressファイルの階層構造を見たことはありますが、ファイルマネージャーで見ると「各ファイルが収まるべき場所に収まっているに過ぎない」と、新鮮に思えました。

▼ ①のルートを提供して、クライアントが②のファイル類へアクセス出来る環境構築が目的。

▼ ②に辿り着くために、クライアントには他のディレクトリ(フォルダ)は見えない設定[1] … Continue readingにして、
varディレクトリ(赤枠)だけをルートから通らせる(画像1)。

▼ 画像1の下層もwwwディレクトリ(赤枠)しかクライアントには見えないようにする(画像2)。

▼ 画像2の下層でようやくWordPressがインストールされているディレクトリに辿り着く。
他のパターンの通り道は一切提供しない。
DocumentRoot(ドキュメントへの道)というネーミングが的を得て素晴らしいと感じました。

上のような通り道を構築していく作業が、

  • ラズパイをWebサーバ化してWordPressをインストールする

という概念的な考え方になる、と私は理解しています。

初回は「XAMPP(シャンプ)」がお勧め

初めてWebサーバを作るなら、XAMPP(シャンプ)で触りを知るのが良いと思います。
XAMPPとはWebサーバに必要な、

が一式化された無料パッケージで、GUIだけで設定・操作できます。
Windows版、Linux版、どちらも用意されています。

XAMPPの公式サイトはこちら

XAMPP導入の際に着目する点は、

  • Webサーバ構築にはどんなプログラムが必要なのか(ざっくりと)?
  • どれくらいの工程数なのか?
  • どれくらい時間が掛かるのか?
  • 難易度はどの程度なのか?

などの感触を大まかに把握しておくと、
本格的なWebサーバ構築も要領を得やすくなると思います。

私はWindows、Debian、それぞれ1回ずつXAMPPを試してから、
上記DigitalOceanのやり方を6回ほど繰り返しました。

XAMPPをすぐに止めた理由は、
XAMPPの仕様に縛られるのは少し不便に感じたからです。

そこで、ラズパイOS作成・インストールから始めて、更地からWebサーバを作ることにしました。

LAMPで覚える

私がLAMPを知ったのは、XAMPPを経験した後でした。

LAMPとは、

  • Linux
  • Apache
  • MariaDB(MySQL)
  • PHP

それぞれの頭文字を取り、LinuxでWebサーバ構築するために必要な一式を称したものです。
LAMPの順序でインストールしていけば良いので、とても覚えやすいです。

Apache, MariaDB, PHP, それぞれインストールしていくと、

  • コンピュータはファイルの集合体
  • そのファイルは記述の集合体

と、改めて力強く認識させられました。そのため、

という意識に変化しました。

さて、長い前置きはここまでです。
ここから先が本記事の本テーマになります。

はじめに結論: 32bit版ラズパイ4でも軽快な動作

  • レスポンス速度:予想以上にきびきびと軽快にWordPressが動作します(家庭内LANの範囲内で)。
  • WordPress プラグイン0個[2] … Continue reading:家庭内LANからのSSL接続のみufwを許可しています(ポート443のみ、80不可)。
  • 投稿記事・固定記事は、WordPressインストール直後の状態を保持。
  • データベースが最軽量の状態での印象です。

今回のWebサーバにしろ前回のSambaサーバにしろ、使わないポートは閉じておくほうが、
CPU温度は上がりにくいと思います。Bluetooth / Wi-Fi 無効化と同じ考え方です。

関連記事:ラズパイのCPU温度について

前提条件・環境・動作確認

前提条件

PC環境

関連記事:私のラズパイ環境はこちら

Raspberry-Pi-4-with-WesternDigital-HDD

動作確認

hostsファイルでホスト名解決を済ましているPC (Windows10, Debian)からは、ドメイン「raspberrypi」へ.localを使わずにSSL接続でアクセスできます。
iPad, iPhone, Androidなどモバイル端末ではhostsファイルの編集が出来ないため、本記事の方法ではアクセスできません

詳しくは以下のサイトをご覧ください。
iPadやAndroidでhostsを書き換えたい時 – Qiita

手順概要と所要時間

  • 所要時間:約46分
  1. ufw(ファイアウォール)の設定:1分45秒
    参考:https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-10#step-4-setting-up-a-basic-firewall
  2. LAMPのインストール:18分10秒
    参考:https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10
  3. Apache2のSSLを有効化を設定:7分20秒
    参考:https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-debian-10
  4. WordPressのインストール:18分30秒
    参考:https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-lamp-on-debian-10
    1. データベース作成
    2. .htaccess 上書きを有効化
    3. WordPress ダウンロード・ディレクトリ設定・インストール

ufw(ファイアウォール)のインストール・設定(1分45秒)

# システムを最新にしておく
sudo apt update
sudo apt upgrade
# ufwをインストール
sudo apt install ufw

ufwでIPv4からのアクセスのみ[3]家庭内LANからのアクセスのみを許可する設定です。を許可してください。
設定方法はこちら

ufwでSSHを許可する前にufwを有効化すると、SSHが遮断される恐れがあるため、
ufwでSSHを許可してからufwを有効化します。
手順は以下です。

# ufwでSSHを許可
sudo ufw allow OpenSSH
# ufwの有効化
sudo ufw enable
# ufwの状態確認。active ならOK
sudo ufw status

家庭内LANからのSSL接続(HTTPS)のみ許可します。
ポート番号443のみ開放して、暗号化接続のみ許可する設定です。
ポート番号80の暗号化されていない接続(HTTP)はできません。

# WWW Secureのみ許可(SSL接続のみ許可)
sudo ufw allow "WWW Secure"

LAMP のインストール(18分10秒)

Apache のインストール

  • 所要時間:1分56秒
  • Apacheとは、Webサーバ構築のためのプログラム
# システムのアップデート
sudo apt update
# Apache2をインストール
sudo apt install apache2
# ufwでSSL接続のみポート開放
sudo ufw allow "WWW Secure"

ufwの許可はIPv4のみ許可する設定を済ましていることを前提としています。

MariaDB のインストール

  • 所要時間:4分47秒
  • MariaDBとは、データベースのプログラム
# データベースMariaDBをインストール
sudo apt install mariadb-server

PHP のインストール

  • 所要時間:約8分
    • インストール:6分37秒
    • ファイル編集:1分25秒
  • PHPとは、WordPressプログラムなどが動作するためのプログラム言語
# PHPのインストール
sudo apt install php libapache2-mod-php php-mysql

index.phpがindex.htmlより優先してApacheが読み込む設定をします。
以下のファイルをnanoで開きます。

sudo nano /etc/apache2/mods-enabled/dir.conf

下の<>はブログ表記の都合上、全角で書いています。実際は半角です。
黄色マーカー部分にindex.phpを表記してください。

<ifmodule mod_dir>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</ifmodule>

nano編集を保存します。

変更を適用するためにApacheを更新します。

# Apache2をリロード
sudo systemctl reload apache2
# Apache2の状態確認
sudo systemctl status apache2

statusが黄色マーカーのようにactive (running)ならOKです。

Sample Output
 apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: active (running) since Sat 2022-08-20 16:39:30 JST; 42min ago

Qキーを打鍵すると、抜けられます。

Virtual Host の作成

  • 所要時間:3分25秒
  • WordPressをインストールするディレクトリ(入れ物となる場所)を作ります。
  • DocumentRootになります。
  • ドメインになります。本記事ではサンプルとして「raspberrypi」。
  • ServerName, DocumentRootを統一しておくと、SSL化で失敗が生じにくくなります
  • /etc/hosts でホスト名解決を済ましておいてください。

※WordPressをインストールするディレクトリ名をネットワーク上のホスト名にしておくと、SSL化がスムーズに行えます。

WordPressをインストールする場所と、そのWordPressサイト構成に関する設定ファイルは全く別の場所であることに注意してください。
/etc/は設定や構成に関するファイルが集まっているディレクトリです。

Apache上でサイトをどのように扱うか、といった内容は後者になります(DocumentRootの指定など)。

# WordPressをインストールするディレクトリを作成
sudo mkdir /var/www/raspberrypi
# nano で「raspberrypiサイトに関する構成ファイル」を新規作成
sudo nano /etc/apache2/sites-available/raspberrypi.conf

以下の黄色マーカーをご自身の環境に変更してください。
<>はブログ表記の都合上、全角になっています。
nanoに貼り付ける際には、半角に直してください。

最重要:ServerName はラズパイ設定>Hostname で設定した名前です。

<VirtualHost *:443>
ServerName raspberrypi
ServerAdmin your_email@example.com
DocumentRoot /var/www/raspberrypi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

nano編集を保存します。

# Apache上でraspberrypiサイトを有効化
sudo a2ensite raspberrypi
# 000-defaultサイトを無効化
sudo a2dissite 000-default
# 構文チェック
sudo apache2ctl configtest

構文チェックでエラーが出なければ、安全にApacheを更新できます。

sudo systemctl reload apache2

Apache2のSSL有効化(7分20秒)

自己署名SSL証明書を発行するステップです。
自己署名でも暗号化されたHTTPS接続なので、安心感を持てます。

自己署名SSL証明書の作成

  • 所要時間:1分25秒

以下のまま、コピー&貼り付けしてください。
コマンドの説明は難解で長くなるので、ここでは割愛させていただきます。
行う内容に不安を感じられる方は、上記リンクページをご覧ください。

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

黄色マーカー部分を変更しながら入力してください。
最重要:Common Nameはラズパイ設定>Hostname で設定した名前です。

Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Shibuya
Organization Name (eg, company) [Internet Widgits Pty Ltd]:任意の名前
Organizational Unit Name (eg, section) []:任意の名前
Common Name (e.g. server FQDN or YOUR name) []:raspberrypi
Email Address []:your_email@example.com

作成したキーと証明書ファイルは、/etc/ssl 配下にあります。
確認する必要はないですが、以下に確認方法を記しておきます。

# apache-selfsigned.keyファイルの存在を確認(root権限でアクセス)
sudo su # root化
cd /etc/ssl/private
ls
# apache-selfsigned.crtファイルの存在を確認
cd /etc/ssl/certs
ls

SSL仕様にApacheを構成する

  • 所要時間:4分20秒
  • Apache2をSSL仕様に変更します。
  • 暗号の強力化

nano でファイルを新規作成します。

sudo nano /etc/apache2/conf-available/ssl-params.conf

以下を全てコピーしてnanoに貼り付けます。

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Disable preloading HSTS for now.  You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
# Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off

nano編集を保存します。

デフォルトの「Apache SSL Virtual Host」ファイルを変更します。
/etc/apache2/sites-available/default-ssl.conf ファイルのバックアップを取ります。

# オリジナルファイルを残してバックアップを取る
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
# nano で編集するためにファイルを開く
sudo nano /etc/apache2/sites-available/default-ssl.conf

以下の<>の記号はブログ表記の都合上全角です。実際は半角です。
以下の黄色マーカー部分を、ご自身の環境に直してください。
赤色マーカーはそのままコピー・貼り付けしてください

<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin your_email@example.com
                ServerName raspberrypi
                DocumentRoot /var/www/raspberrypi
                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined
                SSLEngine on
                SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
                SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
                <FilesMatch ".(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
        </VirtualHost>
</IfModule>

nano編集を保存します。

Apacheの変更を有効にする

所要時間:1分36秒

  1. ApacheでSSLとヘッダーモジュールを有効にする
  2. 上で設定したSSL対応のVirtual Hostを有効にする
  3. Apacheを再起動して、変更を有効にする
# Apache SSLモジュールの有効化
sudo a2enmod ssl
# SSLスニペットの設定で必要なmod_headersの有効化
sudo a2enmod headers
# SSL Virtual Hostを有効化
sudo a2ensite default-ssl
# ssl-paramsファイルの有効化
sudo a2enconf ssl-params
# 構文チェック
sudo apache2ctl configtest

以下のように表示されれば構文チェックOKです。

Output
Syntax OK

変更を実装するために、Apache2を再起動します。

sudo systemctl restart apache2

暗号化のテスト

ドメインが「raspberrypi」の場合:https://raspberrypi に接続して確認します。

以下のようにブラウザから警告が出ますが、自己署名SSL証明書の場合はほぼ必ず出てくる表示なので安心してください。
安全ではないのを承知でアクセスします(赤枠)。

次に、以下の画像のようにサーバ情報が表示されれば、正常にApacheサーバに接続できています。

  • Apache Server at raspberrypi Port 443:
    ufwでIPv4からのSSLへの道(WWW Secure)のみ許可しているので、サーバの応答が見えている時点で、正常にアクセスできています。

この段階で正常にアクセス出来なかった方は、前提条件、特に、/etc/hosts ファイルでホスト名解決を見直してみてください。

アクセスに時間が掛かってタイムアウトする場合は、ufwでWWW Secureを許可しているのか確認してみてください。

モバイル端末からはアクセスできません

WordPress: ダウンロード・インストール(18分30秒)

MariaDB: WordPress用のデータベース作成

  • 所要時間:1分45秒
  • WordPress用のデータベースをMariaDBで作成します。
    1. データベース名:(例)wordpress
    2. MariaDBユーザー名:(例)pi
    3. パスワード:(例)password

上の例では分かりやすくするために単純な文字列を使っています。
データベースに外部侵入されるとWordPressサイトが乗っ取られて改ざんされるので、
推測されにくい文字列で作成してください。

以下の黄色マーカーをご自身の環境に変更してください。
行末は半角セミコロン「;」で終わります。抜け落ちがちになるので、注意してください。

# MariaDBのrootユーザーとして入る
sudo mariadb -u root -p

パスワードを尋ねられます。

  • 本記事で初めてMariaDBをインストールした方:何も入力せずEnterキーを打鍵してください。
  • 過去にMariaDBでデータベース作成経験のある方:当時に作成したMariaDBのrootパスワードを入力してください[4]ラズパイのシステムユーザーではありません。

MariaDBのrootパスワード無しではセキュリティに不安を感じられるかもしれませんが、
変更するとシステムに影響があるようなので、特に設定しなくても良いみたいです[5]出典:How To Install MariaDB on Debian 11 | DigitalOcean

# wordpress という名前のデータベースを作成
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
# MariaDBのユーザーとパスワードを作成(rootの立場から)
CREATE USER 'pi'@'localhost' IDENTIFIED BY 'password';
# piユーザーにデータベース'wordpress'の権限を付与する(rootの立場から)
GRANT ALL ON wordpress.* TO 'pi'@'localhost' IDENTIFIED BY 'password';
# 特権をフラッシュ
FLUSH PRIVILEGES;
# MariaDBを終了して抜ける
EXIT;

PHP 拡張機能を追加インストール

  • 所要時間:3分27秒

WordPress が動作するために、PHPを追加インストールします。

# PHPを追加インストール
sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
# Apacheを再起動
sudo systemctl restart apache2

.htaccess の上書きを許可する

  • 所要時間:2分7秒

サイトの構成を記述したファイルに「上書き許可」の記述を追加します。
大事なステップなので、ソースを慎重に確認してください。

sudo nano /etc/apache2/sites-available/raspberrypi.conf

以下の<>の記号は、ブログ表記の都合上全角です。コピー&貼り付けされた場合は、nano上で半角に直してください。
赤色マーカーが追記する部分です。

<VirtualHost *:443>
    ServerName raspberrypi
    ServerAdmin your_email@example.com
    DocumentRoot /var/www/raspberrypi
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/raspberrypi/>
        AllowOverride All
</Directory>
</VirtualHost>

nano編集を保存します。

# Apacheでの上書きを有効化
sudo a2enmod rewrite
# Apache構成ファイルでも上書きを許可(これを行うと、パーマリンク変更が行えるようです[6]出典:Raspberry Pi に WordPress をインストールする - Qiita)
sudo nano /etc/apache2/apache2.conf

nano が開くと、「Ctrl+V」を8回ほど打鍵します。

以下の赤枠部分を「All」に変更します。

以下の<>の記号は、ブログ表記の都合上全角です。実際は半角です。

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

nano編集を保存します。

# 構文チェック
sudo apache2ctl configtest
Output
Syntax OK
# 構文チェックに成功したら、Apacheを安全に再起動
sudo systemctl restart apache2

WordPress ダウンロード

  • 所要時間:2分12秒
    1. tmpディレクトリにWordPressプログラムをダウンロードして一時的に作業する
    2. tmpディレクトリからDocumentRootへWordPressプログラム全体をコピーする
# tmpディレクトリに移動(一般に、一時的な作業を行うディレクトリ)
cd /tmp
# WordPressをtmpディレクトリにダウンロード
curl -O https://wordpress.org/latest.tar.gz
# ダウンロードした圧縮ファイルを解凍(tmpディレクトリ内で)
tar xzvf latest.tar.gz
# .htaccessファイルを作成
touch /tmp/wordpress/.htaccess
# wp-config.phpファイルの作成
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
# upgradeディレクトリの作成
mkdir /tmp/wordpress/wp-content/upgrade
# WordPressプログラム一式をDocumentRootへコピー
sudo cp -a /tmp/wordpress/. /var/www/raspberrypi

WordPress ディレクトリ構成を調整

  • 所要時間:7分15秒
    1. DocumentRootの権限を変更する[7] … Continue reading[8]所有権を変更していないと、「ロケール言語変更ができない」「プラグイン削除できない」という不具合に遭遇しました。
    2. wp-config.phpファイルを作成する
      1. 認証用ユニークキーの貼り付け
      2. データベース情報の入力
# DocumentRootの所有権を変更
sudo chown -R www-data:www-data /var/www/raspberrypi
# DocumentRootディレクトリ配下の権限変更
sudo find /var/www/raspberrypi/ -type d -exec chmod 750 {} \;
sudo find /var/www/raspberrypi/ -type f -exec chmod 640 {} \;
# 認証用ユニークキーをオンラインジェネレート
curl -s https://api.wordpress.org/secret-key/1.1/salt/

ターミナルに直接表示される認証用ユニークキー(赤枠)をコピーして、一時的にText Editorに貼り付けます。

wp-config.phpファイルに認証用ユニークキーを貼り付けるために、
nanoでwp-config.phpファイルを開きます。

sudo nano /var/www/raspberrypi/wp-config.php

サンプルの位置に「今コピーした認証用ユニークキー」を貼り付けて、既存のサンプルを削除します。

  • wp-config.phpファイルにデータベース情報を書き込みます。
    1. データベース名: 上で設定したもの
    2. データベースユーザー名: 上で設定したもの
    3. データベースパスワード: 上で設定したもの
  • ファイルシステムへの書き込み方法を設定。
    私は当初、この記述を見落としてWordPressをインストールし、プラグイン削除の際にFTP資格を求めるダイアログが現れ、これを解決するのに3日ほど損失しました。
    プラグイン削除の際に、以下のようなFTP資格を求めるダイアログが現れます。
    記述を忘れずに。
. . .
define('DB_NAME', 'wordpress'); # データベース名
/** MySQL database username */
define('DB_USER', 'pi'); # データベースユーザー名
/** MySQL database password */
define('DB_PASSWORD', 'password'); # データベースパスワード
. . .
define('FS_METHOD', 'direct'); # ファイルシステムへWordPressが直接書き込む

nano編集を保存します。

WordPress のインストール(ブラウザから)

.localを使わないドメインでSSL接続に成功しました。

接続に失敗した方は、/etc/hosts ファイルでホスト名を解決できていない可能性があります。
モバイルデバイスではhostsファイルを編集できないため、アクセスできません

<データベース接続エラーが生じた場合>

  1. MariaDBにログイン
  2. ご自身が作成した全てのデータベース及びユーザーを削除[10]information_schema, mysql, performance_schema, これら初期の3つは残しておきます。誤って削除すると、mariadbが機能しません。
  3. 全くの新規でデータベース及びユーザーを作成
  4. wp-config.phpに書き込む

ブラウザからWordPressインストールを進めていきます。

日本語を選択。

  • サイトのタイトル:便宜的に入力。後で変更できます。
  • ユーザー名:WordPressにログインする際に使います。後で変更できません。
  • パスワード:後で変更できます。
  • メールアドレス:普段のものを入力。後で変更できます。
  • 検索エンジンでの表示:WWWに公開しませんが、気休め程度にチェックを入れます。

WordPressインストールに成功すると、以下の表示になります。

ログイン後、設定>一般

  • WordPress アドレス (URL):https://raspberrypi
  • サイト アドレス (URL):https://raspberrypi

https (SSL)でWordPressサイトに接続しているのが分かります。

以下のように、ブラウザ側でも暗号化接続している情報が表示されています。

WordPressインストール後の設定項目は、以下の公式サイトをご覧ください。
WordPress の最初のステップ – WordPress.org フォーラム

ラズパイWordPressの自動バックアップ

追記 2022-10-01

「ラズパイmicroSDにWordPressデータを保存するのは不安」
と、私と同じような不安を抱えておられれた方の解決策になると思います。

ラズパイWordPressを1日1回自動でバックアップする方法について書きました。
ぜひご覧くださいませ。

本記事の内容は以上となります。お疲れ様でした。
当記事がお役に立てれば、嬉しく思います。

以下の記事も一緒にどうぞ。

  1. ラズパイOS (bullsey) のインストール・セットアップ
  2. LXTerminal のコマンド一覧(最低限)
  3. nano の操作方法(保存)
  4. ラズパイOSセットアップ直後の設定
  5. ラズパイIPアドレスの固定など
  6. ufw(ファイアウォール)設定
  7. SSH接続でラズパイをリモート操作
  8. Sambaサーバを作ってiCloudを解除
  9. ローカルWordPress専用Webサーバ構築(SSL対応)
  10. Raspberry Pi OS Liteのインストール
  11. Raspberry Pi OS LiteでSambaを設定
  12. ラズパイサーバのWordPressを自動でバックアップ
  13. ラズパイSSDブート&起動しないときの対処方法
  14. MyDNSでドメインを無料取得する
  15. NGINXサーバでWordPressサイト(SSL化済)をWWWへ公開

脚注

脚注
1 Linuxでは各ディレクトリとその役割は、基本的には決まっているので、どの機種も大体同じようなディレクトリ構造になっています。クライアントに見せないためには、ディレクトリに権限を設定します。
2 出来るだけ軽量な条件で測定したかったため、敢えてプラグインを外しました。セキュリティにご不安な方は、セキュリティ関連のプラグインをインストールしてください。
3 家庭内LANからのアクセスのみを許可する設定です。
4 ラズパイのシステムユーザーではありません。
5 出典:How To Install MariaDB on Debian 11 | DigitalOcean
6 出典:Raspberry Pi に WordPress をインストールする - Qiita
7 WordPressインストール後は、DocumentRootディレクトリにアクセス出来なくなります。インストール後にファイルへ変更を加えたい場合は、rootになる必要があります。
8 所有権を変更していないと、「ロケール言語変更ができない」「プラグイン削除できない」という不具合に遭遇しました。
9 出典:WordPress のインストール – サポートフォーラム
10 information_schema, mysql, performance_schema, これら初期の3つは残しておきます。誤って削除すると、mariadbが機能しません。

コメント