thorian93.nextcloud
Ansible Rolle: Nextcloud
Diese Rolle installiert Nextcloud auf Debian/Ubuntu, RHEL/CentOS und Fedora Servern.
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
- thorian93.apache2
- thorian93.php
- thorian93.certbot - wenn kein benutzerdefiniertes oder selbstsigniertes Zertifikat verwendet wird
- thorian93.mysql
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.
Nextcloud - Open Source Files and Collaboration
ansible-galaxy install thorian93.nextcloud