WordPressのインストール(ラズベリーパイへ)と復元

ラズベリーパイにWordpressをインストールする。ただしインターネット公開向けではなく内部保守(バックアップなど)向けとして構築。セキュリティの考慮無し。既存データがある前提で復元を行う。

基本的なラズベリーパイのセットアップは済んでいる前提

Webサーバインストール

Apacheのインストール

Webサーバ系(Apache)のインストールを行う。aptで簡単に入る。

sudo apt install -y apache2
~
apache2 -v

バージョンが表示されれば問題ない(2025/09時点で2.4.65が入った)
また、この時点でブラウザで「http://{ホスト名}.local」でアクセスすると、デフォルトページが出るはず。apacheがうまく動いているようだ。ザで「http://{ホスト名}.local」でアクセスすると、デフォルトページが出るはず。apacheがうまく動いているようだ。

PHPのインストール

phpのインストールを行う。こちらもaptで簡単に入る。

sudo apt install -y php
~
php -v

バージョンが表示されれば問題ない(2025/09時点で8.2.7が入った)

php8.2向けのモジュールを入れる。

sudo apt install -y php8.2-curl php8.2-dom php8.2-mbstring php8.2-imagick php8.2-zip php8.2-fpm php8.2-mysql php8.2-xml php8.2-intl

以下を実施してテストページを表示させてみる。

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

上記コマンドを実施してから、「http://{ホスト名}.local/info.php」でアクセスすると、php情報ページが表示されればOK。

データベースのインストール

MySQL(MariaDB)のインストール

MySQL(mariaDB)のインストールを行う。こちらもaptで簡単に入る。

sudo apt install -y mariadb-server
~
sudo mysqladmin version

バージョンが表示されれば問題ない(2025/09時点で10.11.3が入った)
以下を実施してログインしてみる。

sudo mysql -uroot -p
# パスワードを聞いてきたらEnterのみ入力
show databases;
#データベース一覧表示
quit

ひとまずログインだけ確認できれば良い。

WordPressのインストール

データベースの準備

WordPress向けのデータベースの準備を行う。既存Wordpressの復元を行う場合は、既存WordpressのDB情報を取得しておき、それに合わせたDBを作成する。
※{}を置き換える

sudo mysql -uroot -p
# パスワードを聞いてきたらEnterのみ入力

#データベースを作成。復元時は復元元のデータベース名とする
create database {データベース名};
# ユーザ名とパスワード作成。復元時は復元元のデータベースと合わせる
create user '{DBユーザ}'@localhost identified by '{DBパスワード}';
# 権限付与
grant all privileges on {DBユーザ}.* to '{DBユーザ}'@'localhost';
# 終了
quit

これで、データベースの枠だけはできた。

WordPressファイルの復元

WordPressのインストールを行う。ここでは復元を行う前提とする。

素のWordpressを起こすのであれば、以下。

# 最新のWordpressを取得
wget https://ja.wordpress.org/latest-ja.tar.gz

# ファイルを解凍
sudo tar -xvf latest-ja.tar.gz -C /var/www/html

# あとは、ファイル復元からの作業と同様

まずは、復元元のバックアップファイルを準備する。
各種ファイルとDBデータがバックアップされている前提とする。
(BackWpUpでファイルとDBがバックアップされている想定)

バックアップファイルをSCPなどでラズベリーパイにコピーする。tarやzipなどでまとめた状態のものをコピーするのが楽。

ファイルをコピーしたら解凍する。tarの場合は以下参考。

# 指定フォルダに解凍
sudo tar -xvf {ファイル名}.tar -C /var/www/html
# 権限更新
sudo chown -R www-data:www-data /var/www/html

次にDB接続情報を確認しておく。
復元ではなく新規作成時は、設定修正は必須。

「wp-config.php」ファイルをnanoで開いて、DB接続情報を(以下の{}部分)確認する。

sudo nano wo-config.php
# 以下の場所を確認
~
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', '{データベース名}' );

/** Database username */
define( 'DB_USER', '{ユーサ名}' );

/** Database password */
define( 'DB_PASSWORD', '{パスワード}' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

/**#@+
~

問題なければ終了し、変更あれば修正して保存する。これでweb向けファイルの配置は完了。ただしもう少し調整は必要。

データベースの復元

復元を行う場合はDBの復元を行う。
*.sqlのDBバックアップファイルを準備しておき、下記を実行してデータベースの復元を行う。

# データベースの復元
sudo mysql -u {ユーザ名} -p {データベース名} <{バックアップファイル名.sql}
# パスワードを聞いてくるので入力する

これで、データベースが復元されたが、このままでは使えないので、下記で更新を行う。、

データベースの書き換え

データベースを本番環境とは違う環境に復元した場合は、データベース内にリンク情報としてもとの情報が残っている。
例:http://aaa.co.jp ⇒ http://test.local
といった違い。これらをの更新が必要だが、単純な置換ではできない内容もあるようなので、ツールを使用して書き換えを行う。

Githubにつないだら、下図のように「Code」⇒「Download ZIP」でダウンロードするとよい。

ダウンロードしたら、ラズベリーパイにおいて、そのままwebフォルダにコピーする。

# 解凍
unzip Search-Replace-DB-4.1.4.zip
# webにコピー
sudo cp -r Search-Replace-DB-4.1.4 /var/www/html
# 権限付与
sudo chown -R www-data:www-data /var/www/html

コピーできたら、PCブラウザでアクセスしてみる。
今回は「Search-Replace-DB-4.1.4」のフォルダだったので、このフォルダに対してアクセスを行う。
http://{ホスト名}.local/Search-Replace-DB-4.1.4
以下のような画面が出ればよい。

では、変換情報を入力してデータベース更新を行う。

入力項目入力値
replace復元元のURL(https://wp.co.jpなど)
with今回のURL(http://xxx.localなど)
database nameDB名
usernameDBユーザー名
passDBパスワード
hostlocalhost
port未入力

入力したら、まずはデータベース設定の下にある「Test Connection」のボタンを押して、DB接続が可能かをチェックする。

設定内容や、webサーバに問題が無ければ、下図のよう「Success」になる。

では、問題なければ、下にある「Search and Replace」ボタンを押す。DB更新の警告メッセージが出るのでOKを押す。

すると、データベースの更新が開始される。データ量にもよるが少し時間かかるので放置して待つ。
「Search and Replace」ボタンがグルグルしているうちは、実行中らしい。

更新が終了すると、ボタンの表示が元に戻る。

ワーニングが出てくるが、「Incomplete or ill-typed serialization data~」といったエラーメッセージは無視してよいらしい。

最後に、削除ボタンを押しておくとよい。DBを書き換えできるアプリなので、残すのはセキュリティ上危険。
ただし、安全な環境の場合や、これ以降に本番DB登録を行うなどの予定がある場合は、残しておいても良い。

.htaccessの修正

復元を行った場合は、webフォルダに.htaccessファイルも置いていることとなる。ローカルでhttpsではなくhttpでの環境になる場合は、.htaccessファイルの更新が必要。

sudo nano .htaccess
# 以下の場所を修正
~ 修正前
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

~ 修正後
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

RewriteRuleの個所の、「https」の部分を「http」に書き換える。

完了

これで、作業は完了。
http://{ホスト名}.localでアクセスすれば、web画面が表示されるはずだ。