🧩 Raspberry Pi 4で構築する本格WEBサーバー

〜Ubuntu Server + Nginx + MariaDB + WordPress + SSL + DDNS構成〜

室温: 18.2 ℃
湿度: 55 %RH
更新: 2025-12-01 07:05:25 +09:00
室温: 18.2 ℃
湿度: 55 %RH
更新: 2025-12-01 07:05:25 +09:00

🔰 概要

本記事では、Raspberry Pi 4(4GB/8GBモデル)を用いたWebサーバー構築手順を解説します。
Ubuntu Serverをベースに、Nginx + PHP + MariaDB + WordPress のLEMP構成を採用。
さらに、MyDNSによる動的DNS設定Let’s EncryptによるSSL化を行い、
独自ドメイン(例:tairoh.com)でインターネット公開するまでの一連の流れをまとめます。


🖥️ 環境

項目内容
ハードウェアRaspberry Pi 4 Model B
OSUbuntu Server 24.04.3 LTS (64bit)
ストレージmicroSDカード(後にSSDへ移行予定)
WebサーバーNginx
DBサーバーMariaDB
スクリプトエンジンPHP 8.3 FPM
CMSWordPress
DDNSMyDNS.jp
ドメインtairoh.com(ムームードメイン管理)

⚙️ 1. OSのセットアップ

1.1 イメージ書き込み

Raspberry Pi Imagerなどで以下を選択して書き込み:

  • OS: Ubuntu Server 24.04.3 LTS (64bit)
  • ストレージ: microSDカード

初回ブート後、SSHを有効化し、ユーザーを作成(例:hoge)。


🌐 2. SSH接続と初期設定

ssh hoge@<Raspberry PiのIPアドレス>

システム更新

sudo apt update && sudo apt upgrade -y
sudo reboot

🌍 3. Nginxのインストールと動作確認

sudo apt install nginx -y

ブラウザで
http://<ラズパイのIPアドレス>/
を開き、
「Welcome to nginx!」 が表示されれば成功。


🧱 4. PHP の導入(動的コンテンツ処理)

sudo apt install php-fpm php-mysql -y

Nginx と PHP-FPM の連携を確認:

php -v
systemctl status php8.3-fpm

🧮 5. MariaDB(MySQL互換DB)の導入

sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo systemctl start mariadb

セキュリティ設定を実施:

sudo mysql_secure_installation

rootパスワード設定・匿名ユーザー削除などを行う。


🗃️ 6. WordPress用データベース作成

MariaDBにrootで接続:

sudo mysql -u root -p

以下を実行:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '任意のパスワード';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

📰 7. WordPressの設置

cd /var/www/html
sudo wget https://ja.wordpress.org/latest-ja.tar.gz
sudo tar xzf latest-ja.tar.gz
sudo chown -R www-data:www-data wordpress
sudo chmod -R 755 wordpress

🧾 8. Nginxの仮想ホスト設定

構成ファイル作成:

sudo nano /etc/nginx/sites-available/tairoh.com

内容:

server {
    listen 80;
    server_name tairoh.com 101.1.xxx.xxx;

    root /var/www/html/wordpress;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

シンボリックリンクを作成して有効化:

sudo ln -s /etc/nginx/sites-available/tairoh.com /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx

ブラウザで http://<ラズパイIP>/ を開くと、WordPress初期設定画面が表示されます。


🌐 9. 動的DNS(MyDNS.jp)設定

9.1 MyDNSアカウント作成

MyDNS.jp で登録後、
「通知URL」を控える。

9.2 ddclient設定

sudo apt install ddclient -y
sudo nano /etc/ddclient.conf

内容:

protocol=dyndns2
use=web, web=ipify-ipv4
server=www.mydns.jp
login=mydnsユーザーID
password='マスターIDパスワード'
tairoh.com

設定後、動作確認:

sudo systemctl restart ddclient
sudo systemctl status ddclient

🔒 10. Let’s EncryptでSSL化(HTTPS対応)

10.1 Certbot導入

sudo apt install certbot python3-certbot-nginx -y

10.2 自動設定

sudo certbot --nginx -d tairoh.com

→ 自動で listen 443 ssl; が設定され、証明書も取得。

10.3 更新確認

sudo certbot renew --dry-run

📈 11. WordPress初期設定

http://tairoh.com を開き、インストール画面で以下を設定:

  • サイトタイトル
  • 管理者ユーザー名 / パスワード
  • データベース情報:
    • DB名:wordpress
    • ユーザー:wpuser
    • パスワード:設定したもの

🌍 12. Google 検索への登録(SEO初期設定)

WordPress プラグイン All in One SEO を導入。
Google Search Console にサイトマップを送信:

https://tairoh.com/sitemap.xml

確認用HTMLファイルをWordPressルートに配置して所有権を認証。


🧱 13. ファイアウォール設定

sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status

出力例:

OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere

✅ 完成!

これで、

  • 独自ドメイン(tairoh.com)
  • 常時SSL対応(https://tairoh.com)
  • WordPress運用
  • 自動DDNS更新

が可能な、フル機能のWEBサーバーが完成です。


💡 運用メモ

項目推奨コマンド
Webサーバー再起動sudo systemctl restart nginx
DB再起動sudo systemctl restart mariadb
PHP再起動sudo systemctl restart php8.3-fpm
SSL更新sudo certbot renew
DDNS更新確認sudo systemctl status ddclient

🧩 まとめ

要素使用技術
OSUbuntu Server 24.04 LTS
WebサーバーNginx
DBMariaDB
スクリプトPHP 8.3
CMSWordPress
SSLLet’s Encrypt
DDNSMyDNS.jp
ドメインtairoh.com
公開状態https://tairoh.com

💬 この構成は、ラズパイを「単なる趣味用サーバー」から
実運用可能なWebインフラ に変える構成です。
小規模ブログや研究サイト、IoT制御ページなどにも最適です。

コメント

タイトルとURLをコピーしました