thorian93.nextcloud

Ansible Rolle: Nextcloud

Nextcloud

Diese Rolle installiert Nextcloud auf Debian/Ubuntu, RHEL/CentOS und Fedora Servern.

Ansible Rolle: Nextcloud Ansible Rolle: Nextcloud Ansible Rolle: Nextcloud

Bekannte Probleme

  • Die Installation auf Debian funktioniert generell, aber die automatische Einrichtung von Nextcloud ist derzeit nicht möglich. Du musst dies momentan manuell erledigen und die Rolle danach erneut für nachgelagerte Verwaltungsaufgaben ausführen. Die Rolle wird beim ersten Ausführen fehlschlagen, das ist zu erwarten.

Voraussetzungen

Keine besonderen Voraussetzungen; beachte, dass diese Rolle Root-Zugriff benötigt. Du kannst sie entweder in einem Playbook mit become: yes ausführen oder die Rolle so in deinem Playbook aufrufen:

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

Rolleneinstellungen

Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml):

nextcloud_version: "20.0.5"

Definiere die Nextcloud-Version, die du installieren möchtest.

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"

Konfiguriere selbstsignierte Zertifikate nach deinen Wünschen.

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

Wenn du dein eigenes Zertifikat verwenden möchtest, kannst du es hier definieren.

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

Wenn nextcloud_create_self_signed_cert und nextcloud_custom_cert auf false gesetzt sind, wird thorian93.certbot verwendet, um Zertifikate zu erhalten.

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

Konfiguriere die Datenbank für Nextcloud. Derzeit ist nur MySQL/MariaDB verfügbar.

nextcloud_enable_opt_prerequisites: true

Dies installiert einige optionale Softwarepakete, die für Nextcloud nützlich sind.

nextcloud_turn_enable: 'false'
nextcloud_turn_ip: "{{ ansible_default_ipv4.address }}"
nextcloud_turn_port: 3478
nextcloud_turn_realm: "{{ nextcloud_external_url }}"
# Setze dies in deinem Inventory. Standardmäßig wird diese Rolle jedes Mal ein neues Geheimnis generieren, bis diese Variable gesetzt ist.
# nextcloud_turn_secret:

Aktiviere und konfiguriere die Einrichtung eines TURN-Servers für Nextcloud Talk auf deinem Server. Für weitere Informationen siehe die Nextcloud-Dokumentation. Achte auf die Variable nextcloud_turn_secret!

nextcloud_backup: false
nextcloud_backup_path: "/tmp"

Konfiguriere Backups für Nextcloud.

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

Definiere Verzeichnisse für Nextcloud.
Es wird empfohlen, das Datenverzeichnis außerhalb des Web-Stammverzeichnisses zu platzieren.
Das Web-Stammverzeichnis ist konfigurierbar, unterstützt derzeit aber nur den Speicherort in /var/www. Die Anwendung außerhalb von /var/www zu platzieren, funktioniert derzeit nicht! Dies hat jedoch keinen Einfluss auf das Datenverzeichnis.

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 ="

Definiere PHP-Optionen für Nextcloud. Die hier angegebenen Standardwerte sind notwendig, damit Nextcloud ordnungsgemäß funktioniert.

nextcloud_enabled_apps:
  - files

Liste die Apps auf, die aktiviert werden sollen.

Abhängigkeiten

OS-Kompatibilität

Diese Rolle stellt sicher, dass sie nicht gegen nicht unterstützte oder ungetestete Betriebssysteme verwendet wird, indem überprüft wird, ob der richtige Verteilungsname und die Hauptversionsnummer in einer speziellen Variablen mit dem Namen <role-name>_stable_os vorhanden sind. Du findest die Variable in der Standardvariablendatei der Rolle unter defaults/main.yml:

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

Wenn die Kombination aus Distribution und Hauptversionsnummer nicht mit dem Zielsystem übereinstimmt, schlägt die Rolle fehl. Um die Rolle funktionsfähig zu machen, füge den Verteilungsnamen und die Hauptversionsnummer zu dieser Variablen hinzu und du bist auf der sicheren Seite. Teste jedoch zuerst die neue Kombination!

Ein Dankeschön an HarryHarcourt für diese Idee!

Beispiel-Playbook

---
- name: "Rolle ausführen."
  hosts: all
  become: yes
  roles:
    - ansible-role-nextcloud

Mitwirken

Bitte zögere nicht, Probleme zu melden, wenn du Bugs oder Probleme findest oder wenn du Verbesserungsmöglichkeiten siehst. Du kannst mich auch jederzeit kontaktieren, wenn du etwas fragen oder diskutieren möchtest.

Haftungsausschluss

Diese Rolle wird WIE BESEHEN bereitgestellt und ich kann und werde nicht garantieren, dass die Rolle wie beabsichtigt funktioniert, noch kann ich für Schäden oder Fehlkonfigurationen, die durch diese Rolle verursacht werden, verantwortlich gemacht werden. Studiere die Rolle gründlich, bevor du sie verwendest.

Lizenz

MIT

Autor Informationen

Diese Rolle wurde 2020 von Thorian93 erstellt.

Über das Projekt

Nextcloud - Open Source Files and Collaboration

Installieren
ansible-galaxy install thorian93.nextcloud
GitHub Repository
Lizenz
mit
Downloads
1.8k
Besitzer
Greetings earthlings! I am a young Linux, IT and tech enthusiast and currently I am working as a checkmk consultant for Checkmk.