Question

I'm trying to get owncloud 6.0 running on my raspberry pi using nginx as web server and raspbian as os. Unfortunately it displays a webdav error in the admin backend and I'm not able to connect to it via the desktop sync client (the mobile client is working).

I've already tried several solutions including the original configuration and first followed this tutorial. The solution by this page using a special section just for the webdav / remote.php script also didn't help.

This is my /etc/nginx/sites-available/default file:

server {
  listen 80;
  server_name 192.168.0.7;
  return 301 https://$server_name$request_uri;  # enforce https
}

server {
  listen 443 ssl;
  server_name 192.168.0.7;
  ssl_certificate /etc/nginx/cert.pem;
  ssl_certificate_key /etc/nginx/cert.key;

  root /var/www/;
  index index.php;

  client_max_body_size 2G; # set max upload size
  fastcgi_buffers 64 4K;

  rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
  rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
  rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

  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 ~ ^/owncloud/(data|config|\.ht|db_structure\.xml|README) {
    deny all;
  }

  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;
  }

  location ~ ^(.+?\.php)(/.*)?$ {
    try_files $1 = 404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME /var/www/public$fastcgi_script_name;
    include fastcgi_params;

    fastcgi_param HTTPS on;
  }

  location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires 30d;
    # Optional: Don't log access to assets
    access_log off;
  }
}
Was it helpful?

Solution

Solution:

Generate correct SSL certificate. Follow this tutorial: http://wiki.nginx.org/HttpSslModule When asked for "Common Name (e.g. server FQDN or YOUR name) []:", enter the used hostname/domain name.

OTHER TIPS

OwnCloud uses "curl" to perform certain functions so you need to check that your PHP configuration does NOT have the "open_basedir" directive enabled as this is known to cause problems with curl.

NB: It isn't sufficient to include the OwnCloud folder in the "open_basedir" list as there is a (known and reported) bug in at least certain versions of PHP.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top