0
0

Raspberry Pi 4 Model B WordPress検証環境の作成

Posted at

はじめに

本記事はRaspberry piを使用して検証用WordPressのサイトを構築することを目的としている

必要機材

・Raspberry pi 4 Model B(以降ラズパイと呼ぶ)

参考サイト

 ここに構築に関するすべてが記載されているが、+αの情報を記載

ラズパイを最新状態にする

kensho_pi@raspberrypi:~ $ sudo apt update
kensho_pi@raspberrypi:~ $ sudo apt upgrade
kensho_pi@raspberrypi:~ $ sudp reboot

Apache Webサーバのインストール及びバージョン確認

kensho_pi@raspberrypi:~ $ sudo apt install apache2
kensho_pi@raspberrypi:~ $ apache2 -v
+----------+------2024/01/22-----+----------+
| Server version: Apache/2.4.56 (Raspbian)  |
| Server built:   2023-04-02T03:06:01       |
+----------+----------+----------+----------+

PHPのインストール

kensho_pi@raspberrypi:~ $ sudo apt install lsb-release apt-transport-https ca-certificates

GPGキーのダウンロード及び保存

kensho_pi@raspberrypi:~ $ sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

SURY PPAリポジトリの追加

kensho_pi@raspberrypi:~ $ echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list

パッケージ一覧の更新

kensho_pi@raspberrypi:~ $ sudo apt update
kensho_pi@raspberrypi:~ $ sudo apt upgrade
kensho_pi@raspberrypi:~ $ sudo reboot

PHP7.4のインストール

kensho_pi@raspberrypi:~ $ sudo apt install php7.4
kensho_pi@raspberrypi:~ $ php -v
+----------+----------+------2024/01/22-----+----------+----------+----------+
|PHP 7.4.33 (cli) (built: Sep  4 2023 08:11:54) ( NTS )                      |
|Copyright (c) The PHP Group                                                 |
|Zend Engine v3.4.0, Copyright (c) Zend Technologies                         |
|    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies          |
+----------+----------+----------+----------+----------+----------+----------+

PHPモジュールのインストール

# WordPressサーバを動作させるために必須のモジュール
kensho_pi@raspberrypi:~ $ sudo apt install php7.4-curl php7.4-json php7.4-mbstring php7.4-mysql php7.4-imagick php7.4-xml php7.4-zip

PHPの設定

参考サイトでは何行目に存在する文字列か記載がないためまずはcatコマンドで何行目に変更する箇所が存在するか調査

1622行目:コメントアウトを削除
409行目:128M 変更
694行目:40M 変更
846行目:30M 変更

kensho_pi@raspberrypi:~ $  sudo cat -n /etc/php/7.4/apache2/php.ini | grep mbstring.language
 -> 1622  ;mbstring.language = Japanese

kensho_pi@raspberrypi:~ $ sudo cat -n /etc/php/7.4/apache2/php.ini | grep memory_limit
 -> 409  memory_limit = XXXXM

kensho_pi@raspberrypi:~ $ sudo cat -n /etc/php/7.4/apache2/php.ini | grep post_max_size
 -> 694  post_max_size = XXXXM

kensho_pi@raspberrypi:~ $ sudo cat -n /etc/php/7.4/apache2/php.ini | grep upload_max_filesize
 -> 846  upload_max_filesize = XXXM

php-fpmのインストール及びApache Webサーバの再起動

kensho_pi@raspberrypi:~ $ sudo apt install php7.4-fpm
kensho_pi@raspberrypi:~ $ sudo systemctl restart apache2

PHP環境の動作確認

kensho_pi@raspberrypi:~ $ sudo vi /var/www/html/test.php

<php
    phpinfo()
?>

+----------++----------++----------+
保存後ブラウザを開いて下記リンクを入力
「http://ラズパイのアドレス/test.php」
成功するとインストールしたPHP情報が表示される

Apache Webサーバの設定

# 1: ServerNameディレクティブの設定
kensho_pi@raspberrypi:~ $ sudo vi /etc/apache2/apache2.conf

# Global configuration
#
ServerName 任意のサーバ名

+-----+---上記コマンド入力保存後---+-----+

kensho_pi@raspberrypi:~ $ apache2ctl
 -> Usage: /usr/sbin/apache2ctl start~~~が表示されれば正しく設定ができている

DirectoryIndexディレクティブの設定変更

kensho_pi@raspberrypi:~ $ sudo vi /etc/apache2/mods-available/dir.conf

