nginx owncloud, php? Problem

karloff

karloff

Routinier
Moin, ich bin gerade dabei mir ne owncloud auf meinem server aufzusetzen, leider kenne ich keine vernünftige die ohne php auskommt, daher muss ich wohl notgedrungen doch php auf dem server zum laufen bringen, na ja Mut zur Lücke....

Jedenfalls scheint alles so weit zu laufen, also ich kann mir via phpinfo(); die infos holen, heißt also irgendwie läuft der Interpreter.
wenn ich auf cloud.server.tld gehe bekomme ich auch den login screen, wenn ich mich allerdings einlogge scheint irgendetwas kaputt.

Direkt nach dem Login werde ich auf cloud.server.tld/index.php/apps/files/ verwiesen, das wirkt schon irgendwie verdächtig, glaub irgendwie nicht dass der pfad korrekt ist, sieht zumindest komisch aus.

Aus Erfahrung weiß ich dass das ganze out of the box unter apache läuft, allerdings ist es keine option hier den apache einzusetzen.

'Weiß allerdings auch nicht welche Infos hier nützlich sein könnten
phpinfo()
Server API FPM/FastCGI
Virtual Directory Support enabled
Thread Safety enabled

Die nginx config sieht sie folgt aus:
Code:
server {
    listen  {ip}:80;
    server_name cloud.server.ltd;

    return 301 https://$server_name$request_uri;
}

server {
   # SSL Port 445 wegen OpenVPN redirect
   listen {ip}:445;
   server_name cloud.server.ltd;
   root /var/www/vhost/cloud.server.ltd/htdocs/owncloud;

   ssl on;
   ssl_certificate /etc/ssl/self/servercert.pem;
   ssl_certificate_key /etc/ssl/self/serverkey.pem;
   ssl_prefer_server_ciphers on;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers  ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED;

   add_header Strict-Transport-Security max-age=31536000;
   add_header X-Frame-Options DENY;

    location ~ \.php$ {
            try_files $uri =404;
            include /etc/nginx/fastcgi.conf;
            fastcgi_pass unix:/run/php-fpm.socket;
    }

    # HIDDEN FILES AND FOLDERS
    rewrite ^(.*)\/\.(.*)$ @404 break;

   access_log /var/log/nginx/owncloud_ssl_access_log main;
   error_log /var/log/nginx/owncloud_ssl_error_log info;

    }

Hoffe das mir hier jemand der sich etwas mit php auskennt sagen kann wos klemmt.
Wenn weitergehende Infos benötigt werden, einfach einfragen.
 
Zuletzt bearbeitet:
Danke dafür, das bringt mich schon mal einen Schritt weiter, jetzt läd er allerdings bekomm ich sobald ich eingelogt bin ein tolles weißes popup "This content failed to load."
Jetzt weiß ich auch wieder warum ich damals davon abgesehen hatte den kram zu installieren, mit php hat man irgendwie nur probleme ... o.O
Habs auch schon versuche das ganze über uwsgi laufen zu lassen, da der eh schon läuft ... allerdings bekomme ich owncloud damit auch nicht zum laufen ... was aber wohl auch wieder auf php zurückzuführen ist ...

Also wenn noch wer irgendwie owncloud unter nginx zum laufen gebracht hat wäre ich für weitere infos dankbar....



edit: Was für eine Geburt, jetzt läuft das Ding.
 
Zuletzt bearbeitet:
Das war wirklich ein Akt wollte dann auch noch Webdav nutzen, stunden später hab ich jetzt auch ne funktionierende config bei der webdav läuft und das layout nicht irgendwie vermackelt ist ... will euch die config natürlich nicht vorenthalten, reicht ja wenn einer sich diesen "spass" geben musste.

/etc/nginx/sites-available/owncloud
Code:
upstream php-handler {
#    server unix:/run/owncloud.socket;
    server unix:/run/php-fpm.socket;
}

server {
    listen  <ip>:80;
    server_name cloud.server.ltd;

    return 301 https://$server_name$request_uri;
}
server {
   # SSL Port 445 wegen OpenVPN redirect
    port_in_redirect off;
    listen <ip>:445;
    server_name cloud.server.tld;
    root /var/www/vhost/cloud.server.ltd/htdocs/owncloud;

    ssl on;
    ssl_certificate /etc/ssl/self/servercert.pem;
    ssl_certificate_key /etc/ssl/self/serverkey.pem;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA256:DH+3DES:RSA+3DES!aNULL:!eNULL:!MEDIUM:!LOW:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED;

    add_header Strict-Transport-Security max-age=31536000;
    add_header X-Frame-Options DENY;

    dav_methods PUT DELETE MKCOL COPY MOVE;
    client_max_body_size 8M;
    create_full_put_path on;
    dav_access user:rw;

    # Owncloud WebDAV
    location ~ /owncloud/remote.php/ {
        dav_methods PUT DELETE MKCOL COPY MOVE;
        dav_ext_methods PROPFIND OPTIONS;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
        include fastcgi_params;
        fastcgi_pass php-handler;
    }


    #Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

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

  # Disable gzip to avoid the removal of the ETag header
    gzip off;

    rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
    rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
    rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
    rewrite ^/apps/calendar/caldav.php /remote.php/caldav/ last;
    rewrite ^/apps/contacts/carddav.php /remote.php/carddav/ last;
#    rewrite ^/apps/([^/]*)/(.*\.(css|php))$ /index.php?app=$1&getfile=$2 last;   < disabled: break layout
    rewrite ^/remote/(.*) /remote.php last;


    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }



    index index.php index.html;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location / {
        rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
        rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

        rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
        rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

        rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

        try_files $uri $uri/ /index.php; #$is_args$args;

    }

   location ~ ^(.+?\.php)(/.*)?$ {
        try_files $1 =404;
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME $document_root$1;
        fastcgi_param PATH_INFO $2;
        fastcgi_param HTTPS on;
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_index index.php;
        fastcgi_buffers 64 4K;
    }


    # Optional: set long EXPIRES header on static assets
    location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
        expires 30d;
    }

   access_log /var/log/nginx/owncloud_ssl_access_log main;
   error_log  /var/log/nginx/owncloud_ssl_error_log info;

}

Die ssl_ciphers DH+3DES & RSA+3DES braucht man leider damit auch rottige Smartphones sich verbinden können.
 

Ähnliche Themen

NGINX bietet intern abgerufene Seiten nur zum Download an, extern geht's

Nginx als Reverse Proxy für Nextcloud und Emby

nginx+php-fpm problem

nginx+php-fpm nur weiße php sites

Problem mit Apache2 + MySQL Server

Zurück
Oben