thorian93.nextcloud

Ansibleロール: Nextcloud

Nextcloud

このロールはDebian/Ubuntu、RHEL/CentOS、FedoraサーバーにNextcloudをインストールします。

Ansible Role: Nextcloud Ansible Role: Nextcloud Ansible Role: Nextcloud

知られている問題

  • Debianへのインストールは一般的に成功しますが、Nextcloudの自動設定は現在不可能です。この作業は手動で行う必要があります。その後、ロールを再度実行してインストール後の管理タスクを行ってください。最初の実行ではロールは失敗しますが、これは予想される動作です。

要件

特別な要件はありません;ただし、このロールはルートアクセスが必要なので、become: yesをグローバルに設定したプレイブックで実行するか、以下のようにプレイブックでロールを呼び出してください:

- hosts: foobar
  roles:
    - role: thorian93.nextcloud
      become: yes

ロール変数

利用可能な変数は以下に示し、デフォルト値が設定されています(defaults/main.ymlを参照):

nextcloud_version: "20.0.5"

インストールするNextcloudのバージョンを定義します。

nextcloud_create_self_signed_cert: true
nextcloud_self_signed_cert_subj: "/C=DE/ST=FOO/L=BAR/O=Org/CN={{ nextcloud_external_url }}"
nextcloud_self_signed_certificate_key: "/etc/{{ apache2_http_name }}/ssl/nextcloud.key"
nextcloud_self_signed_certificate: "/etc/{{ apache2_http_name }}/ssl/nextcloud.crt"

自己署名証明書を好みに合わせて設定します。

nextcloud_custom_cert: false
nextcloud_custom_cert_file: /etc/{{ apache2_http_name }}/ssl/nextcloud.crt
nextcloud_custom_cert_key: /etc/{{ apache2_http_name }}/ssl/nextcloud.key

自分の証明書を使用したい場合は、ここで定義できます。

nextcloud_certificate_key: "{{ certbot_cert_path }}/privkey.pem"
nextcloud_certificate: "{{ certbot_cert_path }}/cert.pem"
nextcloud_certificate_chain: "{{ certbot_cert_path }}/fullchain.pem"

nextcloud_create_self_signed_certnextcloud_custom_certが両方ともfalseの場合、thorian93.certbotが証明書を取得するために使用されます。

nextcloud_db_system: "mysql"
nextcloud_db_host: "127.0.0.1"
nextcloud_db_name: "nextcloud"

Nextcloud用のデータベースを設定します。現在はMySQL/MariaDBのみが利用可能です。

nextcloud_enable_opt_prerequisites: true

Nextcloudに役立つオプションのソフトウェアをインストールします。

nextcloud_turn_enable: 'false'
nextcloud_turn_ip: "{{ ansible_default_ipv4.address }}"
nextcloud_turn_port: 3478
nextcloud_turn_realm: "{{ nextcloud_external_url }}"
# これをインベントリに設定してください。デフォルトでは、このロールはこの変数が設定されるまで、毎回新しい秘密を生成します。
# nextcloud_turn_secret:

Nextcloud Talk用のTURNサーバーのセットアップを有効にして設定します。詳細については、Nextcloudのドキュメントを参照してください。nextcloud_turn_secret変数に注意してください!

nextcloud_backup: false
nextcloud_backup_path: "/tmp"

Nextcloudのバックアップを設定します。

nextcloud_web_dir: "/var/www/nextcloud"
nextcloud_data_dir: "/var/www/nextcloud/data"

Nextcloud用のディレクトリを定義します。
データディレクトリはウェブルートの外に置くことを推奨します。
ウェブルートは設定可能ですが、現在は/var/www内に配置されることのみサポートされています。アプリケーションを/var/wwwの外に置くことはできませんが、データディレクトリには影響しません。

nextcloud_php_options:
  - line: "post_max_size = 4G"
    regexp: "^post_max_size ="
  - line: "upload_max_filesize = 4G"
    regexp: "^upload_max_filesize ="
  - line: "open_basedir ='{{ nextcloud_web_dir }}:{{ nextcloud_data_dir }}:/tmp:/dev/urandom'"
    regexp: "^open_basedir ="

Nextcloud用のPHPオプションを定義します。ここで設定されたデフォルトはNextcloudが正常に動作するために必要です。

nextcloud_enabled_apps:
  - files

有効にするアプリのリストです。

依存関係

OSの互換性

このロールは、専用の変数<role-name>_stable_osに正しいディストリビューション名とメジャーバージョン番号が含まれているかを確認することにより、サポートされていないまたは未テストのオペレーティングシステムに対して使用されないことを保証します。この変数はロールのデフォルト変数ファイルdefaults/main.ymlにあります:

role_stable_os:
  - Debian 10
  - Ubuntu 18
  - CentOS 7
  - Fedora 30

ディストリビューションとメジャーバージョン番号の組み合わせがターゲットシステムに一致しない場合、ロールは失敗します。ロールを機能させるには、その変数にディストリビューション名とメジャーバージョン名を追加してください。ただし、新しい組み合わせは最初にテストしてください!

このアイデアを提供したHarryHarcourtに感謝します!

サンプルプレイブック

---
- name: "ロールを実行する"
  hosts: all
  become: yes
  roles:
    - ansible-role-nextcloud

コントリビューション

バグや問題、改善の余地がある場合はお気軽に問題をオープンしてください。質問や議論したいことがあればいつでもご連絡ください。

免責事項

このロールはそのまま提供されており、私が意図した通りに動作することを保証することもできず、このロールによって生じた損害や誤設定について責任を負うことはできません。使用する前に、ロールを十分に調査してください。

ライセンス

MIT

作者情報

このロールは2020年にThorian93によって作成されました。

プロジェクトについて

Nextcloud - Open Source Files and Collaboration

インストール
ansible-galaxy install thorian93.nextcloud
ライセンス
mit
ダウンロード
1.8k
所有者
Greetings earthlings! I am a young Linux, IT and tech enthusiast and currently I am working as a checkmk consultant for Checkmk.