Client Push Konfiguration schlägt fehl

Hallo zusammen,

Bevor ich anfange, hier ein paar wichtige Informationen zu meinem System:
Server: VPS bei Contabo
Betriebssystem: Ubuntu 24.04
Webserver: Apache2 Version 2.4.58
PHP: 8.3
Nextcloud Hub 26 Spring (34.0.4)
Redis: 7.0.15
Client Push Version: 1.4.1
Nextcloud, Apache2, MariaDB usw. wurden nativ installiert (kein Docker, Snap etc.).
Falls noch weitere Informationen gebraucht werden, bitte hier posten!

Ich habe auf YouTube diese Videoanleitung zur Installation von Client Push gefunden:

Nun, leider kommt beim Ausführen dieses Befehls “sudo -u www-data php /var/www/nextcloud/occ notify_push:setup” diese Fehlermeldung:

🗴 default port(7867) is in use.
if you’ve already setup the notify_push binary then call the setup command with the address it’s listening on.
See the steps in the README for manual setup instructions: GitHub - nextcloud/notify_push: Update notifications for nextcloud clients · GitHub

Dabei wird gemeldet, dass der Port 7867 bereits besetzt ist.
Meine Konfigurationsdateien sehen wie folgt aus, welche ich in PDF-Dateien abgespeichert und hochgeladen habe. ANMERKUNG: Die sicherheitsrelevanten Einträge habe ich hier entsprechend geändert!

config.php.pdf (19,8 KB)

nexctcloud-ssl.conf (Apache2).pdf (28,9 KB)

notify_push.service.pdf (17,9 KB)

Nur was kann ich dagegen tun? Dabei habe ich genau das gemacht, wie es in dem Video erklärt wurde.

die Meldung zeigt den Fehler klar - schaue dir die verwendeten Ports an und überprüfe welcheer Prozess den Port verwendet.

Also, ich habe bereits folgende Schritte gemacht:

  1. Installation der App “Client Push”
  2. Die Apache2-Module “proxy”, “proxy_http” und “proxy_wstunnel” aktiviert und Apache2 neu gestartet.
  3. In der Apache2-Konfigurationsdatei “nextcloud-le-ssl.conf” dieses hier eingebaut:
    ProxyPass /push/ws ws://127.0.0.1:7867/ws
    ProxyPass /push/ http://127.0.0.1:7867/
    ProxyPassReverse /push/ http://127.0.0.1:7867/

Insgesamt sieht der Inhalt der Datei so aus:

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName nc.skayritarbase.de
        DocumentRoot /var/www/nextcloud/
        ServerAdmin webmaster@skayritarbase.de 

        Alias /nextcloud "/var/www/nextcloud/"

        <Directory /var/www/nextcloud/>
            Options +FollowSymlinks +MultiViews
            AllowOverride All
            Require all granted
            <IfModule mod_dav.c>
               Dav off
            </IfModule>
            SetEnv HOME /var/www/nextcloud
            SetEnv HTTP_HOME /var/www/nextcloud
            <IfModule mod_headers.c>
                Header always set Strict-Transport-Security "max-age=15552000; includeSub$
            </IfModule>
        </Directory>

        ProxyPass /push/ws ws://127.0.0.1:7867/ws
        ProxyPass /push/ http://127.0.0.1:7867/
        ProxyPassReverse /push/ http://127.0.0.1:7867/

        CustomLog /var/log/apache2/nc.skayritarbase.de-access.log combined
        ErrorLog /var/log/apache2/nc.skayritarbase.de-error.log

        <FilesMatch "\.php$">
            <If "-f %{REQUEST_FILENAME}">
                SetHandler "proxy:unix:/run/php/php-nextcloud.sock|fcgi://php-nextcloud.sock"
            </If>
        </FilesMatch>

        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile /etc/letsencrypt/live/nc.skayritarbase.de/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/nc.skayritarbase.de/privkey.pem
        SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
        SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
        SSLHonorCipherOrder On
        Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
        Header always set X-Frame-Options DENY
        Header always set X-Content-Type-Options nosniff

        Protocols h2 h2c http/1.1
        SuexecUserGroup www-data www-data
    </VirtualHost>
</IfModule>

Natürlich Apache2 nach dem Speichern neugestartet.

  1. In der /var/www/nextcloud/config/config.php am Ende das hier eingefügt:
  array (
    0 => '[IP_MEINES_SERVERS]',
  ),
  1. Die Datei /etc/systemd/system/notify_push.service mit diesem Inhalt erstellt:
[Unit]
Description = Push daemon for Nextcloud clients

[Service]
Environment=PORT=7867
Environment=NEXTCLOUD_URL=https://nc.skayritarbase.de
ExecStart=/var/www/nextcloud/apps/notify_push/bin/x86_64/notify_push /var/www/nextcloud/config/config.php
User=www-data

[Install]
WantedBy = multi-user.target

