「Raspberry Pi で始める！自宅WordPressサーバー構築ガイド」

# ラズパイ導入から自宅ネットワークでWordPressを公開するまで

## 📅 作業日
2025年5月

## 🖥 使用環境
- 機種: Raspberry Pi 5
- OS: Raspberry Pi OS Bookworm (Debian 12)
- ネットワーク: 自宅LAN（Wi-Fi）
- サーバー構成: Apache + PHP + MariaDB + WordPress

> 💡 この記事では、Raspberry Pi（通称ラズパイ）を使って、自宅でWordPressサーバーを構築する手順を、実際の体験を交えながら詳しく解説します！Linuxやサーバーにあまり詳しくない人でも、なるべくつまずかないように注意点も多めに記載しています。

---

## ✅ ステップ1：Raspberry Pi OS のインストール
まずはラズパイを起動するためのOS（Raspberry Pi OS）をSDカードに書き込みます。

1. PCで [Raspberry Pi Imager](https://www.raspberrypi.com/software/) をインストール
2. OSとして「Raspberry Pi OS（64bit）」を選択
3. microSDカードに書き込み、ラズパイに挿入して起動

> ⚠️ 初回起動後、Wi-Fiや地域設定、ユーザー名などを一通りセットアップします。

---

## ✅ ステップ2：OSのアップデート
まずはOSを最新にしておくのが基本です。以下を実行：

```bash
sudo apt update
sudo apt upgrade
```

---

## ✅ ステップ3：Apache（Webサーバー）の導入
Apacheをインストールすると、自宅サーバーとしてWebページを公開できるようになります。

```bash
sudo apt install apache2
```

インストール後に、ブラウザで `http://ラズパイのIPアドレス/` にアクセスして、Apacheの初期画面（It works!）が出ればOK！

---

## ✅ ステップ4：PHPの導入
WordPressはPHPで動作しているので、PHPをインストールします。

```bash
sudo apt install php libapache2-mod-php php-mysql
```

確認用に以下のPHPファイルを作成：

```bash
sudo nano /var/www/html/test.php
```

中身：
```php
<?php phpinfo(); ?>
```

ブラウザで `http://ラズパイIP/test.php` にアクセスし、PHP情報が表示されれば成功！

---

## ✅ ステップ5：MariaDB（MySQL互換データベース）の導入

```bash
sudo apt install mariadb-server
```

> ✅ インストール直後のバージョンは10.11（2025年5月時点）

---

## ✅ ステップ6：MariaDBの初期設定
安全のために、不要なユーザーやテストDBを削除する `mysql_secure_installation` を実行：

```bash
sudo mysql_secure_installation
```

選んだ内容：
- unix_socket認証 → No（パスワード認証にしたい）
- rootのパスワード設定 → Yes
- 匿名ユーザー削除 → Yes
- リモートroot禁止 → Yes
- テストDB削除 → Yes

> 💬 最初、この設定項目の文言が公式サイトと微妙に違って焦りましたが、MariaDBのバージョンによるものでした。

---

## ✅ ステップ7：rootユーザーをパスワード認証に変更

```bash
sudo mysql -u root -p
```
```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY '********';
FLUSH PRIVILEGES;
EXIT;
```

> 🚧 ここでエラーが出て戸惑いました。MariaDB 10.4以降では `mysql.user` テーブルを直接書き換えるのではなく、`ALTER USER` を使う必要があります！

---

## ✅ ステップ8：WordPress用データベースの作成

```bash
sudo mysql -u root -p
```
```sql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '********';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```

> 💡 WordPressと接続するDBユーザー名とパスワードをここで決めます。

---

## ✅ ステップ9：WordPress本体のダウンロードと配置

```bash
cd /var/www/html
sudo wget https://ja.wordpress.org/latest-ja.tar.gz
sudo tar -xvzf latest-ja.tar.gz
sudo mv wordpress/* .
sudo rm -rf wordpress latest-ja.tar.gz
```

> 📦 展開後、古いindex.htmlが残っているとWordPress画面が表示されないので注意！

---

## ✅ ステップ10：wp-config.php の編集

```bash
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
```
修正箇所：
```php
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', '********' );
```

---

## ✅ ステップ11：パーミッションの設定

```bash
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
```

> 👀 これをしないと、WordPressが画像やテーマをアップロードできません！

---

## ✅ ステップ12：WordPress初期設定
- ブラウザで `http://ラズパイIP/` にアクセス
- サイト名、管理者ユーザー名、パスワードなどを入力

---

## ✅ 現在の状態（まとめ）
- 🌐 ローカルLAN内でWordPressが使える状態
- 🔒 インターネットには公開していないため比較的セキュア
- 🧠 管理者・DBパスワードは強力なものに設定済み
- 💾 データはすべて microSD にあるので、バックアップの検討が必要

---

> 📝 今後の課題としては「外部アクセスの安全な手段（TailscaleやSSH）」「定期バックアップの仕組み」などがあります。つまずいたポイントや気づきも含めて、記事として成長させていきます！