Nextcloud:

ral9004

Lieutenant
Registriert
Dez. 2017
Beiträge
585
Hallo

Ich starte gerade einen Versuch Nextcloud auf Debian Mint zu installieren. Dazu verwende ich die Checkliste von IONOS.

In der Checkliste stehe ich jetzt an diesem Punkt:

Code:
sudo nano /etc/php/8.2/apache2/php.ini

Jetzt nehmen Sie einige Änderungen vor und passen die Konfiguration an Ihre Erfordernisse an. Je nachdem, wie Sie Nextcloud mit Debian 12 nutzen möchten, können andere Werte empfehlenswert sein. In diesem Fall verändern Sie die Einstellungen nach Ihren Vorstellungen. Die jeweiligen Befehle sehen aus wie folgt.

Stellen Sie im ersten Schritt die Zeitzone ein:

Code:
data.timezone = Europe/Amsterdam

Leider finde Nano in dieser Datei keine Zeile die "data." oder "timezone" enthält.

Kann mir jemand den Kontext zu diesem Sachverhalt geben?
Danke

Grüsse
 
Dann schreib sie da exakt so rein.

sonst kanns tdu auch in /etc/php/8.2/ gehen und dort grep -iran timezone * machen - dann siehst du ob sie woanders schon steht und eingebunden wird
 
  • Gefällt mir
Reaktionen: Poulton, Gurkenwasser und madmax2010
es gibt von Nextcloud extrem viele unterschiedliche Packages, die sich alle anders verhalten.
Sicher dass du die verwendest, die IONOS hier beschreibt?

Ich bin fast durchgedreht, bis mir ein befreundeter SW-Entwickler die Nextcloud AiO ans Herz gelegt hat.
Damit ist es echt super easy, der enthaltene Docker Mastercontainer managed die einzelnen Nextcloud Container.
Schau mal ob die AiO für dich eine Option wäre.
 
madmax2010 schrieb:
Dann schreib sie da exakt so rein.
Hallo

Wo schreibe ich diese Konfiguration hin?
Gibt es da keine Struktur oder Gliederung die ich beachten müsste?

GRüsse
 
Die Dokumentation von Nextcloud ist sehr gut, nimm doch bitte die, anstatt Irgendeine von Dritten.
https://docs.nextcloud.com/server/stable/admin_manual/

Und auch wenn man Zeitzonen festlegen kann würde ich davon abraten. Es gibt mehr als eine php.ini, mindestens je zwei für php und php-cli (php fürs Terminal) und dann nochmal zwei für php-fpm und dessen Cli-Variante. Wenn du da keinen einheitlichen Stand hast kann es zu Problemen kommen. Daher würde ich für Serverrollen immer folgende Regel anwenden:
Alles läuft auf UTC! Betriebssystem, Webserver, PHP, Datenbank und erst die Anwendung darf dann die Anzeige auf die Zeitzonen mappen.
 
  • Gefällt mir
Reaktionen: Poulton, madmax2010, axl foli und eine weitere Person
Rickmer schrieb:
Starte mit dem aktuell empfohlenen PHP 8.3 oder direkt 8.4, sonst darfst du in Kürze ein php Versionsupdate durchführen
In der Anleitung steht dieser Befehl zur Inst von PHP. Wie soll ich das auf 8.4 ändern?

Code:
sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
 
in eigene Zeile. sonst passt das

Rickmer schrieb:
Ich würde keine neue Nextcloud Instanz mehr mit PHP 8.2 installieren, das ist kurz vor deprecated.
damit hat er ueberigens recht.
Nim direkt 8.4, dann hast du bis ende 2028 Ruhe.
 
h00bi schrieb:
Sicher dass du die verwendest, die IONOS hier beschreibt?
Die Installaiton beginnt mit Apache.
Danach PHP. Und klemmt es bereits.

Nextcloud über Docker wollte ich eigentlich vermeiden. Einfach weil es mir nicht einleuchtet, noch eine SW Schicht zwischen Linux und einem Server zu legen. Linux wurde doch genau für Server Anwendungen entwickelt.

Aber Deinen Rat habe ich mir notiert. Wenn ich nicht asap zum Ziel komme, dann über Docker
 
Welche PHP-Version zum Einsatz kommen sollte, hängt vor allem davon ab, welche PHP-Version Debian in den Paketquellen anbietet. Grundlegend stimmt aber der Tenor, bei der Neuinstallation sollte man auf eine möglichst neue Version setzen und dann bei Updates darauf achten PHP-Nachzuziehen SAMT Configfiles.



Und die Configfiles mit viel Prosaerläuterungen haben meist keine Struktur. Daher die Reihenfolge wie welcher Parameter kommt ist egal. Hauptsache "Paramater=Wert" steht am Anfang einer Zeile und ist nicht auskommentiert (# kein am Zeilenanfang).
Ich würde für händig eingetragene Parameter empfehlen einen Block am Ende der Datei einzufügen.
 
ral9004 schrieb:
Nextcloud über Docker wollte ich eigentlich vermeiden. Einfach weil es mir nicht einleuchtet, noch eine SW Schicht zwischen Linux und einem Server zu legen. Linux wurde doch genau für Server Anwendungen entwickelt.
Bitte was? Was ist das denn für ein Argument. Ganz zufällig ist die Installation mit Docker um ein vielfaches simpler und dazu noch kein Stress mit den PHP Versionen. Mit Docker/Kubernetes werden ganze Landschaften/Dienste ausgerollt. Weiterhin kannst du dir ein schickes Docker-Compose File bauen und sehr einfach weitere Dienste auf deinem Linux hosten, ganz ohne, dass die sich in die Quere kommen.
Du solltest dich erstmal über Technologien schlau machen, bevor du anfängst Dienste auszurollen.
Dienste nach der alten Methode macht eigentlich niemand mehr. Viel zu umständlich.
 
Die Direktive heißt date.timezone, nicht data und ist bei einer PHP 8.2 php.ini ungefähr bei Zeile 980.

In Debian 12 gibt es nur PHP 8.2 und große Versionssprünge wird es innerhalb einer Debian Version auch nicht geben. Das liegt daran das Debian eine stabile Distribution ist. Will man Software die Debian nicht selbst bereit stellt muss man externe Paketquellen einbinden, für PHP ist insbesondere sury zu nennen. Würde ich einem Anfänger aber von abraten. PHP 8.2 wird ja unterstützt also erstmal nichts unnötig verkomplizieren.

ral9004 schrieb:
Gibt es da keine Struktur oder Gliederung die ich beachten müsste?
Die Gliederung dieser Datei ist INI, erkennbar an der Datei-Erweiterungen .ini am Ende des Dateinamens.

Piktogramm schrieb:
Es gibt mehr als eine php.ini, mindestens je zwei für php und php-cli (php fürs Terminal) und dann nochmal zwei für php-fpm und dessen Cli-Variante.
FPM ist die Variante, davon gibt es keine "Cli-Variante". Die Varianten sind apache2, cli und fpm. Die php.ini findet sich bei Debian jeweils unter /etc/php/<version>/<variante>/php.ini.

Etwas nervig ist aber durchaus das PHP eine extra Behandlung verlangt und die Zeitzone nochmal gesagt bekommen will anstatt einfach die gottverdammte Zeitzone aus den Systemeinstellungen zu benutzen an die sich jedes andere Programm auch hält.

axl foli schrieb:
Mit Docker/Kubernetes werden ganze Landschaften/Dienste ausgerollt.
Ja aber erst in dem Fall zeigt es auch seine wahren Stärken und eine ganze Landschaft an Diensten will er ja gar nicht.... Beim Betreiben eines einzelnen Servers fährt man mMn besser und zuverlässiger sich an die Software aus der Distribution zu halten. Da passen alle Versionen zusammen, die Konfiguration ist konsistent und ein apt upgrade oder unattended-upgrades allein reicht um alle Software auf dem System aktuell zu halten.

axl foli schrieb:
Weiterhin kannst du dir ein schickes Docker-Compose File bauen und sehr einfach weitere Dienste auf deinem Linux hosten, ganz ohne, dass die sich in die Quere kommen.
Wüsste jetzt nicht was sich da in die Quere kommt... apache2 und PHP sind ja schon von Haus aus darauf ausgelegt mehrere Websiten/Apps hosten zu können. Beachten muss man sonst eigentlich nur Ports, aber das musst du bei Docker services die du ans Internet exposen willst ja auch.

axl foli schrieb:
Dienste nach der alten Methode macht eigentlich niemand mehr. Viel zu umständlich.
Was glaubt du denn was in dem Container ist. Ziemlich häufig ein Betriebssystem wo genannte Software auf die "alte Methode" installiert wurde.

Nur dass viele Devs schlechte Sysadmins sind und von Deployment wenig Ahnung haben. Die fertigen Container images sind ziemlich mittelmäßig. Sicherheitspatzer, völlig überladen oder so minimal das man nicht debuggen kann. Dann Konfigurationen die doch nicht per Umgebungsvariable exposed sind so dass man da irgendwie reinpfuschen muss. Schleppende Updates, veraltetes Basis-OS, inkonsistente Systemkonfiguration da abweichendes OS.

Und am Ende hat man dann 17 verschiedene Versionen von OpenSSL auf seinem Server. D.h. 17x Speicherplatz belegt, 17x RAM-Verbrauch und 17x so viele Updates um eine Sicherheitslücke zu beheben. Naja, wers mag.

Fortgeschrittenen Nutzern würde ich dazu raten ihre Container selbst zu bauen, auf einem einheitlichen Basis image. Um die Container zu erstellen muss man aber eben wissen wie die Software wirklich installiert und konfiguriert wird, nicht nur den Docker compose Vorhang / Umgebungsvariablen murks.
 
  • Gefällt mir
Reaktionen: andy_m4 und Piktogramm
Marco01_809 schrieb:
Was glaubt du denn was in dem Container ist. Ziemlich häufig ein Betriebssystem wo genannte Software auf die "alte Methode" installiert wurde.
Ja ach 🤣
Es geht doch am Ende darum wie es für Enduser ist.
Man man man, ich brauche die Docker-Welt nicht erklärt bekommen, ich kann das schon.
Der User scheint halt nur wenig Ahnung zu haben, da ist eine Installation mit Docker einfacher, ich finde, dass man das so stehen lassen kann.
Alternativ, geht auch ein Nextcloudserver per Snap, wenn man ein Ubuntuserver aufsetzen möchte. Ich mag Snap nicht besonders, möchte es aber auch genannt haben.
 
Marco01_809 schrieb:
FPM ist die Variante, davon gibt es keine "Cli-Variante". Die Varianten sind apache2, cli und fpm. Die php.ini findet sich bei Debian jeweils unter /etc/php/<version>/<variante>/php.ini.

Etwas nervig ist aber durchaus das PHP eine extra Behandlung verlangt und die Zeitzone nochmal gesagt bekommen will anstatt einfach die gottverdammte Zeitzone aus den Systemeinstellungen zu benutzen an die sich jedes andere Programm auch hält.
Stimmt, es gibt "nur" drei php.ini, nächstesmal schaue ich nach bevor ich Dinge schreibe. Ist trotzdem nervig genug und birgt das Risiko eine der .ini zu vergessen, spätestens beim Update.

Und Mit 8.2 wurde wohl das Verhalten geändert, statt sich die Zeitzone vom System zu ziehen ist der Default/Fallback "UTC": https://github.com/php/php-src/commit/6770158d474fa442ce55bba4ec32dd2703828b33
Imho die sinnvollste Einstellung. Größtes Problem ist noch, dass die Dokumentation lange nicht angepasst wurde: https://github.com/php/doc-en/pull/4017

Und für alles an Datenverarbeitung stattfindet und so Endnutzern nicht gezeigt wird gehört Zeit in UTC dargestellt.
 
  • Gefällt mir
Reaktionen: Marco01_809
@GrillSgt
Es ist mit einer der dümmeren Ideen Scripts laufen zu lassen um Anwendungen zu installieren, die danach im Netzwerk/Internet landen. Das kann man machen, nachdem man so ein Script verstanden hat, was bei Einzelinstallationen VIEL mehr Aufwand ist als einfach der offiziellen Dokumentation zu folgen.

Oder in Kurz: "Read the fucking Manual"
 
  • Gefällt mir
Reaktionen: Marco01_809
Zurück
Oben