fragen stichworte

PHP-App (Owncloud) -Seiten, die einen falschen Pfad für Elemente anfordern

Ich habe eine VPS mit php-fpm und nginx (mit ssl) eingerichtet. Ich habe Tiny Tiny RSS bereits eingerichtet und es funktioniert einwandfrei. Vor kurzem habe ich jedoch versucht, Owncloud einzurichten und traf sofort eine Straßensperre.

Ich habe die Indexseite besucht, um die anfängliche Einrichtung durchzuführen, und es gab absolut kein Styling. Ich habe in der Firefox-Konsole nachgesehen und mehrere Fehler gefunden. Bei genauem Hinsehen sah ich, dass alle Wege zu den Vermögenswerten falsch waren. Anstatt http://mydomain.com/owncloud/some/important/component.js anzufordern, wurde http://mydomain.com/usr/share/nginx/html/owncloud/angefordert. einige/important/component.js.

Es scheint, dass PHP bei der Verarbeitung der Seiten etwas falsch macht. Ich habe dieses Problem mit Tiny Tiny RSS nicht, daher würde ich davon ausgehen, dass es etwas damit zu tun hat, wie Owncloud geschrieben wurde.

Ich gehe davon aus, dass es einen php.ini-Schlüssel gibt, den ich ändern muss. Irgendwelche Ideen?

Im Folgenden finden Sie den Inhalt meines Serverblocks:

           listen 443 ssl;
            ssl_certificate/var/ssl/secret/sauce.key
            ssl_certificate_key/var/ssl/secret/sauce.key;
            server_name localhost 127.0.0.1 mydomain.com;
            root/usr/share/nginx/html;
            index index.html index.htm index.php;
            client_max_body_size 1000M;

            location/{
                    try_files $uri $uri/@webdav =404;
            }

            location ~ \.php$ { 
                    include fastcgi_params;
                    fastcgi_index index.php;
                    try_files $1 = 404;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    fastcgi_param HTTPS on;
                    fastcgi_pass 127.0.0.1:9000;
            }

            location ~ ^/owncloud/(data|config|\.ht|db_structure\.xml|README) {
                    deny all;
            }

            location @webdav {
                    fastcgi_split_path_info ^(.+\.php)(/.*)$;
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    fastcgi_param HTTPS on;
                    include fastcgi_params;
            }

Mir ist klar, dass dies nicht die vollständige Konfiguration ist, die von der Owncloud-Dokumentation empfohlen wird, aber ich möchte generell eine minimale funktionierende Konfiguration und Arbeit, um zu erfahren, wie alles funktioniert. Bei der Überprüfung der Konfigurationsoptionen, die ich ausgelassen habe, schien es keine Auswirkungen auf die PHP-Verarbeitung zu geben. Ich gehe davon aus, dass dies in Ordnung ist. Ansonsten würde ich gerne wissen, welche Nginx-Direktive mir fehlt und warum es wichtig ist.

antworten

Erstellen Sie einen neuen virtuellen Host für owncloud, und bearbeiten Sie einfach den Stamm und den Upstream (entweder Socke oder Port). Ich habe bereits einen eigenen owncloud-Server, und es funktioniert einwandfrei.

Nginx-Konfiguration für owncloud

Ersetzen Sie die Zeile root und server in der upstream

Ich gehe davon aus, dass Sie wissen, wie man einen virtuellen Server erstellt, wenn nicht, so könnte ich auch eine Erklärung dafür geben.

BEARBEITEN

Informationen zu SSL, einer IP-Adresse und einem virtuellen Server:

Nicht wirklich. Es hängt davon ab, wofür Ihre SSL-Datei gekauft wurde. Wenn es sich um eine einzelne Domain-SSL handelt, wie z. B. example.com oder store.example.com, können Sie beliebig viele Sites auf derselben IP-Adresse haben gilt für diese Domäne, für die Sie sie erworben haben, es sei denn, Sie haben eine Wildcard-SSL erworben. In diesem Fall wird möglicherweise *.example.com

unterstützt

Sowieso haben auch SSL auf meinem Server und es ist nur für domain.com und www.domain.com, ich habe es auf meinem Cloud-Server verwendet, der auf cloud.domain.com gehostet wurde Da die Domain nicht mit der Domain übereinstimmt, für die die SSL-Datei gekauft wurde, sage ich dem Browser, diese Warnung zu ignorieren und die Ausnahme zu speichern. Das ist auch der Sync-Client. Er hat mir gesagt, ob ich die Warnung ignorieren möchte nicht und es funktioniert gut.

Wenn Sie dieser Warnung nicht begegnen möchten, müssen Sie den eigenen Cloud-Server unter demselben virtuellen Host erstellen, nicht aufgrund der IP-Adresse, sondern wegen des Namens, für den die SSL-Adresse gekauft wurde.

Sag mir, was du willst, und ich werde dir dabei helfen.

I'm assuming there's a php.ini key I have to change. Any ideas?

Nein, Ihre Anwendung ist wahrscheinlich falsch konfiguriert - PHP von Owncloud generiert diese Pfade. Stellen Sie sicher, dass Sie den URL-Pfad in Owncloud richtig konfiguriert haben.