Nextcloud installieren

Nextcloud installieren, aber wie -

Das war schon mein Thema bei Owncloud und ist es bei mir auch im Einstieg mit der Nextcloud 10/11 gewesen.

Da ich sehr viel experimentiert hatte und vieles ausprobieren wollte, stand ich immer wieder vor dieser Hürde. Eine stabile, “sichere” und voll funktionsfähige Nextcloud Installation durchzuführen war nicht immer ganz einfach. Also hatte ich mich damit beschäftigt, wie viele andere auch, dies über ein Installationsscript zu vereinfachen. Aber schnell ist dieses Script “groß” und unübersichtlich geworden.

Daraus entstand die Idee, dies über ein PHP Script zu ermöglichen. Die dafür nötigen Daten, Bash Script Zeilen, wurden dazu in einer MySQL Datenbank abgelegt. Somit war es möglich und einfacher, für unterschiedliche Systeme und Konfigurationen eine einzige Abfrage aufzubauen.
Leider ist dieses Vorhaben vor Jahren dann eingeschlafen.

Die letzten Tage habe ich dann, auf Grund eines Beitrages hier, diese PHP Seiten und Daten wieder ausgekramt und auf einer Website geladen.
Angepasst an Nextcloud 26/27/28 steht diese PHP Seite nun wieder Online.

https://s2011.de/nc_doku2/nc_install.php

Wer Interesse hat und es ausprobieren möchte - Nur zu.
Es stehen derzeit Installationen für
Debian 12 Bookworm und
Ubuntu LTS Server 20.04/22.04 zur Verfügung.

Die Seite ist sehr einfach gehalten und die Konfiguration sollte selbsterklärend sein.

Es besteht die Möglichkeit jeden Installationsschritt einzeln abzuarbeiten. Hierzu ist jeder Schritt zum “Copy & Paste” vorbereitet.
Sollte es einfacher erwünscht sein, läßt sich per WGET ein Installationsscript direkt in die Konsole laden.
Eine Variante mit umfassender Erklärung für jeden Schritt (mit Informationen und Pausen) und eine zweite (ohne Abfragen, ohne Pausen) bei der nur zum Schluss Sicherheitsfragen und -hinweise kommen.

Die Installation beinhaltet alles für den Betrieb einer Nextcloud, incl. Apache2, MariaDB, Redis, usw. Unter Apache2 werden sowohl Port 80 und auch Port 443 (https, SSL) eingerichtet. HTTP wird dauerhaft auf HTTPS umgeleitet (redirect).
Die Installation läuft mit einem “selbstsignierten Zertifikat” und ist für ein Zertifikat von Let’s Encrypt vorbereitet (certbot).

Bitte beachten!!!
Dies ist aus reinem Hobby entstanden und für Einsteiger sowie erweiterte Kenntnisse gedacht.
Auch übernehme ich keine Gewähr oder Funktionsgarantie!

Sollten Fehler auftauchen oder Änderungen sowie Erweiterungen gewünscht sein, können wir schauen wie dies umzusetzen ist.

Achso…
Wenn ich schon eine Nextcloud selbst hoste oder auf einem Hosting betreiben möchte, dann sollte sie auch etwas leisten. Meine Hauptanwendung lag schon immer im Bereich Fotografie und Bilder.
Daher sind Konfigurationen wie Nextcloud, Memcache, Redis, usw. für viele und große Fotos/Dateien vorbereitet. Sicher gibt es hier noch Veränderungs- und Verbesserungspotential.
Minimal würde ich ein 4Core System mit 8GB RAM empfehlen.
Richtig gut arbeiten läßt es sich mit 6Core und 16GB RAM. Übersichten und Previews werden hier “on the fly” richtig flott angezeigt.

4 Likes

Coole interaktive web site und nettes Script. :slight_smile:

Versuche mich auch schon seit einer Weile an einem Installationsscript, da ich aber keine Ahnung von Webentwicklung habe, habe ich den interaktiven Teill mit whiptail Dialogboxen gemacht.

Da ich aber von BASH scripts und whiptail bis vor ein paar Wochen auch nicht viel mehr Ahnung hatte als von Wenentwicklung und ich auch jetzt noch kein Experte bin, und ich einen Grossteil der eigentlichen Configs überall zusammengeklaut habe, bin ich noch nicht bereit es mit der Allgemeinheit zu teilen. :wink:

Oh, und vielleicht könntest du ja noch unzip zum ersten apt install command hinzufügen. Habe das Script dreimal gestartet, bis ich dann irgendwann auf die Idee gekommen bin, dass es am fehlenden unzip Paket in meinem LXC lag, dass ich die Seite nicht erreichen kann, wenn mich das Skript dazu auffordert. :wink:

Das “Script” ist auf Debian entwickelt und nachträglich an Ubuntu Server angepasst.
Wenn du ein LXC einsetzt, dann ist es nicht verwunderlich, dass etwas fehlt.

Liste mir noch weiter auf, was du bei jedem Installationsschritt geändert hast und wir nehmen LXC als Auswahlpunkt mit auf.

Hab das Proxmox Debian 12 LXC Image auf Proxmox VE verwendet, und nachdem ich unzip installiert habe, hat alles funktioniert. :slight_smile:

Wüsste jetzt nicht mit Sicherheit ob unzip standardmässig in den offiziellen Debian Cloud VM Images dabei ist oder bei einer minimalen Installation vom offiziellen ISO vorinstalliert wird, da ich immer das Traball verwendet habe. Aber ziemlich sicher ja schon. Die Proxmox LXCs sind da warscheinlich noch etwas minimalistischer.

Am Script habe ich gar nichts geändert. Habe folgende Variante verwendet…

wget -O nextcloud_install.sh 'https://s2011.de/nc_doku2/nc_install.php?php=php8.2&db=mariadb&typ=max&version=latest&app=app&distro=debian'

…die dann wie gesagt auch anstandslos funktioniert hat, nach einem apt install unzip. Ob es dazu eine Auswahl braucht, weiss ich nicht. Ich würde unzip einfach zu allen Varianten hinzufügen, passiert ja nichts wenn es schon installiert ist. Oder wenn du es “fancy” haben willst, kannst du das Script auch abfragen lassen, ob es installiert ist.

Danke bb77.

Hab das jetzt mal etwas zu Anfang zusammen gefasst.


Übrigens ist unzip im Debian Netinstall nicht vorhanden.

1 Like

Habe die Tage mal wieder die Seite benutzt um auf einen VPS Nextcloud zu installieren.

VPS ARM64
10 vCore
16GB
512GB NVMe

Nextcloud 29.x
Debian 12
PHP 8.3
MariaDB aus den Paketquellen
incl. den APPs

Bei den Hardwareresourcen sollte man dann doch noch etwas Hand anlegen und PHP, Redis und MariaDB besser anpassen/optimieren.
Bin recht überrascht gewesen, läuft immer noch einwandfrei.

https://s2011.de/nc_doku2/nc_install.php

Letzte Änderungen:

2024-09-01
getestet: NC 29.0.5, PHP8.3, MariaDB 11.x aus Repo, APPs
Download and apply the patch: wget https://github.com/nextcloud/server/pull/47378.patch
patch -p 1 < 47378.patch
rm 47378.patch
sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ maintenance:repair --include-expensive
sudo -u www-data php occ memories:places-setup
sudo -u www-data php occ memories:index --retry

2024-09-01
Sind die APPs ausgewählt wird auch NODE.JS installiert.
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt install -y nodejs

2024-08-01
/etc/apache2/sites-enabled/20_nextcloud-ssl.conf
Header always set Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”

Habe das Script jetzt auf einem

               ARM64
              10 vCore
              16 GB RAM
              1 TB NVMe

installiert, als Komplettpaket ohne Talk.
Rennt super :smile:

das einzige was mir bedenken halt macht ist das db-passwort das man es nicht konfigurieren kann. bin gerade bei der installation damit

arg man sollte vorher informiert werden das man das Passwort nach seinen wünschen festlegen kann…

Hallo @linux-helmut

Für mich als Laien ist das - also Dein Script - eine beeindruckende Leistung. Herzlichen Dank dafür.

Ich werde ihn gelegentlich mal für eine Teststellung nutzen.

Bei mir zuhause läuft eine gut funktionierende von extern erreichbar Hub 9 Instanz unter Ubuntu 24.04. Völlig fehlerfrei inkl. Volltextsuche und OnlyOffice. Die empfohlenen Sicherheits-Checks besteht sie mit einem A+ Rating.

Diese Instanz nutze ich um mein Homeoffice in den eigenen 4 Wänden zu betreiben. Heisst, dass ich ausschliesslich PDFs, Dokumente und Tabellen damit verwalte. Keine - oder wenn - nur ganz selten Photos.

Bei meinem Einsatz ist die Volltextsuche essentiell, weil ich grösstenteils keine selbsterklärenden Dateinahmen verwende. Zur Zeit sind es etwa 6’000 Dokumente, wovon jedes in Sekundenschnelle mit einem Stichwort gefunden werden kann.

Frage eines Laien an den Profi: Könnte man Deinen Script um die Volltextsuche sowie die Integration OnlyOffice - nicht nur die NC-App - sondern den nötigen Document-Server ergänzen?

In den weiten des Internets habe ich nur zwei wirklich funktionierende Anleitungen dazu gefunden. Jene von Decatec und Carsten Rieger - wobei ich meine Installation auf Basis von Carsten Rieger gemacht habe.

Wie siehst Du das?

Ist es technisch überhaupt möglich, die 3 Elemente (NC-Hub9, OnlyOffice inkl. Document-Server und Volltextsuche) in einen Script zu packen?

Da es noch einiges an “Verbesserungspotential” gibt, wäre auch das eine Möglichkeit.

Bastel zur Zeit an einer Lösung, diese und andere Parameter als Benutzereingaben auf der Seite zu machen.

Hatte mal eine Lösung um den Documenten Server und die App mit zu installieren und einzurichten. Da sich dann einiges an Onlyoffice verändert hatte und die Installation nicht mehr einwandfrei funktionieren wollte, hatte ich es wieder heraus genommen.
Wirklich “gute” Lösungen hatte ich dann auch nicht mehr gefunden und mich da sicherlich genauso schwer getan wie du.

Heute würde ich den Docuemntserver als Docker Container laufen lassen. Der ist vorgefertigt und lässt sich local genauso gut einbinden.
Da ich aber beruflich auf MS-Office angewiesen bin, ruht das Projekt vorerst.

Nachtrag:
Mit der Volltextsuche habe ich mich noch nicht wirklich beschäftigt. Höre aber immer wieder von anderen, dass die sehr Leistungshungrig ist.

@linux-helmut

Vielen Dank für Deine Einschätzung zur Erweiterung des Scrips. Das passt für mich.

Was die Leistungsbedarf der Volltextsuche betrifft, kann ich das schlecht einschätzen. Meine Instanz läuft auf einem separaten ASUS Mini-PC mit genügend Leistungsreserven - 32GB RAM und AMD Ryzen 7 Prozessor. Da läuft sonst nichts. Abgesehen von OnlyOffice und Volltext-Suche.

Selbst die erste Indizierung aller rund 6’000 PDF’s liefe ohne Probleme im Hintergrund durch. Im täglichen Einsatz kommen nur noch geringe Mengen an neuen Dokumenten hinzu. Das geht sehr zügig. Kaum ist ein Dokument hochgeladen, kann ich das schon mit einem Stichwort finden. Das dauert gefühlt keine Minute.

Aber auf einem Pi würde man wohl schon an die Grenze kommen.

Inzwischen habe ich mir einen Leitfaden erstellt, damit ich basierend auf der Anleitung von Carsten Rieger eine komplette Nextcloud Instanz mit OnlyOffice und Volltextsuche in maximal 2 Stunden bereitstellen kann. Da danach immer mal wieder die selben Fehler auftreten, sind diese rasch behoben.

Ich bin weit davon entfernt ein Profi zu sein. Aber tatsächlich wage ich mich schon an die Config.php oder andere Files heran und das ganz ohne Blindflug, sondern (meistens) im Wissen was ich tue :slight_smile:

Da ich ein Absoluter Backup-Junkie bin, wäre auch ein völliges zerschiessen der produktiven Instanz kein Problem. Alle Daten sind doppelt und 3-fach gesichert. Und ich würde lügen, wenn ich sagen würde, dass das nicht schon passiert ist - also das zerschießen.

Momentan denke ich darüber nach, ob es zielführend ist, eine zweite Instanz - andere Hardware - parallel zu betreiben. Aber das wäre wohl im privaten Umfeld mit Kanonen auf Spatzen geschossen.

Beste Grüsse

Zum experimentieren reicht da doch schon ein vServer -

Auf einem AMD Ryzen 7 mit 32GB RAM kannst du doch locker mehrere VMs betreiben. Ich meine das ist ja schon fast Verschwendung so eine Kiste nur für Nextcloud zu nutzen. :wink:

