VPS構築から運用自動化までの記録

 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(本番環境)
  • 運用フロー:
    1. Mac mini 上で開発・修正を行う
    2. git addgit commitgit push(GitHubへ)
    3. VPS に SSH 接続し、git pull で最新状態を取得
    4. docker compose restart でサービスを再起動して反映
  • 利点:
    • コード履歴を安全に管理できる
    • 複数端末から統一環境で開発可能
    • コンテナ再構築時もリポジトリから即復元可能

バックアップ・保守

  • 週次バックアップスクリプト導入(PostgreSQL + 設定ファイル一式)
  • 保持世代数:最新4世代(古いものを自動削除)
  • 検証済み:手動・自動バックアップ/リストアとも正常動作

 これで、サーバ構築から自動運用までの基盤が完成しました。 今後は Windows 環境からの開発連携や、Django 側の本格的な実装に進む予定です。