ich beschäftige mich schon länger mit dem Hosting von Nextcloud auf einem LEMP-Stack (Linux, nginx, MariaDB, PHP). Meine Erfahrungen habe ich nun in ein Tutorial zusammengefasst, welches die komplette Installation, Einrichtung und Optimierung des Systems und v.a. Nextcloud zeigt.
Neben der Verwendung von Ubuntu Server, nginx, PostgreSQL/MariaDB und PHP behandelt der Artikel das Erzeugen einen SSL-Zertifikats mit Let’s Encrypt und die weitere Optimierung der Cloud mittels Fail2ban und Redis.
Die Anleitung richtet sich v.a. an Leute, die bisher noch wenig Erfahrung mit Linux sammeln konnten. Daher ist es nicht nur eine reine Auflistung an Befehlen und Datei-Inhalten, sondern ich habe versucht, genügend Erklärungen und Hintergrundinfos in den Artikel einzubauen. Nach dem “Durcharbeiten” des Tutorials sollte daher genügend Grundverständnis der Materie vorhanden sein, dass evtl. auftretende Probleme schnell selbst behoben werden können.
Update: Neuer Artikel basierend auf Ubuntu Server 20.04 LTS.
Update 2 (26.05.2022): Ein neuer Artikel ist verfĂĽgbar, der auf Ubuntu 22.04 LTS basiert.
Der komplette Artikel ist hier zu finden:
Ich freue mich immer über Feedback, Verbesserungsvorschläge oder konstruktive Kritik.
Ich muss sagen Hammer, sehr schöne und ausführliche Anleitung. Ich dacht mir liest die mal eben durch wie lang kann die schon sein Habe mich dann aber doch dazu entschieden sie nur zu überfliegen.
Ich selber sehe mich zwar nicht als Profi aber ich muss sagen damit sollte wirklich jeder was anfangen könne und hinterher auch wissen was er gemacht hat.
Der Thread war ursprünglich auch im deutschen Teil des Forums. War nicht ganz sicher, wo er am besten aufgehoben ist. Wurde dann von einem Admin nach howto verschoben. Ich denke, man wird ihn auch hier ganz gut finden…
aber siehste mal…
suchen würde ich ihn - wenn englisch - unter howto. klar. vielleicht also, um es ganz schön zu machen (so wie dein tutorial wirklich wunderbar ausführlich ist), noch einen thread im deutschen forum starten mit einem link hierhin?
Yup feel free to pop a topic in the German category linking here, though I don’t see the point in separating out how-to into multiple languages (just yet) - you’ll find it if you’re looking either way
Ich glaube irgendwo habe ich das schon einmal bemängelt. Warum installierst du den Webserver und Datenbank-Server aus fremden Quellen? Sind da wirklich funktionen oder Bugs die das notwendig machen? Ich würde das nur machen, wenn es wirklich einen großen Vorteil bringt, sonst hat das eher einen negativen Einfluss auf die Systemstabilität und ggf. Sicherheit (bietet nginx so lange Sicherheits-Fixes für diese Ubuntu Version wie der LTS-Support).
Die aktuellen Debian/Ubunutu-Versionen sind aktuell genug, damit das ordentlich läuft. Wenn man wirklich eher auf neuere Pakete setzen möchte, würde ich lieber ein System wählen, das darauf ausgelegt ist (z.B. archlinux oder FreeBSD).
Ansonsten wirklich tolles und ziemlich vollständiges Tutorial.
ich denke, dass kein großes Risiko davon ausgeht, wenn die offiziellen Paketquellen von nginx/MariaDB hinzugefügt werden. Ich hatte mit diesen Paketen bisher noch nie Probleme. Es wird ja auch erwähnt, dass man auch die Versionen aus den Ubuntu-Paketquellen nehmen kann. Für eine aktuellere Version dann eben die offiziellen Paketquellen der Hersteller. Ich denke, dass das mehr oder weniger Geschmacksache ist.
Wovon ich dagegen immer abrate sind PPA-Quellen (dadurch wäre ja auch PHP 7.1 möglich gewesen).
Der Artikel ist genial und ich habe ihn nur durch Zufall gefunden. Für mich gehört der im Deutschen Forum gleich oben an gepinnt, kein Mensch kommt drauf so etwas in den Englischen HowTo zu suchen. Aber ich fürchte mal das ist auch nicht erwünscht. Na ja, zumindest ist hier überhaupt noch deutsch zu lesen.Danke an DecaTec für die tolle Arbeit. Schade das er es nicht im deutschen Teil lassen durfte.
Update: Neuer Artikel - nun basierend auf Ubuntu 20.04 LTS
Wichtige Ă„nderung: Das Setup installiert Nextcloud nun nicht mehr in einem Unterverzeichnis, sondern direkt auf dem Web-Root. Diese Ă„nderung habe ich auf Grund der groĂźen Nachfrage nach einem solchen Setup eingefĂĽhrt.
Wie immer sind konstruktive Kritik und Verbesserungsvorschläge erwünscht.
Update: Neuer Artikel, basierend auf Ubuntu Server 22.04 LTS
Neben der neuen Ubuntu-Version als Unterbau enthält der Artikel erstmals Schritte zur Nutzung von PostgreSQL als Datenbank-System (als Alternative zu MariaDB).
Wichtig: Da schon auf PHP 8.1 gesetzt wird, sind die im Artikel gezeigten Schritte erst ab Nextcloud 24 umsetzbar.
zunächst muss ich sagen, dass ich kein Experte bin, was Nextcloud/Docker angeht, da ich hier um Docker eher einen Bogen mache.
Die Fehlermeldung, die du im verlinkten Thread erwähnst, klingt allerdings eher danach, dass dem Raspi das RAM ausgeht.
Die php.ini sollte im Docker schon soweit optimiert sein. Kontrollieren kannst du das in der Admin-UI der Nextcloud: Wenn hier keine Warnung bzgl. des Memory Limits bei PHP angezeigt wird, dann ist hier alles richtig konfiguriert.
Wenn es keine Warnungen in der Admin-UI gibt, dann wĂĽrde ich mal sagen, dass dem Raspi der RAM ausgeht.
Wie hoch ist die RAM-Auslastung im Durchschnitt?
OK, ist zwar mittlerweile etwas Offtopic, aber hier gibt es schon mehrere Threads bzgl. dieser Fehlermeldung. Anscheinend wurde bei den meisten Fällen kein Eintrag apc.enable_cli=1 in der php.ini (CLI) hinterlegt.
Kannst ja mal ĂĽberprĂĽfen, ob das in deiner php.ini (CLI) angegeben ist (direkt im Docker-Container). Welche Datei das genau ist, kann ich dir aber leider nicht sagen, da kenne ich mich zu wenig mit der Docker-Variante von Nextcloud aus.