Nextcloud mit aktuellen Webhosting-Tarifen

  • Servus zusammen,


    kann ich mich einbringen?


    Ich wollte occ nutzen um NC in und aus dem Maintenancemode zu holen.

    Dazu habe ich auch eine und damit das funktioniert habe ich auch im Nextcloud config Verzeichnis die Datei datadirectory.config.php erstellt:

    PHP
    1. <?php
    2. if (\OC::$CLI) {
    3. $CONFIG['datadirectory'] = '/httpdocs/nextcloud/data';
    4. } else {
    5. $CONFIG['datadirectory'] = '/var/www/vhosts/hostingxxxxxx.axxxx.netcup.net/httpdocs/nextcloud/data';
    6. }

    Jetzt läuft cli occ ohne Probleme:

    Code
    1. php -d memory_limit=512M /httpdocs/nextcloud/occ status


    Zum Backup

    a) Erstellen einer Konfigdatei für mysqldump, mysql.pwd

    Code
    1. [mysqldump]
    2. password='yourdbpassword'


    b) Erstellen der Datensicherung

    Code
    1. php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:mode --on
    2. tar -cpzf /home/zz_backup/ncdata_`date +"%w"`.tar.gz -C /httpdocs/nextcloud/data .
    3. tar --exclude='./data' -cpzf /home/zz_backup/ncweb_`date +"%w"`.tar.gz -C /httpdocs/nextcloud/ .
    4. mysqldump --defaults-extra-file=./mysql.pwd --single-transaction -h 'mysqlip' -P 3306 -u 'dbusername' dbname | gzip -9 > /home/zz_backup/ncdb_`date +"%w"`.sql.gz
    5. php -d memory_limit=512M /httpdocs/nextcloud/occ maintenance:mode --off

    Viele Grüße aus dem regnerischen Bayern

  • Hallo Netcup-Gemeinde,


    ich nutze Nextcloud 18.0.3 mit php7.4 und aktuell wird die Log-Datei mit dem php-Fehler

    Code
    1. Zend OPcache can't be temporary enabled (it may be only disabled till the end of request) at Unknown#0

    regelrecht vollgespammt - mehrere Meldungen pro Sekunde. Kann das jemand bestätigen oder hat jemand einen Lösungsvorschlag?


    Ich habe die Anpassungen von killerbees19 übernommen.

  • psd.phi Habe ich bei mir so noch nicht gesehen. Kannst Du mal eine Testdatei z.B. info.php irgendwo außerhalb von Nextcloud anlegen und diese aufrufen?

    PHP
    1. <?php
    2. ini_set('display_errors', 1);
    3. error_reporting(-1);
    4. phpinfo();

    Siehst Du da im Browser ebenfalls eine Fehlermeldung?


    Zur Sicherheit bitte auch mal display_errors und log_errors in Plesk aktivieren (auf On setzen): https://raw.githubusercontent.…screenshots/plesk/php.png


    Und danach mal ins Fehlerprotokoll unter /logs/ schauen, ob dort etwas zu finden ist, was zum Aufruf der info.php passt.

  • Dann kommt kein entsprechender Fehler. Eventuell eine alte Einstellungen, die bei einem Update von Plesk (?) übernommen wurde und jetzt den Fehler verursacht.

    Ich korrigiere (habe in den falschen Ordner unter /logs geschaut): es kommt die gleiche Fehlermeldung.

    Code
    1. [Tue Mar 31 20:27:53.313542 2020] [fcgid:warn] [pid 27086] [client XXXXXXXX:49636] mod_fcgid: stderr: PHP Warning: Zend OPcache can't be temporary enabled (it may be only disabled till the end of request) in Unknown on line 0
  • Ich wollte occ nutzen um NC in und aus dem Maintenancemode zu holen.

    Dazu habe ich auch eine und damit das funktioniert habe ich auch im Nextcloud config Verzeichnis die Datei datadirectory.config.php erstellt:

    PHP
    1. <?php
    2. if (\OC::$CLI) {
    3. $CONFIG['datadirectory'] = '/httpdocs/nextcloud/data';
    4. } else {
    5. $CONFIG['datadirectory'] = '/var/www/vhosts/hostingxxxxxx.axxxx.netcup.net/httpdocs/nextcloud/data';
    6. }

    Jetzt läuft cli occ ohne Probleme:

    Code
    1. php -d memory_limit=512M /httpdocs/nextcloud/occ status

    Ich bin mir nicht sicher, ob das alles notwendig ist.
    Wenn du OC::$SERVERROOT vor den Pfad des datadirectory setzt, funktionieren bei mir sowohl occ als auch cron:

    Code
    1. 'datadirectory' => OC::$SERVERROOT . '/data',

    Analog funktioniert das bei mir auch für den Ordner tmp oder einen Ordner für selbst installierte Apps.


    Konntest du bei dir denn messbare Performancevorteile o.ä. feststellen, wenn du occ mit der Erhöhung des memory_limits aufrufst?

  • Das Script ist in genau diesem Repo enthalten. Ich verwende diesen Wrapper hauptsächlich für eine bestimmte PHP-Version und angepasste php.ini :)


    NC20 habe ich noch nicht getestet. Ich bin noch auf v18. Fürs Upgrade oder eine wenigstens Testinstallation werde ich vor Dezember auch keine Zeit haben.


    Bezüglich Cron-Problem, siehe Nachbarthread. Da habe ich gerade etwas dazu geschrieben.

  • Das Script ist in genau diesem Repo enthalten. Ich verwende diesen Wrapper hauptsächlich für eine bestimmte PHP-Version und angepasste php.ini :)


    NC20 habe ich noch nicht getestet. Ich bin noch auf v18. Fürs Upgrade oder eine wenigstens Testinstallation werde ich vor Dezember auch keine Zeit haben.


    Bezüglich Cron-Problem, siehe Nachbarthread. Da habe ich gerade etwas dazu geschrieben.

    Vielen Dank. Hab gesehen, du hast auch eine php.ini-Vorlage. Also Nextcloud läuft ohne Probleme, wenn exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source deaktiviert sind?

    Hast du diese Funktionen nur für http oder auch für CLI deaktiviert?


    P.S. Ich glaube, die mit pcntl_ davor sind bereits deaktiviert.

  • Also Nextcloud läuft ohne Probleme, wenn exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source deaktiviert sind?

    v18: Ja


    Neuere habe ich wie gesagt noch nicht getestet.


    Ist für CLI (siehe php.ini aus dem Repo) und HTTP (über den Support) deaktiviert.

  • Ist für CLI (siehe php.ini aus dem Repo) und HTTP (über den Support) deaktiviert.

    Danke für die Antwort.

    Das wusste ich bis jetzt nicht: Mit deiner php.ini kannst du php CLI selbst konfigurieren? (http nur über Support)

    Und das bezieht sich auf einen Webhosting-Tarif?

    Wo genau legst du die php.ini denn ab (Pfad)?

    Bei mir im Webhosting kann ich z.B. die phpversion in /conf/phpversion ändern, der Link ändert sich leider nicht. Dachte daher immer, sowas hätte im Webhosting keinen Effekt und müsste immer über den Support laufen.

    Und kann ich für einzelne (Subdomain-)Ordner Ausnahmen für die php CLI Einstellungen erstellen? (Wie?)

    Vielen Dank. Hab ich wieder was gelernt.

  • Genau deshalb verwende ich ja das verlinkte Wrapper-Script für den Cronjob und den OCC-Befehl. :) Dort wird mittels -c die eigene php.ini angegeben und auch gezielt eine bestimmte PHP-Version ausgeführt. Dafür existiert ein eigener Symlink je Subdomain/Projekt.


    Einen ähnlichen Wrapper könnte man sich auch generell für php basteln, wenn man das Script z.B. in /home/bin ablegt und den $PATH entsprechend ergänzt. Dann wird nach einem Binary zuerst dort gesucht und dieses ausgeführt. Siehe die Datei .profile sowie die ganzen Dot-Dateien in /home. Das ist für SSH wirklich praktisch. Bei Cronjobs bzw. absoluten Pfaden in anderen Scripten wird es jedoch schwierig(er), das müsste man sich im Detail ansehen.


    Man kann im Webhosting sogar selbst kompilierte C-Programme hochladen und ausführen, wenn die notwendigen Libraries und/oder API-Schnittstellen verfügbar sind. (Siehe Notizen im längsten Thema.)

  • Ok, das klingt sehr interessant. Find die Infos auf github auch sehr inspirierend. Ist vielleicht sogar mehr, als meine Bedürfnisse erfordern bzw. meine Fähigkeiten zulassen. :)

    Liegt dein NC data-Verzeichnis eigentlich außerhalb/oberhalb deines Nextcloud-Ordners? Falls ja, wie schaffst du es, dass NC trotz open_basedir darauf darauf zugreifen kann?

    Oder ist es wieder dein Wrapper, der das erlaubt?

  • Nein, mein data-Verzeichnis liegt am üblichen Ort und somit innerhalb des Docroots der Subdomain. So ist es auch konfiguriert, ohne dass man absolute Pfade eintragen muss: https://github.com/froonix/web…ud/config/data.config.php


    Heißt übersetzt: Eine Ebene höher als __DIR__, was sich auf den config-Ordner bezieht.