Mein Server ist immer noch ein E3-1240v5 (Skylake Generation) mit nur 4 Cores/8 Threads, allerdings mit 64GB Ram und darauf laufen 8 “produktive” VMs. “Produktiv” in Anführungszeichen, weil es “nur” für den Heimgebrauch ist. “Nur” in Anführungszeichen, weil vor allem die Nextcloud für mich und meine Freundin unverzichtbar geworden ist :slight_smile:

Auf deiner Kiste könntest du also locker zwei Nextcloud VMs mit FTS betreiben (eine produktiv und eine zum Testen) und noch ein paar kleinere VMs oder LXC Container für weitere Dienste. Und falls es knapp wird, RAM ist billig, und dein Ryzen unterstützt sicher 64GB oder evtl. sogar 128GB RAM.

Den grössten Vorteil von VMs, gerade wenn du dich noch nicht so sicher fühlst, habe ich aber gar noch nicht genannt:

Du kannst von den VMs Snapshots machen, bevor du z.B. die Nextcloud updatetst oder etwas testest, und dann innerhalb von Sekunden wieder auf den alten Stand zurückrollen, falls etwas schief gelaufen ist. Das hat mir, vorallem am Anfang, mehr als einmal den Popo gerettet. :wink:

Vielen Dank für die Anregung VMs zu nutzen. Darüber muss ich mir wirklich noch Gedanken machen. Leistungsreserven sind in der Tat genügend vorhanden und RAM könnte noch aufgestockt werden.

Auf der aktuellen Maschine läuft wie gesagt ein Ubuntu Server 24.04. also ohne Desktop. Darin mit VMs ohne graphische Oberfläche zu arbeiten traue ich mir nicht zu.

Wäre es ein kluges Szenario, hier auf den Unterbau Proxmox zu wechseln?

Ich habe damit vor einiger Zeit mal rumgespielt und bin ganz gut zurecht gekommen.

Ich würde dann quasi ganz bei Null beginnen. Die Maschine komplett mit Proxmox neu aufsetzen, Nextcloud 1 in einer VM und Nextcloud 2 (Test) in einer weiteren VM installieren. Am Router dann die Ports 80/443/8443 auf NC 1.

Backups und Snapshot könnten dann via Proxmox gemacht werden. Weitere VMs - nach aufrüsten RAM auf 64GB oder 128 GB wären dann ja problemlos möglich.

Ich finde ja, und ich hätte noch explizit erwähnen können, dass ich selbst auch Proxmox nutze.

Btw. Als ich frisch mit Nextcloud gestartet bin, hatte ich die Nextcloud zuerst auf einem Mini PC mit einem Celeron und 8GB installiert, und habe Proxmox für nur diese eine VM installiert. Einerseits um Proxmox kennezulernen, aber auch wegen den Vorteilen, die Virtualisierung einfach bietet, wie der schon genannten Snapshots oder der integrierten Backupfunktion.

Dann würde ich sagen, go for it! :slight_smile:

Ja würde ich so machen. Rein theoretisch gäbe es auch Mittel und Wege aus eine Baremetalinstallation ein VM Image zu erstellen, das du danach auf Proxmox laufen lassen könntest, habe ich aber selbst nie gemacht, und würde ich nur machen, wenn es absolut zwingend notwendig ist, bzw. der Aufwand einer Neuinstallation deutlich höher wäre.

Jup. :slight_smile: Und mit Backup und Restore, kannst du auch auch ganz einafch alles auf eine neue/andere Proxmox Installation migrieren, falls mal der Server abraucht, oder du rgendwann in der Zukunft neue Hardware kaufst.

1 Like

Herzlichen Dank für Deine Zeilen. :slight_smile: Dann passt das ja alles zusammen und ich kann am kommenden Wochenende umsetzen. :slight_smile:

1 Like

Kann den anderen nur zustimmen. Hatte selber viele Jahre einen Xeon laufen. Für NC alleine vollkommen überdimensioniert, aber verdammt ordentlich Leistungsreserven. Da war auch das Live Streaming mit FFMPEG kein Problem.
Auf einer VM hatte ich einen Apache Proxy laufen. So ging das mit mehreren NC Instanzen auch sehr gut und die ganzen “Angriffe” aus dem Netz hat der Proxy auch sehr gut abgefangen.

Leider ist die Kiste nach >5 Jahren 24/7 abgeraucht.
Nun läuft viele über Online vServer. Die kosten im Monat weniger als der eigene Server an Strom gefressen hat.

Aber dann hast du ja genügen Reserven um das Script ausführlich zu testen. Wenn dann noch Verbesserungsvorschläge bei raus kommen -

1 Like