[kein Docker!] Nextcloud - Installation mit Ansible - Playbooks nach Reiner_Nippes

Für mich als noob: ** :nauseated_face: Das Playbook ist die Ansible-Automatisierungssprache. :nauseated_face:**

hier, weil da OT

Hallo Forum,

welche Vorteile hat das Github Reporsitory?

Es erscheint doch als ideale Lösung, warum wird es nicht mehr beworben, besprochen?

Sehr viele Contributors, das erscheint mir zuverlässiger als die auch guten Lösungen von https://www.c-rieger.de/.

Gibt es bei c-rieger Probleme, gibt es nur einen Ansprechpartner.
Beispiel: *** * * B E T R I E B S F E R I E N * * ***
VOM 15. AUGUST BIS 08. SEPTEMBER

Welche Nachteile hat das Reiner_Nippes System?

Ist Lösung nur für Nginx verwendbar?

MfG
nc-kay

Bei der Installation stoppt das System:

PLAY [install webserver] *******************************************************************************************

TASK [webserver : pkg manager spefic tasks] ************************************************************************
Thursday 20 August 2020  11:09:21 +0000 (0:00:00.726)       0:00:41.077 ******* 
included: /home/ubuntu/nextcloud/roles/webserver/tasks/nginx/apt.yml for localhost

TASK [webserver : add apt key for nginx repo] **********************************************************************
Thursday 20 August 2020  11:09:21 +0000 (0:00:00.064)       0:00:41.142 ******* 
changed: [localhost]

TASK [webserver : add additional nginx repo] ***********************************************************************
Thursday 20 August 2020  11:09:23 +0000 (0:00:01.996)       0:00:43.138 ******* 

Wie löse ich so etwas?

Lösung, “sudo” hatte ich vergessen:

sudo ./nextcloud.yml

All variables are defined in inventory file.

# Your Nextcloud Server Domain Name

# Default is the fqdn of the Machine
nextcloud_fqdn          = nextcloud.toplevel.domain

# Selfsigned Certificate are Default
# nextcloud_certificate_type  = 'selfsigned'

# Letsencrypt Certificate provided with acme.sh (https://github.com/Neilpang/acme.sh)
nextcloud_certificate_type  = 'acme.sh'

# Your email Addresse for Letsencrypt
# nextcloud_cert_email = nc@example.org

#
# Nextcloud varibales

# Nextcloud Webserver Ports
nextcloud_web_port          = 80
nextcloud_ssl_port          = 443

# Nextcloud Web Root
nextcloud_www_dir           = /var/www/nextcloud

# Nextcloud Data Dir
nextcloud_data_dir          = /var/nc-data

# Nextcloud Admin User
# Leave Password Empty to generate secure, random one
nextcloud_admin             = 'admin'
nextcloud_passwd            = ''

# Nextcloud Database Settings
# Leave Password Empty to generate secure, random one
#nextcloud_db_type           = 'mysql'        # (MariaDB)
nextcloud_db_type           = 'pgsql'        # (PostgreSQL)
nextcloud_db_host           = 'localhost'
nextcloud_db                = 'nextcloud'
nextcloud_db_user           = 'nextcloud'
nextcloud_db_passwd         = ''
nextcloud_db_prefix         = 'oc_'

# Nextcloud Mail Setup
nextcloud_configure_mail    = false
nextcloud_mail_from         =
nextcloud_mail_smtpmode     = smtp
nextcloud_mail_smtpauthtype = LOGIN
nextcloud_mail_domain       =
nextcloud_mail_smtpname     =
nextcloud_mail_smtpsecure   = tls
nextcloud_mail_smtpauth     = 1
nextcloud_mail_smtphost     =
nextcloud_mail_smtpport     = 587
nextcloud_mail_smtpname     =
nextcloud_mail_smtppwd      =

# Allways get the latest version of Nextcloud
nextcloud_archive           = https://download.nextcloud.com/server/releases/latest.tar.bz2

# webserver type nginx or apache
nextcloud_webserver_type    = nginx

# php Version
php_version                 = '7.4'
# optional php packages see: roles/php/var/main.yml
php_install_optional_packages = false

# Install turn server for Nextcloud Talk
talk_install                = false

# Install restic backup tool if backup_folder is not empty
# more info about restic: https://restic.readthedocs.io/en/latest/
# to use a local directory as a restic repository (not a good idea anyway)
restic_repo                 = '/var/backups/nextcloud'

# use rclone to backup a cloud storage, see https://rclone.org for more details
# configure also rclone_remote in group_vars/all.yml
# restic_repo         = "rclone:backup-selfhosted:selfhosted-{{ lookup('password', '{{ credential_store }}/restic_backup_s3_bucket_uid chars=ascii_lowercase,digits length=12') }}/backup"

# crontab setings for the backup script - default daily at 3pm
restic_backup_day           = '*'
restic_backup_minute        = '0'
restic_backup_hour:         = '3'

# Install Collabra Online
# more info about collabora office: https://www.collaboraoffice.com/
install_collabora           = false

# Install Online Office
# more info about onlyoffice office: https://www.onlyoffice.com
install_onlyoffice          = false
onlyoffice_ssl_port         = 8443

# Install fulltextsearch
install_fulltextsearch      = false

Was ist das Mindeste was man anpassen muss um eine Nextcloud starten zu können?

Gibt es eine Seite mit einem erweitertem Tutorial?

Wird ein STUN Server auch gleich mit installiert?

das ist das mindeste

die ermittlung des rechner names muss aber nicht unbedingt funktionieren. besser, wenn da den fqdn oder die ip adresse einträgst.

well. nö. sorry. die kommentare zu den variablen sollten eigentlich alles erklären.

im inventory ist das wichtigste, was man einstellen können sollte für eine out-of-the-box installation.