DirectoryIndex index.html ~~~が現在先頭になっているため
「DirectoryIndex index.php index.html ~~~」と、なるように変更

Rewriteモジュールの有効化

kensho_pi@raspberrypi:~ $ sudo a2enmod rewrite

kensho_pi@raspberrypi:~ $ apache2ctl -t -D DUMP_MODULES | grep rewrite
 -> rewrite_module (shared)
# 上記出力が確認できれば正常

kensho_pi@raspberrypi:~ $  sudo systemctl restart apache2

AllowOverrideの設定変更

kensho_pi@raspberrypi:~ $ sudo vi /etc/apache2/apache2.conf

【変更前】
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

【変更後】
<Directory /var/www/>
        Options FollowSymLinks  <-- 「Indexes」を削除
        AllowOverride All  <-- 「All」に修正
        Require all granted
</Directory>

MariaDBのインストール


kensho_pi@raspberrypi:~ $ sudo apt install mariadb-server-10.3

kensho_pi@raspberrypi:~ $ sudo mysql -u root -p
Enter password: <--[Enter]押下

MariaDBの初期設定

kensho_pi@raspberrypi:~ $ sudo  mysql_secure_installation
 Enter current password for root (enter for none):    <== [Enter]を押下
 
~~~ 省略 ~~~

Set root password? [Y/n] Y   <== rootパスワード設定
New password:    <== パスワードを入力
Re-enter new password:   <== 再度パスワードを入力

~~~ 省略 ~~~

Remove anonymous users? [Y/n]    <== 匿名ユーザーを削除

~~~ 省略 ~~~

Disallow root login remotely? [Y/n] Y    <== リモート接続を拒否

~~~ 省略 ~~~

Remove test database and access to it? [Y/n] Y    <== 不要なテストデータベースを削除

~~~ 省略 ~~~

Reload privilege tables now? [Y/n] Y    <== これまでに設定した内容を反映

初期設定の変更

kensho_pi@raspberrypi:~ $ sudo mysql -u root -p
 Enter password: 設定したパスワードを入力

MariaDB [(none)]> grant all privileges on *.* to root@localhost identified by 'password' with grant option;
 -> Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> flush privileges;
 -> Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit
 -> Bye

上記コマンド実行後「mysql -u root -p」で接続できることを確認する
しかし、ここまで正しく設定したと思うが下記のようなエラーが出るときがある

kensho_pi@raspberrypi:~ $ mysql -u root -p
Enter password: パスワードを入力
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

上記エラーがでた場合、恐らくパスワード設定に不備があるかrootユーザーを作成していないために発生表示された可能性がある

上記エラーに遭遇した場合のみ

kensho_pi@raspberrypi:~ $ sudo systemctl stop mariadb # MariaDBを一時停止
kensho_pi@raspberrypi:~ $ sudo mysqld_safe --skip-grant-tables & # セキュアモードで起動
kensho_pi@raspberrypi:~ $ mysql -u root # セキュアモードでMariaDBに接続

USE mysql;
UPDATE user SET Password=PASSWORD('新しいパスワード') WHERE User='root';
FLUSH PRIVILEGES;

kensho_pi@raspberrypi:~ $ sudo systemctl restart mariadb # MariaDB再起動

再起動後「mysql -u root -p」で接続できることを確認する

WordPressのインストール

kensho_pi@raspberrypi:~ $ wget https://ja.wordpress.org/latest-ja.tar.gz

# ファイルの解凍
kensho_pi@raspberrypi:~ $ tar -xzvf latest-ja.tar.gz

データベースとユーザ作成

ここでは下記の値で設定
DB :db_wordpress
USER:TEST
PASS:TESTPASSWORD

kensho_pi@raspberrypi:~ $ mysql -u root -p
Enter password: パスワードを入力

MariaDB [(none)]> CREATE DATABASE db_wordpress;
 Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON db_wordpress.* TO "TEST"@"localhost" IDENTIFIED BY "TESTPASSWORD";
 Query OK, 0 rows affected (0.003 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
 Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> quit
 Bye

WordPressファイルのアップロード及び権限の設定

kensho_pi@raspberrypi:~ $ sudo cp -R ./wordpress/* /var/www/html/
kensho_pi@raspberrypi:~ $ sudo chown -R www-data:www-data /var/www/html/

WordPressにアクセス

http://ラズパイのIPアドレス/wp-admin/install.php

上記アクセス後通常通りWordPressの設定をしてラズパイで検証用WordPressが構築完了

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0