Dann mit sudo systemctl enable --now notify_push aktiviert.

  1. Dann in das Verzeichnis /var/www/nextcloud gewechselt und den Befehl sudo -u www-data php occ notify_push:setup ausgeführt. Es kommt die Meldung, dass man eine
    Also, ich habe bereits folgende Schritte gemacht:
  2. Installation der App “Client Push”
  3. Die Apache2-Module “proxy”, “proxy_http” und “proxy_wstunnel” aktiviert und Apache2 neu gestartet.
  4. In der Apache2-Konfigurationsdatei “nextcloud-le-ssl.conf” dieses hier eingebaut:
    ProxyPass /push/ws ws://127.0.0.1:7867/ws
    ProxyPass /push/ http://127.0.0.1:7867/
    ProxyPassReverse /push/ http://127.0.0.1:7867/

Insgesamt sieht der Inhalt der Datei so aus:

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName nc.skayritarbase.de
        DocumentRoot /var/www/nextcloud/
        ServerAdmin webmaster@skayritarbase.de 

        Alias /nextcloud "/var/www/nextcloud/"

        <Directory /var/www/nextcloud/>
            Options +FollowSymlinks +MultiViews
            AllowOverride All
            Require all granted
            <IfModule mod_dav.c>
               Dav off
            </IfModule>
            SetEnv HOME /var/www/nextcloud
            SetEnv HTTP_HOME /var/www/nextcloud
            <IfModule mod_headers.c>
                Header always set Strict-Transport-Security "max-age=15552000; includeSub$
            </IfModule>
        </Directory>

        ProxyPass /push/ws ws://127.0.0.1:7867/ws
        ProxyPass /push/ http://127.0.0.1:7867/
        ProxyPassReverse /push/ http://127.0.0.1:7867/

        CustomLog /var/log/apache2/nc.skayritarbase.de-access.log combined
        ErrorLog /var/log/apache2/nc.skayritarbase.de-error.log

        <FilesMatch "\.php$">
            <If "-f %{REQUEST_FILENAME}">
                SetHandler "proxy:unix:/run/php/php-nextcloud.sock|fcgi://php-nextcloud.sock"
            </If>
        </FilesMatch>

        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile /etc/letsencrypt/live/nc.skayritarbase.de/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/nc.skayritarbase.de/privkey.pem
        SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
        SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
        SSLHonorCipherOrder On
        Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
        Header always set X-Frame-Options DENY
        Header always set X-Content-Type-Options nosniff

        Protocols h2 h2c http/1.1
        SuexecUserGroup www-data www-data
    </VirtualHost>
</IfModule>

Natürlich Apache2 nach dem Speichern neugestartet.

  1. In der /var/www/nextcloud/config/config.php am Ende das hier eingefügt:
  array (
    0 => '[IP_MEINES_SERVERS]',
  ),
  1. Die Datei /etc/systemd/system/notify_push.service mit diesem Inhalt erstellt:
[Unit]
Description = Push daemon for Nextcloud clients

[Service]
Environment=PORT=7867
Environment=NEXTCLOUD_URL=https://nc.skayritarbase.de
ExecStart=/var/www/nextcloud/apps/notify_push/bin/x86_64/notify_push /var/www/nextcloud/config/config.php
User=www-data

[Install]
WantedBy = multi-user.target

Dann mit sudo systemctl enable --now notify_push aktiviert.

  1. Dann in das Verzeichnis /var/www/nextcloud gewechselt und den Befehl sudo -u www-data php occ notify_push:setup ausgeführt, jedoch kommt die Aufforderung eine Systemd-Datei mit diesem Inhalt zu erstellen.
    Place the following systemd config at /etc/systemd/system/notify_push.service
[Unit]
Description = Push daemon for Nextcloud clients

[Service]
Environment=PORT=7867
Environment=NEXTCLOUD_URL=https://skbcloud.skayritarbase.de
ExecStart=/var/www/nextcloud/apps/notify_push/bin/x86_64/notify_push /var/www/nextcloud/config/config.php
Type=notify
User=www-data

[Install]
WantedBy = multi-user.target

Da ich diese bereits schon gemacht habe, habe ich mit Enter bestätig, aber es kommt diese Meldung:
🗴 push binary doesn't seem to be running, did you follow the above instructions?.

In der /etc/systemd/system/notify_push.service

Unter user sollte doch der nextcloud user drin stehen.

Bin mir nicht sicher, anbei die Anleitung:

Falls zutreffend sind in anderen Einstellungen vielleicht ebenfalls falsche user zuweisungen enthalten

Genauer gesagt ist es der Benutzer, unter dem der Webserver Nextcloud “served”, oder, wenn du PHP-FPM verwendest, der Benutzer des PHP-FPM-Pools, unter dem Nextcloud läuft. Unter Ubuntu ist das standardmässig www-data, es sei denn, du hast für Nextcloud in der Webserver-Konfiguration explizit einen anderen Benutzer und/oder einen PHP-FPM-Pool unter einem anderen Benutzer konfiguriert.

Hallo, ich bin noch mal, habe heute diesen Befehl ausgeführt:

sudo -u www-data php occ notify_push:setup https://nc.meinedomain.de/push
Und das wurde ausgegeben:
✓ redis is configured
✓ push server is receiving redis messages
✓ push server can load mount info from database
✓ push server can connect to the Nextcloud server
✓ push server is a trusted proxy
✓ push server is running the same version as the app

Bin mir nicht sicher, ob es erfolgreich war, aber für mich sieht es danach so aus.

hier ist erklärt wie man die Funktion prüft: