Occ nicht installiert?

Hallo zusammen,

ich habe leider das gleiche Problem und habe schon einige Ideen zur Lösung gefunden. Leider läuft es bei mir immer darauf hinaus, dass ich die Datei occ nicht öffnen kann. Wenn ich den ersten Befehl

sudo -u www php occ twofactorauth:state username

eingebe, kommt nur die Meldung zurück:

Could not open input file: occ

Hinzu kommt, dass ich in Linux nicht zu Hause bin und wirklich nur die rudimentärsten Befehle kenne. Ich hoffe, dass noch jemand eine Idee hat was ich nun tun kann. Wenn ich noch irgendwelche Infos zur besseren Diagnose liefern kann, werde ich das natürlich machen. Als Admin komme ich zB noch auf die Nextcloud Weboberfläche. Habe auch schon die 2FA deaktiviert und auch die App im Nextcloud Appstore, die ich installiert und aktiviert hatte, ist deaktiviert bzw. komplett entfernt sogar. Neustart von der Synology DSM habe ich bereits auch getan.

Grüße
Alex

Welche Linux Distro und welchen Webserver nutzt du?

In Debian/Ubuntu basierten Distributionen heist beispielsweise der Apache User “www-data” und in RedHat basierten Distributionen “apache”. Unter Ubuntu mit Apache müsste der Befehl also so aussehen…

sudo -u www-data php occ twofactorauth:state username

Wichtig ist auch, dass du dich im Nextcloud Installationsordner befindest, wenn du diesen Befehl eingibst, ansonsten musst du den vollständigen Pfad im Befehl angeben…

Beispiel:

sudo -u www-data php /var/www/nextcloud/occ twofactorauth:state username

Hi bb77, danke erstmal für die Rückmeldung.

Ich habe das auf der Synology installiert, mit dem WebStation Paket. Sprich, es ist mit einem Apache 2.4 installiert. Und soweit ich das jetzt herausfinden konnte, wurde das bei mir mit dem user “http” installiert. Allerdings ist mir das Passwort dafür nicht mehr bekannt, denn danach fragt er immer wenn ich den Befehl eingebe mit dem user “http”. Und der Befehl passwd, um das Passwort von dem user zu ändern, funktioniert nicht über die Konsole auf der Synology. Ich bin schon am überlegen, ob ich das nextcloud komplett lösche und einmal über docker neuinstalliere. Aber hättest du noch eine Idee wie ich ggf. das Passwort von dem user http ändern kann?

Ich kenne mich leider mit den Synology DiskStations nicht wirklich aus. Für den http User wird aber ziemlich sicher kein Passwort gesetzt sein. Du musst dort das Passwort des Users eingeben, der den Befehl in der Shell via Sudo ausführen will. Also das deines admin Users.

Du könntest dir auch die occ web app installieren

1 Like

Hallo @alexon1,

versuch eimal diesen Befehl:

sudo -u http php74 /volume1/web/nextcloud/occ twofactorauth:state username

Das Ergebnis könnte so aussehen:

Two-factor authentication is not enabled for user username

Disabled providers:
- backup_codes
- totp
- u2f

Voraussetzung ist, das Du mindestens als admin auf Deiner Synology bist, besser wäre noch als root.

Gruß
Crashandy

Das hat leider auch nicht geholfen, php74 ist ein unbekannter Befehl.

Ich danke trotzdem allen für die Hilfe. Ich werde jetzt meine Daten aus der Nextcloud sichern und wie schon angekündigt einmal über Docker neu installieren. Aktuell habe ich es ja über die Pakete von Synology bzw. nextcloud selbst über ein Paket in der Shell installiert.

Dann versuch eben den vollständigen oder den mit Symlink gekürzten Pfad:

sudo -u http /var/packages/PHP7.4/target/usr/local/bin/php74 /volume1/web/nextcloud/occ twofactorauth:state username

sudo -u http /usr/local/bin/php74 /volume1/web/nextcloud/occ twofactorauth:state username

Das sollte nun funktionieren.

hi @alexon1 und willkommen in den Benutzerforen von NC.

nein. Hast du offenbar nicht. Daher habe ich das jetzt alles in einen neuen Thread verschoben (du kannt den Titel ändern wie es dir beliebt).
Bitte nicht alte Threads kapern. Lieber einen neuen Thread eröffnen, ggf mit einem Link zu einem vorhandenen Thread, und da dann ganz viele Infos über die betroffenen Systeme reinpacken.

Leider ist NC bisher nicht für eine native Installation auf DSM (welche Version?) vorgesehen. Als VM läuft NC dort allerdings prima. Und man sagt als Docker auch.

1 Like

Ich gebe Dir da natürlich in einigen Teilen Recht. Hier wird etwas im Trüben gefischt, da @alexon1 nichts über seine DiskStation geschrieben hat.
Hier muss es zwingend eine DS***+ (Plus-Serie) mit mindesten 4 GB RAM sein, da eine Nextcloud sonst keinen Sinn macht. VM habe ich noch nicht probiert, Docker ja, war aber mit den Einschränkungen nicht zufrieden.
Bei mir laufen native Nextcloud-Instanzen (bis v.22.2.0) schon lange Jahre stabil und schnell auf DS215+ (DSM 6.*), DS716+ II, DS1618+, DS920+ und DS1821+ (alle DSM 7.0.1) inklusive einer Anbindung von ONLYOFFICE, welches im Docker läuft. Pro Nextcloud ca. 20 Benutzer und Datenvolumen mit bis zu 250 GB.

1 Like

Ich glaube da bin ich ein stück näher gekommen, habe noch den Ordner angepasst, weil bei mir anscheinend php72 installiert ist. Allerdings spuckt er folgendes aus:

Console has to be executed with the user that owns the file config/config.php
Current user id: 0
Owner id of config.php: 1026
Try adding ‘sudo -u #1026’ to the beginning of the command (without the single quotes)
If running with ‘docker exec’ try adding the option ‘-u 1026’ to the docker command (without the single quotes)

Ich habe das mit dem sudo -u #1026 ausprobiert, allerdings kommt daraufhin die Meldug

sudo: option requires an argument – ‘u’
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
[command]
usage: sudo [-AbEHknPS] [-C num] [-D directory] [-g group] [-h host] [-p
prompt] [-R directory] [-T timeout] [-u user] [VAR=value] [-i|-s]
[]
usage: sudo -e [-AknS] [-C num] [-D directory] [-g group] [-h host] [-p prompt]
[-R directory] [-T timeout] [-u user] file …

An diesem Punkt bin ich mir schon nicht mehr sicher was ich tun soll.

Hier solltest Du einmal dringend diesen Befehl absetzen:

chown -R http:http /volume1/web/nextcloud/

Verrate doch einmal deine Hardware. Welche DS und wieviel Speicher?
PHP 7.4 hast Du offensichtlich auch noch nicht installiert, es wäre aber besser mit Nextcloud.

Also ich habe die DS218+ mit 2GB RAM
PHP7.4 kann ich noch installieren.

Ich habe jetzt als root den Befehl ausgeführt. Anschließend mit meinem Hauptnutzer nochmals diesen Befehl ausgeführt:

sudo -u http /var/packages/PHP7.2/target/usr/local/bin/php72 /volume1/web/nextcloud/occ twofactorauth:state username

Das hat jetzt funktioniert und er zeigt den Status an:

The current PHP memory limit is below the recommended value of 512MB.
Two-factor authentication is enabled for user XXXX

Enabled providers:

  • backup_codes
  • totp

Kann ich mir die da jetzt die Backup Codes rausziehen bzw. die 2FA deaktivieren?

Damit kannst Du für diesen Benutzer 2FA deaktivieren:

sudo -u http /var/packages/PHP7.2/target/usr/local/bin/php72 /volume1/web/nextcloud/occ twofactorauth:disable username

Not enough arguments (missing: “provider_id”).

twofactorauth:disable [–output [OUTPUT]] [–] <provider_id>

das kommt im Anschluss an den Befehl. Was ist mit Provider_ID gemeint?

Ich denke mal “totp” möchtest Du deaktivieren.

sudo -u http /var/packages/PHP7.2/target/usr/local/bin/php72 /volume1/web/nextcloud/occ twofactorauth:disable username totp

Two-factor provider totp disabled for user username.

Uff, ich habe es geschafft. Problem war jetzt noch, dass ich die App in Nextcloud schon deinstalliert habe. Nachdem ich es jetzt wieder installiert habe, hat es sofort funktioniert.

Danke an alle und speziell nochmal an Crashandy :+1:

Ich kann mich nun wieder einloggen :slight_smile:

Du solltest dein Wissen bzgl. Nextcloud, occ und Linux-Befehle massiv steigern. Mindestens wenn du dort wichtige Daten speicherst und deine Nextcloud mal wirklich kaputt geht, kann der Frust schon sehr groß werden.

1 Like