nginx - owncloud bajo ubicación

nginx - owncloud bajo ubicación

Quiero colocar owncloud en una ubicación en mi host virtual predeterminado. También quiero redirigir a https. Lo tengo funcionando con phpmyadmin pero no puedo con owncloud.

Este es el archivo de configuración sugerido desde owncloud.org

server {
        listen 443 ssl;
        ssl_certificate      /etc/ssl/localcerts/certificate.crt;
        ssl_certificate_key  /etc/ssl/localcerts/privateKey.key;

        server_name cloud.technolust.info;

        root /var/www/owncloud;

        client_max_body_size 10G; # 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;

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

        location / {
                # The following 2 rules are only needed with webfinger
                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;

                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$1;
                fastcgi_param PATH_INFO $2;
                fastcgi_param HTTPS on;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

        # Optional: set long EXPIRES header on static assets
        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires 30d;
                # Optional: Don't log access to assets
                access_log off;
        }

}

Quiero ayuda para colocar la configuración anterior en la ubicación correspondiente en mi host virtual nginx predeterminado. Aquí está mi /etc/nginx/sitios-disponibles/default

server {
    listen 80;
    server_name  _;


    root /usr/share/nginx/www;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ /index.html;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/www;
    }

    location /phpmyadmin {
        rewrite ^ https://$http_host$request_uri? permanent;
    }
    location /phpMyAdmin {
        rewrite ^/* /phpmyadmin last;
    }

    location /owncloud {
        rewrite ^ https://$http_host$request_uri? permanent;
    }
    location /cloud {
        rewrite ^/* /owncloud last;
    }

}
server {
    listen 443 ssl default_server;

    ssl_certificate /etc/ssl/localcerts/certificate.crt;
    ssl_certificate_key /etc/ssl/localcerts/privateKey.key;

    root /usr/share/nginx/www;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.html;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/www;
    }
    ######  phpMyAdmin ############################################################
    location /phpmyadmin {
        root /usr/share/;
        index index.php index.html index.htm;
        location ~ ^/phpmyadmin/(.+\.php)$ {
            root /usr/share/;
            include fastcgi-gen.conf;
        }
        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
            root /usr/share/;
        }
    }
    location /phpMyAdmin {
        rewrite ^/* /phpmyadmin last;
    }

    ######  OwnCloud ############################################################
    location /owncloud {
        *
        *
        CONFIGURATION HERE
        *
        *
    }
    location /cloud {
        rewrite ^/* /owncloud last;
    }
}

Además, si ve algún otro problema con mi configuración, dígamelo, ya que soy nuevo en nginx.

Gracias

Respuesta1

Creo que lo hice funcionar. La redirección parece funcionar también. Espero que todo sea correcto. Aquí está mi ubicación/owncloud:

location /owncloud {
    root /var/www/;
    index index.php;
    try_files $uri $uri/ index.php;

    client_max_body_size 10G; # 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;


    # The following 2 rules are only needed with webfinger
    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;

    error_page 403 = /var/www/owncloud/core/templates/403.php;
    error_page 404 = /var/www/owncloud/core/templates/404.php;

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

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

    location ~ \.php$ {
            include fastcgi-gen.conf;
    }
    location ~* \.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                    expires max;
    }
}
location /cloud {
    rewrite ^/* /owncloud last;
}

Respuesta2

La configuración de owncloud supone que utiliza un host virtual, en el ejemplo server_name cloud.technolust.info;en lugar de una rutayour current host/owncloud

Para utilizar la ruta, necesita replicar la configuración de owncloud dentro de la ubicación (es decir, su sección CONFIGURACIÓN AQUÍ).

información relacionada