プロジェクト

全般

プロフィール

バグ #729

未完了

【機能】Nginx設定管理システム (設計完了)

Redmine Admin さんが約7時間前に追加.

ステータス:
新規
優先度:
高め
担当者:
-
開始日:
2025-06-26
期日:
進捗率:

0%

予定工数:

説明

🌐 機能概要

Nginx設定・ドメイン管理・SSL証明書管理・アクセスログ解析機能

📋 実装対象関数 (14関数)

ドメイン設定管理関数

  • listDomains(): ドメイン一覧取得 (📋 設計完了)
  • createDomainConfig(domain, config): ドメイン設定作成 (📋 設計完了)
  • updateDomainConfig(domain, config): ドメイン設定更新 (📋 設計完了)
  • deleteDomainConfig(domain): ドメイン設定削除 (📋 設計完了)

設定操作関数

  • testNginxConfig(): 設定テスト実行 (📋 設計完了)
  • reloadNginxConfig(): 設定再読み込み (📋 設計完了)
  • backupNginxConfig(): 設定バックアップ (📋 設計完了)
  • restoreNginxConfig(backupId): 設定復元 (⭕ 未着手)

SSL証明書管理関数

  • getSSLCertificateInfo(domain): SSL証明書情報 (📋 設計完了)
  • renewSSLCertificate(domain): SSL証明書更新 (⭕ 未着手)
  • checkCertificateExpiry(): 証明書期限確認 (📋 設計完了)

ログ・統計関数

  • getAccessLogs(domain?, timeRange?): アクセスログ取得 (⭕ 未着手)
  • getErrorLogs(domain?, timeRange?): エラーログ取得 (⭕ 未着手)
  • getNginxStats(): Nginx統計情報 (⭕ 未着手)

🌐 API エンドポイント (14エンドポイント)

ドメイン管理

  • GET /api/v1/nginx/domains - ドメイン一覧 (📋 設計完了)
  • POST /api/v1/nginx/domains - ドメイン追加 (📋 設計完了)
  • GET /api/v1/nginx/domains/:domain - ドメイン設定取得 (📋 設計完了)
  • PUT /api/v1/nginx/domains/:domain - ドメイン設定更新 (📋 設計完了)
  • DELETE /api/v1/nginx/domains/:domain - ドメイン削除 (📋 設計完了)

設定操作

  • POST /api/v1/nginx/config/test - 設定テスト (📋 設計完了)
  • POST /api/v1/nginx/config/reload - 設定再読み込み (📋 設計完了)
  • POST /api/v1/nginx/config/backup - 設定バックアップ (📋 設計完了)

SSL証明書

  • GET /api/v1/nginx/ssl/certificates - SSL証明書一覧 (📋 設計完了)
  • GET /api/v1/nginx/ssl/certificates/:domain - 証明書詳細 (📋 設計完了)
  • POST /api/v1/nginx/ssl/certificates/:domain/renew - 証明書更新 (⭕ 未着手)

ログ・統計

  • GET /api/v1/nginx/logs/access - アクセスログ (⭕ 未着手)
  • GET /api/v1/nginx/logs/error - エラーログ (⭕ 未着手)
  • GET /api/v1/nginx/stats - Nginx統計 (⭕ 未着手)

🎛️ UI コンポーネント

  • DomainTable: ドメインテーブル
  • AddDomainButton: ドメイン追加ボタン
  • DomainConfigEditor: ドメイン設定エディター
  • SSLCertificateStatus: SSL証明書状況
  • ConfigTestButton: 設定テストボタン
  • ReloadNginxButton: Nginx再読み込みボタン
  • ConfigFileEditor: 設定ファイルエディター
  • BackupConfigButton: 設定バックアップボタン

⚡ 技術要件

  • Nginx Config API: 設定ファイル操作
  • Let's Encrypt: Certbot統合
  • Monaco Editor: 構文チェック付きエディター
  • System Commands: nginx -t, reload
  • File System Access: /etc/nginx/conf.d/ アクセス
  • Admin権限: 設定変更にはAdmin権限必須

🚨 重要な注意事項

  • SNI方式: ワイルドカードSSL証明書使用
  • 設定テスト必須: nginx -t でエラーチェック
  • バックアップ: 設定変更前の自動バックアップ
  • ロールバック: 設定エラー時の自動復旧

🎯 実装優先順序

  1. ドメイン基本管理・設定テスト (Phase 2)
  2. SSL証明書管理・期限監視 (Phase 2)
  3. ログ解析・統計機能 (Phase 3)

表示するデータがありません

他の形式にエクスポート: Atom PDF