以前、RaspberryPiにNGINX+MariaDB+PHP(LEMP環境)を構築する方法を紹介しました。
せっかくなのでその環境にWordPressをセットアップする方法を解説します。
インストール方法
以前説明した、LEMP環境の構築までは完了しているものとします。
本記事の動作確認環境はRaspberryPiOS Lite 32bit(Bookworm およびBullseye)とUbuntu22.04です。IPアドレスの固定方法とPHPのバージョン以外はどちらのバージョンでもほぼ違いはありません。
IPアドレスの固定
WordPressを使うならIPアドレスを固定しておかないといけません。この部分について詳細は省きますが、Linuxのバージョンやディストリビューションによって方法が違いますので注意してください。
RaspberryPiOS Bullseye
$sudo emacs /etc/dhcpcd.conf
RaspberryPiOS Bookworm
$sudo nmtui
Ubuntu22.04
ubuntuではnetplanを使います。netplanは書式にうるさいのですごく嫌いです。ポイントはタブを使わずにスペースできっちりインデントをあわせることと、:(コロン)の後ろに半角スペースを忘れないようにすることぐらいでしょうか…
nginxの設定
nginxの設定を変更します。変更は2か所あります。
1つ目はnginx.confにclient_max_sizeを追記します。
$sudo emacs /etc/nginx/nginx.conf
http { ~ client_max_body_size 32M; ~ }
2つ目の変更は以下の通りです。index.phpが実行されるようにすること、html拡張子でphpが実行できるようにすることです。php-fpmのバージョンは場合によって変わるので注意してください。
$sudo emacs /etc/nginx/sites-available/default
#index.phpを追加
index index.php index.html index.htm index.nginx-debian.html;
#コメントアウトを外す
#(php|html) ←ここも重要
location ~ \.(php|html)$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
$sudo emacs /etc/php/8.2/fpm/pool.d/www.conf
次の一文を追加
security.limit_extensions = .php .php3 .php4 .php5 .php7 .html
$sudo /etc/init.d/php8.2-fpm reload
PHPの設定
PHPの設定も変更します。アップロード可能なサイズを大きくしておかないとCocoon(wordpressでよく使われるテーマ)のインストールが面倒になります。
$sudo emacs /etc/php/8.2/fpm/php.ini
以下の部分を書き換える(すでに設定されているはずなので追記でなく、数値の書き換え)
post_max_size = 120M upload_max_filesize = 100M
$sudo systemctl restart php8.2-fpm
ここでもphp-fpmのバージョンは注意してください。
mariaDBにWordPress用のデータベースを作成
wordpressが使用するデータベースを作成します。
- データベース名はwordpress
- ユーザー名はuser_name
- パスワードはpassword
とします。上記3つは任意の名前でOKです。(後で使うので忘れないように)
$sudo mariadb
CREATE DATABASE wordpress CHARACTER SET UTF8 COLLATE UTF8_BIN; CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON wordpress.* TO 'user_name'@'localhost'; FLUSH PRIVILEGES; quit;
WordPressインストール
nginxのドキュメントルートはデフォルトの/var/www/htmlとしてあります。必要に応じて変えてください。
$mkdir tmp $cd tmp $wget https://ja.wordpress.org/latest-ja.tar.gz $tar -xvzf latest-ja.tar.gz $sudo mv wordpress /var/www/html $cd /var/www/html $sudo chown -R www-data:www-data wordpress $sudo chmod -R 755 wordpress
apache2のアンインストール
$sudo apt purge apache2 $sudo reboot
なんかのタイミングでapache2が動き出すことがあるので消します。(なんで動き出すの?)
PHPのインストールと一緒にApache2がインストールされてしまうようです。
WordPressセットアップ
WEBブラウザで以下のアドレスにアクセスしてください。IPアドレスは最初に設定した値です。
上記のサイトが表示されればうまくいっています。表示されない場合は手順を見直してください。
“さあ始めましょう”で次に進みます。
使用するデータベースの指定
先にmariaDBで作成しておいたwordpress用のデータベースとユーザー/パスワードを入力します。
データベース名のホスト名、テーブル接頭辞はデフォルトのままでOKです。
“送信”をクリックして問題なければ次の画面が表示されます。”インストール実行”をクリックしてください。
WordPressのブログ名、ユーザー名の設定
次にブログ名、ユーザー名、パスワードを設定します。ここでのユーザー名とパスワードはmariaDBで設定したものではなく、Wordpressで使用するものです。
”WordPressをインストール”をクリックすれば完了です。
WordPressへのログイン
WEBブラウザで以下のアドレスにアクセスしてください。次の画面が表示されればOKです。設定したユーザー名とパスワードでログインしてください。
まとめ
いかがだったでしょうか?一番面倒なのはIPアドレスを固定する部分だと思います。ディストリビューションやバージョンによってどんどん変わっていってしまうのは困りものですね。
WordPressのインストール自体はここの手順通りにやればそんなに難しくないはずです。WordPressというとブログやWEBサイトを運営をしている人以外には縁遠い存在だと思いますが意外と使い道があるのです(それはまたおいおい)。
本記事ではWordPressのカスタマイズ等には一切触れていませんが、これらについてはたくさん情報がありますので調べてみてください。
コメント