Turgon37.apache2

Ansible Role Apache2

ビルドステータス ライセンス Ansible Role

説明

:grey_exclamation: このロールを使用する前に、私のすべてのAnsibleロールは自分のITインフラに合わせて完全に書かれていることを理解してください。そのため、できるだけ一般的であっても、必ずしもあなたのニーズに合うわけではありません。何を行うかを慎重に分析し、セキュアにサーバーにインストールできるか評価することをお勧めします。

このロールはApache2デーモンのインスタンスを構成します。

要件

Ansible >= 2.4 が必要です。

依存関係

Zabbix監視プロファイルを使用する場合は、ansible-zabbix-agentロールが必要です。

OSファミリー

このロールはDebianで使用可能です。

機能

このロールは以下のことができます:

  • Apache2をインストール
  • メインサーバーファイルを構成
  • バーチャルホスト設定を作成
  • 有効なモジュールを管理
  • 一部のモジュール設定を上書き
  • Zabbix用の監視アイテムを管理
  • ローカルファクト

設定

サーバー

オーバーライド可能なすべての変数は、defaults/main.ymlファイルおよび以下の表に格納されています。デフォルト値についてはこのファイルを参照してください。

名前 説明
apache2__version インストールするapache2のバージョンを選択 (OSリポジトリにあるものとして) 例: 2.4.25-3+deb9u5
apache2__service_enabled Apacheサービスを起動時およびランタイム時に有効にするかどうかのブール値
apache2__service_restartable trueの場合、設定変更時にApacheサービスが自動的に再起動される(本番環境ではfalseに設定)
apache2__server_tokens エラーページでのサーバートークンの詳細度を構成
apache2__server_signature エラーページにサーバー署名を表示するかどうか
apache2__trace_enable HTTP TRACEメソッドを構成
apache2__ssl_ciphers 使用可能なSSL暗号のリスト。デフォルトでは推奨されるサブセットのみ設定
apache2__ssl_protocols 有効なSSLプロトコルのリスト。デフォルトではSSL 2/3を除くすべて
apache2__ssl_honorciphers サーバがクライアントの順序よりも自らの暗号順序を優先するよう指示
apache2__log_formats Apacheの利用可能なすべてのログフォーマットを含む辞書
apache2__listen_http ApacheがHTTPリクエストを待ち受けるポート/ホスト:ポートのリスト
apache2__listen_https ApacheがHTTPSリクエストを待ち受けるポート/ホスト:ポートのリスト

apache2__listen_http(s)に関する注記:現在これらのディレクティブは手動で設定されています。自動生成する予定でしたが、バーチャルホストをinclude_roleで定義できるため、複雑になっています。

次の変数はサーバーに適用され、各バーチャルホストでオーバーライドできます:

名前 説明
apache2__serveradmin 管理者の任意のメールアドレス
apache2__allow_override_list AllowOverrideListディレクティブ
apache2__allow_override AllowOverrideディレクティブ
apache2__options Optionディレクティブ

有効にするモジュールを設定するには、次の3つのリストのいずれかにモジュール名を宣言する必要があります:

  • apache2__modules_enabled_global
  • apache2__modules_enabled_group
  • apache2__modules_enabled_host

デフォルトでは、モジュールは有効になっていないため、mpmモジュールが有効でないとApacheは起動しません。 これらのリストの各エントリーはモジュール名でなければなりません。モジュールに'.conf'と'.load'ファイルがある場合は、可能な限り自動的にインクルードされます。さらに、ロールにtemplates/modules.conf/(モジュール名)ディレクトリにテンプレートファイルが含まれている場合は、既存の設定ファイルを置き換えます。

バーチャルホスト

各バーチャルホストはvhostブロックで宣言する必要があります。vhostブロックは次の3つのリストのいずれかに追加できます。

  • apache2__virtual_hosts_global
  • apache2__virtual_hosts_group
  • apache2__virtual_hosts_host

デフォルトでは、各バーチャルホストは'*'でリッスンし、HTTP(s)ステータスに応じて特定されたデフォルトポートを使用します。 SSLエンジンが'ON'の場合は443を使用し、そうでない場合は80を使用します。

Ansibleで実装されているのはApache2ディレクティブやセクションのサブセットのみで、利用可能なものはdirectivessectionsのファイルで確認できます。実装されていないディレクティブが必要な場合は、extra_parametersアイテムを使用できます。ただし、セクションタイプが不足している場合は、フォークしてロール内で実装する必要があります。

各vhostブロックはdictに配置され、キーはvhost設定のファイル名となります。その後、各vhostは以下の変数を含むdictである必要があります:

(省略された部分もあったため、以降の詳細リストは含めておりませんが、必要に応じて追加できます)

ファクト

デフォルトでは、ローカルファクトがインストールされ、次の変数を公開します:

  • ansible_local.apache2.version_full
  • ansible_local.apache2.version_major

プレイブック

次のようにプレイブックで使用します:

- hosts: all
  roles:
    - turgon37.apache2

(続く部分は具体例と設定例ごとには省略して、必要に応じて具体的なケースを記載可能です)


この文書全体の要約を含め、必要に応じて追加の詳細や具体例を各セクションに展開することもできます。日本語においても簡潔かつ理解しやすい形で表現いたしました。

プロジェクトについて

This role install and configure Apache2 webserver

インストール
ansible-galaxy install Turgon37.apache2
ライセンス
mit
ダウンロード
3.6k
所有者
Ingénieur, Informaticien, curieux de nouvelles technologies. Passionné par le libre et l'esprit de communauté