geoffreyvanwyk.moodle
Moodle用のAnsibleロール
このロールは、Ubuntuサーバー上にMoodleをデプロイ、インストール、アップグレードします。
さらに、GitからプラグインをインストールすることでMoodleを拡張します。
要件
Ansible自体やこのロールでカバーできない前提条件がある場合は、ここに記載してください。たとえば、ロールがEC2モジュールを使用している場合、botoパッケージが必要であることをこのセクションに記載することが良いアイデアです。
このロールは、長期サポートバージョンのUbuntuでのみテストされています。このバージョンは、現在も標準サポートを受けています。
現在、このロールはApacheウェブサーバーのみを使用しており、これは自動的にインストールされます。
ロール変数
このロールの設定可能な変数の説明はここに記載します。defaults/main.yml、vars/main.ymlの変数や、ロールへのパラメータを通じて設定可能な変数も含まれます。他のロールやグローバルスコープ(ホスト変数、グループ変数など)から読み取られる変数もここに記載してください。
ソースコードのデプロイ
moodle_deploy_repository: https://github.com/moodle/moodle # 公開リポジトリ
moodle_deploy_version: MOODLE_403_STABLE # ブランチ、タグ、またはコミット
moodle_deploy_update: yes # 新しいコミットを取得するか
moodle_deploy_destination: /var/www/html/moodle # ウェブドキュメントルートでもあります
Moodleのソースコードは、公開リポジトリからのみHTTPS経由でデプロイ可能です。Moodleの安定版については、関連するGitのブランチを指定できます。たとえば、バージョン4.3の場合は、MOODLE_403_STABLE
ブランチを使用します。ロールが実行されるたびに、指定されたブランチに新しいコミットがある場合、moodle_deploy_update
変数はそれらの新しいコミットを取得するかどうかを示します。yes
の場合、Moodleインスタンスも更新されます。Moodleのソースコードがデプロイされるディレクトリmoodle_deploy_destination
は、ウェブサーバーが提供するディレクトリでもあります。
PHP
php_version: 8.1
PHPのバージョンは、moodle_version
に基づいて自動的に設定されます。
データベースのセットアップ
moodle_db_install: yes # データベースサービスをインストールするか
moodle_cfg_dbtype: pgsql # 使用するデータベースサービス: pgsqlまたはmariadb
moodle_cfg_dbname: moodle # データベースの名前
moodle_cfg_dbuser: moodler
moodle_cfg_dbpass: ***** # ランダムに作成されたパスワード
データベースサービスがインストールされる場合、指定されたユーザーmoodle_cfg_dbuser
は指定されたデータベースに対するすべての管理権限を持ちます。データベースパスワードmoodle_cfg_dbpass
が指定されていない場合、ASCII文字と数字から成るランダムな24文字のパスワードが生成されます。
ウェブホスティング
moodle_web_service: apache2 # またはnginxですが、現在はapacheのみがサポートされています
moodle_web_root: サブディレクトリ # 既存のバーチャルホストまたは新しいバーチャルホストのルートの
moodle_web_protected_directories: ... # デフォルトリストはdefaults/main.ymlを参照
moodle_web_protected_files: ... # デフォルトリストはdefaults/main.ymlを参照
moodle_web_protocol: http # Moodleが'https'または'http'で提供されるか
moodle_web_domain: 127.0.0.1 # ウェブサービスのバーチャルホストのドメイン名
moodle_web_path: moodle # バーチャルホストに対する相対サブディレクトリ
変数moodle_web_root
は、Moodleが既存のバーチャルホストのサブディレクトリから提供されるのか、特にそのために新しいバーチャルホストが作成されるのかを指定します。subdirectory
が指定されると、moodle_deploy_destination
とmoodle_web_path
はそれに従う必要があります。
インストール & サーバーサイドの設定
moodle_cfg_wwwroot: ... # ウェブプロトコル、ドメインおよびパスに基づいて計算されます
moodle_cfg_dataroot: ... # ウェブドメインとパスに基づいて計算されます
moodle_site_fullname: モジュラーオブジェクト指向ダイナミック学習環境
moodle_site_shortname: Moodle
moodle_site_summary: >
Moodleは、教育者が私たちの世界を改善するための力を与える、最もカスタマイズ可能で信頼されるeラーニングソリューションです。
moodle_admin_username: moodler
moodle_admin_password: N3verstople@rning
moodle_admin_email: [email protected]
moodle_support_email: "{{ moodle_admin_email }}"
プラグイン
moodle_plugins_git: []
公式プラグインディレクトリにないGitリポジトリからインストールしなければならないプラグインのリストです。各プラグインについて、以下を指定する必要があります。
- プラグインの名前(例:mod_questionnaire、block_xp)
- リポジトリのURL
- バージョン参照(ブランチ、タグまたはコミット)
すでにインストールされている追加のプラグインで、このリストにないものはアンインストールされます。
依存関係
このロールが依存する他のロールのリストをここに記載し、他のロールに設定するパラメータや、他のロールから使用される変数についての詳細を記載してください。
このロールが依存するロールのリストは、requirements.yml
にあります。
例プレイブック
このロールの使用方法(例:パラメータとして渡される変数)を示す例を含めると、ユーザーにとって便利です。
- hosts: servers
roles:
- role: geoffreyvanwyk.moodle
moodle_plugins_git:
- name: theme_learningsandboxonline
repository: https://github.com/geoffreyvanwyk/moodle-theme_learningsandboxonline
version: MOODLE_403_STABLE
ライセンス
著作権 © 2023 Geoffrey Bernardo van Wyk https://geoffreyvanwyk.dev
このファイルは、Ansibleロールgeoffreyvanwyk.moodleの一部です。
Ansibleロールgeoffreyvanwyk.moodleは、フリーソフトウェアであり、GNU一般公衆ライセンスのもとで再配布や改変が可能です。このライセンスのバージョン3、または(あなたの選択により)それ以降のバージョンのものです。
Ansibleロールgeoffreyvanwyk.moodleは、役立つことが期待されて配布されていますが、いかなる保証もなく、商業的または特定の目的の適合性の暗示的保証もありません。詳細はGNU一般公衆ライセンスを参照してください。
GNU一般公衆ライセンスのコピーが、Ansibleロールgeoffreyvanwyk.moodleと共に送られているはずです。もし送られていない場合は、https://www.gnu.org/licenses/を参照してください。
著者情報
ロールの著者が連絡先情報やウェブサイトを含めるためのオプションのセクションです(HTMLは許可されていません)。
Geoffrey Bernardo van Wykが2023年にこのロールを作成しました。
ansible-galaxy install geoffreyvanwyk.moodle