【令和最新版】ラズパイ4にWordPressを手動でインストール

お仕事が落ち着いたので、当ブログのテーマを刷新しようと思いました。

というのも、ペルソナ5が好きで意識されすぎたデザインで今見返したら酷いなぁってなったので とりあえずブログらしいデザインにして見やすさ重視にします(笑)

せっかくなのでメイン機(Windows)じゃなくてローカル鯖側に設置してみようかなと。

個人的にさくらサーバーを借りてるのですが、毎回FTPアップするの面倒なので ローカルで完結できる環境を作っていきます。

単純に備忘録ですね。

WindowsのLocalというXAMPP環境を入れずにローカルでWordpress開発環境を作ったりもできますが、 同じことをやっていても成長しないですし、ラズパイを持て余してるので今回はWindowsはフロントのみの開発にします。

既にphpとかmysqlとかapacheとかをインストール済みとして Wordpressをダウンロードする所から開始します。

phpとかのバージョンは7系統でやってます。

詳しく言うと

  • PHP:v7.2.9-1+b2
  • Apache2:Apache/2.4.38 (Raspbian)
  • DB:10.3.27-MariaDB-0+deb10u1 Raspbian 10

でした。

DBはMySQLでもいいですし、互換があるMariaDBで問題ないです。

Wordpressのダウンロードと設置

まずはWordpressのダウンロードから始めましょう。

バージョンは特にこだわりは無いので現状の最新版を落としてきます。

Wordpressを公式からダウンロード

# ホームディレクトリから開始
mkidr wp
# wpディレクトリに移動
cd wp
# ダウンロード
sudo wget http://wordpress.org/latest.tar.gz
# 解凍
sudo tar xzf latest.tar.gz
# 解凍したディレクトリをリネーム
sudo mv wordpress/ test001/
# 権限を変更する
sudo chown -R username:username ./test001

バージョンを指定したい場合は恐らくlatestの部分をバージョンに変更すればいいんじゃないでしょうか。

詳しくは公式サイトを参照してください。

権限を変更しないとWordpressインストール中にエラーがでる

usernameはラズパイにログインしてるユーザー名です。

権限設定をしておかないとDB情報を入れて次へ進むと「wp-config.php」に書き込めないと 怒られてしまうので必ず設定しておきましょう。

私は怒られました(笑)

怒られたときの対策もインストール手順に書いていますのでもしなったら試してください。

特定のポートにアクセスすると指定のディレクトリを見るようにする

Apache2はデフォルトでlocalhostにポートなし(80番ポートでもある)アクセスすると ルートディレクトリが「/var/www/html」なのでここを見に行っちゃいます。

localhost:3000とか特定のポートにアクセスしたら、 先ほどリネームしたtest001ディレクトリを見に行くという仕組みに設定してやりましょう。

ただ、localhost:3000とかlocalhost:8000とかlocalhost:8080とかは nodeとかで仮想サーバーを作る際によく使うポートなので 今回は「3124」ポートとかにしてみましょう。

昔はhttpd.confとかで設定してたのですが、Apache2だとちょっと違う形になっていました。

sudo nano /etc/apache2/ports.conf

に80番ポートやら443ポートが記載されていました。

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

デフォルトだとこんな感じになってるのではないかと思います。

これがコアファイルだとして、コメントに記述されてる「/etc/apache2/sites-enabled/000-default.conf」 が上書き用のファイルなんじゃないかと思います。

sudo nano /etc/apache2/sites-enabled/000-default.conf

80番ポートの設定とルートディレクトリの設定項目があったので、どうやら正解のようです。

ここにポートの設定を書き記してルートディレクトリを設定すればよさげですね。

早速書き込みましょう。

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# ココから追記
Listen 3124
<VirtualHost *:3124>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/username/wp/test001

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # これを記述しないとパーミッションエラーになる
        <Directory "/home/username/wp/test001">
            Require all granted
        </Directory>

</VirtualHost>

わかりやすいように元々記述されてたコメント省いてます。

記述するのは80番ポートの記述の下に3124のポート設定の部分を追記するだけでOKです。

「username」の部分は各自ユーザー名に置き換えてください。

rewriteモジュールを動作させる

多分デフォルトだとポートにアクセスできないと思うので、 rewriteモジュールを動かしてやる必要があります。

httpdとかのやつだとconfで設定できるのですが、今回は以下の方法で設定してください。

sudo a2enmod rewrite
# 少し待機した後に以下が表示される
Enabling module rewrite.
To activate the new configuration, you need to run:
  systemctl restart apache2

問題なく有効化されたらapache2を再起動しましょう。

sudo systemctl restart apache2

この後、別のブラウザからラズパイのローカルIP:3124にアクセスして Wordpresのマークが出てインストール手順が英語で表示されてたらOKです。

Wordpressのインストール

先ほどアクセスしたページの「Let's go!」ボタンを押して進みましょう。

接続するDBの情報を求められるので事前に作ってる人はそれを設定してください。

私はここから専用のDBを作るので一応手順を簡単に書いておきます。

もうすでにDBユーザーは作成している体で進めます。

MariaDBでWordPress専用DBを作る

sudo mysql
create database wp_test001;
GRANT ALL PRIVILEGES ON wp_test001.* TO username@'localhost' IDENTIFIED BY 'password';

やってることは管理者でDBを作成して該当のユーザーにそのDBに対してすべての権限を与えてるだけです。

usernameはDBのユーザー名で、最後のpasswordは設定したパスワードになります。

WordpresのDB設定

DB作成ができたらブラウザに戻ってきて「Database Name」に先ほど作った「wp_test001」を記述します。

usernameは先ほど権限を与えた名前(@localhostは記述しなくていい)。

passwordも先ほどのものを入力。

Database Hostは「localhost」でOK

TablePrefixはテーブル名の接頭につく文字なので「wp_test001」とでもしておきましょう。

次へ進みます。

configファイル書き込みエラー

サイト名を入力するフォームにならずに以下になった場合は権限エラーです。

特に問題なく進めたらこの項目は飛ばして構いません。

本来wp-config.phpは自動で記述してくれるのですが、パーミッションの設定が不十分だと

Unable to write to wp-config.php file.

You can create the wp-config.php file manually and paste the following text into it.

と表示されてwordpressがwp-config.phpに書き込み権限ないと怒ります。

今回紹介してるWordpressのファイルをダウンロードして解凍した後に「権限を変更する」をすっとばしてしまうと、 このような出来事に陥ります。

こうなっても後から権限を変更して、再度DB情報入れ直しでもいいですが 警告文の下に本来書き込むであろうwp-configの設定ファイルが記述されていますので、 コピーしてtest001直下にwp-config.phpを作成してペーストして保存しましょう。

sudo nano /home/username/wp/test001/wp-config.php

保存したらブラウザに戻って進めましょう。

サイト情報を記述する

ローカル開発なのでWordpressのセキュリティはそんなになくてもいいと思います。

サイト名とユーザー名、パスワードを入力します。

簡単なパスワードの場合は「Confirm Password」にチェックを入れましょう。

Emailは自分のでもいいですし「admin@example.com」とかでもいいです。

サーチエンジンに見つけてもらうかのチェックはどっちでもいいです。

そもそもローカル用なので意味ないですからね。

問題なく次へ進むとWordpressのインストールが完了します。

日本語にしようと思いましたが海外版なので日本語に切り替えられなかったけど テーマ作成するためなので別にいいかなって感じです。