ConoHa VPS 上で Django(メインサイト)と WordPress(ブログ)を構築し、SSL対応やセキュリティヘッダ、バックアップ自動化まで行った手順のまとめです。
VPS初期設定(ConoHa / Ubuntu)
- OS:Ubuntu 24.04 LTS(メモリ2GB / 3core / SSD 100GB)
- rootログイン → 一般ユーザー作成 →
sudo権付与 - SSH公開鍵認証(Mac mini から接続)
- 不要サービス停止・再起動確認
Docker導入と検証
- 最新 Docker / Docker Compose を導入
docker run hello-worldで動作確認- 自動起動設定:
sudo systemctl enable docker
ホストNginxの設定
- Nginx の仮想ホスト設定ファイルを用意(メインサイト/ブログ用の2つ)
- Let’s Encrypt + Certbot による HTTPS化(自動更新設定)
- 共通セキュリティヘッダ設定: HSTS / CSP / Referrer-Policy
- 設定検証:
sudo nginx -t && sudo systemctl reload nginx
Dockerコンテナ群の構築
メインサイト(Django)
- コンテナ構成:
- web:Django + Gunicorn
- db:PostgreSQL
- nginx:内部リバースプロキシ
- 永続化:Docker Volume(PostgreSQL, static, media)— コンテナ外にデータを保存し、再起動や更新でも内容を維持。
- ドメイン:ytk-web.net
- 管理画面確認:
python manage.py runserver→ OK
ブログ(WordPress)
- コンテナ構成:
- wordpress:PHP + nginx
- db:MariaDB
- ドメイン:
blog.ytk-web.net - Cocoonテーマ導入・初期設定済み
開発環境(Mac mini + VS Code + GitHub)
ローカル(Mac mini)でコードを編集し、GitHubリポジトリを経由してVPSへデプロイする構成にしています。VS Code の Remote-SSH 機能を使えば、VPS上のコードも直接編集できます。
- 構成:
Mac mini(ローカル開発) → GitHub(リモートリポジトリ) → VPS(本番環境) - 運用フロー:
- Mac mini 上で開発・修正を行う
git add→git commit→git push(GitHubへ)- VPS に SSH 接続し、
git pullで最新状態を取得 docker compose restartでサービスを再起動して反映
- 利点:
- コード履歴を安全に管理できる
- 複数端末から統一環境で開発可能
- コンテナ再構築時もリポジトリから即復元可能
バックアップ・保守
- 週次バックアップスクリプト導入(PostgreSQL + 設定ファイル一式)
- 保持世代数:最新4世代(古いものを自動削除)
- 検証済み:手動・自動バックアップ/リストアとも正常動作
これで、サーバ構築から自動運用までの基盤が完成しました。 今後は Windows 環境からの開発連携や、Django 側の本格的な実装に進む予定です。