wenn du ans eingemachte gehen möchtest, muss du in roles/*/defaults,files,templates schauen. dort sind weitere defaults und config files.

ich habe versucht weitesgehend die umgebung so einzurichten, wie c-rieger sie auf seiner seite auch beschrieben hat. (default ist nginx + postgres)

da muss man aber ggf. noch nach der richtigen konfig schauen. hilfe findet sich hier im forum.

die config wäre hier: https://github.com/ReinerNippes/nextcloud/blob/nextcloud-reloaded/roles/talk/templates/turnserver.conf.j2 wird durch das playbook nach /etc/turnserver.conf kopiert.

1 Like
nextcloud_fqdn          = '131.34.45.77'

Ist die Eingabe für IPv4 so richtig?

Wenn ich nur das eingebe, ändere sollte die Installation Reiner_Nippes funktionieren?

Wie muss es aussehen, wenn der Nextcloud Server mit IPv4 und IPv6 erreichbar sein soll?

Warum?

Ähm. Da stellt sich für mich die Frage: Nur weil jemand sein Wissen FREIWILLIG und KOSTENFREI zur Verfügung stellt, ergibt sich daraus keine kostenfreie “24/7 bei 365 Tagen Support-Verpflichtung”.

WAS ist das für ein Anspruch??

Auch ein Reiner Nippes kann mal Urlaub machen! Und dann sind wir wieder bei der Frage: Nur weil jemand sein Wissen FREIWILLIG und KOSTENFREI zur Verfügung stellt, ergibt sich daraus keine kostenfreie “24/7 bei 365 Tagen Support-Verpflichtung”!!

Sowohl die Playbooks von Reiner Nippes als auch die Installations-Scripts oder Anleitungen von C-Rieger haben ihre “Daseinsberechtigung”. Aber gerade beim Thema “Linux-Server” gibt es eben

NICHT DIE Lösung.

Ich PERSÖNLICH nutze weder das Eine noch das Andere und meine Clouds laufen trotzdem wunderbar.

Und ich werde die Playbooks von Reiner Nippes oder die Installations-Scripts und Anleitungen von C-Rieger hier mit Sicherheit nicht schlecht reden.

Denn eins haben alle gemeinsam: Die Fehlerquelle sitzt bei allen in der Regel vor dem Rechner:

Und um deine Frage zu beantworten:

Ohne mir die Playbooks, Scripts oder Anleitungen angeschaut zu haben, sage ich einfach mal NEIN. Warum auch? Mit der Installation von Nextcloud und Talk wird automatisch der STUN-Server “stun.nextcloud.com:443” zur Verfügung gestellt.
Bitte an dieser Stelle nicht STUN-und TURN-Server verwechseln. (Fehlerquelle?)

Keinesfalls habe ich C-Rieger kritisiert, es ist eben so bei Einzelkämpferlösungen. Krank, Job, keine Lust, alles möglich, ich erwarte doch nichts.

Reiner_Nippes arbeitet nicht alleine an dem Projekt, 10 Entwickler sind zur Zeit beteiligt:

@u_n_glaublich
Nutzt Du auch Nginx? Hast Du deine Installationen optimiert?

Ja, “131.34.45.77” könnte eine gültige IPv4-Adresse sein. Und die Eingabe in der Form könnte auch richtig sein. Nur steht “fqdn” nicht für IPv4-Adresse. (https://www.abkuerzungen.com/abkuerzung/FQDN)

Die IPv4 Adresse war von mir ausgedacht.

Was meint Reiner_Nippes damit?

Wie trage ich IPv6 Adressen ein?

Nein, ich nutze kein Nginx. Warum? Weil meine Systeme seit ca. 20 Jahren auf Apache ausgelegt sind.

Nginx soll perfomanter als Apache2.

Nginx war der Grund mich mit " Ansible - Playbooks nach Reiner_Nippes" auseinander zu setzen. Zudem möchte ich Ansible kennen lernen. Nextcloud ist ein schöner Fall dafür.

SOLL, IST, KÖNNTE SEIN? Es kommt - wie im wahren Leben - immer darauf an.

https://www.ansible.com/community ist in dem Fall bestimmt ein sehr gute Anlaufstelle.

Meine Meinung bilde ich mir gerade.
Die Standardinstallationen (Apache2 / MariaDB) funktionieren.

Dann mal wieder zum Topic:

Kurzer Blick ins Playbook:

fqdn = nc.example.org

“nextcloud_fqdn” konnte ich da bisher nicht finden. Wo steht diese Variable?

Das unter Role Variables – All variables are defined in inventory file.

# Your Nextcloud Server Domain Name

# Default is the fqdn of the Machine
nextcloud_fqdn          = nextcloud.toplevel.domain

# Selfsigned Certificate are Default
# nextcloud_certificate_type  = 'selfsigned

@u_n_glaublich
Wo hast Du im Playbook geschaut?

Da steht unter “Role Variables” bei mir:

Aber

kann ich da nicht finden. Da finde ich auch nichts, dass man an der Stelle nextcloud_fqdn = eintragen soll.

Von den Socken bin ich, copy and paste habe ich genutzt, jetzt finde ich es nicht mehr.

Ob das evtl. geändert wurde?

Die README.md wurde vor 16 Tagen geändert.

Jetzt gefunden:

httpxxxxs://github.com/ReinerNippes/nextcloud/tree/nextcloud-reloaded

Version 2.0

@ReinerNippes ReinerNippes released this on 27 Jun 2019 · 106 commits to master since this release

16 days ago

Git stats

Imgur

Unter diesem Link, vermutlich veraltet sieht es anders aus:

Was ist nun richtig, ich bin verdaddert?

@u_n_glaublich
Ich glaube Du warst auf der falschen Seite, was läuft hier falsch?

du hast den falschen branch erwischt.

doch. weil mein anspruch war, alles gleich mit zu installieren. (talk, elastic search, beide online suiten)

die simple frage “wie heiße ich?” lässt sich für eine linux büchse nicht leicht lösen. hostname ist nur eine der möglichen antworten. normalerweise installiert man ein linux. setzt den gewünschten dns und trägt den dann im inventory ein. dieser wird dann an mehreren stellen im playbook verwendet. zum einen in der web server konfig, beim zertifkate erstellen und in der nextcloud config.

wenn man aber in der cloud z.b. aws einen vserver hochfährt, ohne dynamisches, automatisches dns, ist hostname definitiv die falsche antwort auf die frage: wie soll die nextcloud fqdn heißen.

wenn man die variable leer lässt, versucht das playbook einen sinnvollen namen zu verwenden. das muss aber nicht funktionieren.

das ist ein bisschen doof. (und sicher ein grund warum keiner ein installationsskript schreibt, welches jemals perfekt sein wird. weil jeder was anderes will.)

wenn ansible eine ipv6 adresse auf dem system findet, wird eine entsprechende zeile (19) in die nextcloud.conf von nginx eingefügt. um das noch was schöner zu machen, könnte man noch eine variable enable_ipv6 ins inventory aufnehmen, um das zu unterbinden, wenn man kein ipv6 will. (meine antwort wäre: dann disable ipv6 doch vorher.)

nginx lauscht dann aber auf “server {{ nextcloud_fqdn }}” zeile 20. und dort steht nur die ipv4 adresse, wenn man nur die ipv4 adresse eingibt.

deine frage war: “was muss ich minimal eingeben?”

minimal kommt das playbook sicher mit einer ipv4 ans ziel.

dann ist aber nicht vorgesehen eine ipv4 und eine ipv6 einzugeben.

wenn man alle diese if-then-else berücksichtigen würde, wäre man nie fertig.

und deshalb schreibt sich jeder, der es kann, sein eigenes install skript/playbook.

1 Like

Wird coturn auch direkt als STUN-Server konfiguriert? Benötigt wird es ja nicht zwingend.