〜Ubuntu Server + Nginx + MariaDB + WordPress + SSL + DDNS構成〜
- 🔰 概要
- 🖥️ 環境
- ⚙️ 1. OSのセットアップ
- 🌐 2. SSH接続と初期設定
- 🌍 3. Nginxのインストールと動作確認
- 🧱 4. PHP の導入(動的コンテンツ処理)
- 🧮 5. MariaDB(MySQL互換DB)の導入
- 🗃️ 6. WordPress用データベース作成
- 📰 7. WordPressの設置
- 🧾 8. Nginxの仮想ホスト設定
- 🌐 9. 動的DNS(MyDNS.jp)設定
- 🔒 10. Let’s EncryptでSSL化(HTTPS対応)
- 📈 11. WordPress初期設定
- 🌍 12. Google 検索への登録(SEO初期設定)
- 🧱 13. ファイアウォール設定
- ✅ 完成!
- 💡 運用メモ
- 🧩 まとめ
🔰 概要
本記事では、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 |
| OS | Ubuntu Server 24.04.3 LTS (64bit) |
| ストレージ | microSDカード(後にSSDへ移行予定) |
| Webサーバー | Nginx |
| DBサーバー | MariaDB |
| スクリプトエンジン | PHP 8.3 FPM |
| CMS | WordPress |
| DDNS | MyDNS.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 - パスワード:設定したもの
- DB名:
🌍 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 |
🧩 まとめ
| 要素 | 使用技術 |
|---|---|
| OS | Ubuntu Server 24.04 LTS |
| Webサーバー | Nginx |
| DB | MariaDB |
| スクリプト | PHP 8.3 |
| CMS | WordPress |
| SSL | Let’s Encrypt |
| DDNS | MyDNS.jp |
| ドメイン | tairoh.com |
| 公開状態 | https://tairoh.com |
💬 この構成は、ラズパイを「単なる趣味用サーバー」から
実運用可能なWebインフラ に変える構成です。
小規模ブログや研究サイト、IoT制御ページなどにも最適です。

コメント