nginx y owncloud, .htaccess advertencia de security

Tengo un problema con nginx y owncloud. Cuando accedo a la página del acceso del owncloud consigo este error:

Su directory de datos y sus files probablemente sean accesibles desde Internet. El file .htaccess que ownCloud proporciona no funciona. Le sugerimos que configure su server web de tal forma que el directory de datos ya no sea accesible o que mueva el directory de datos fuera de la raíz del documento del server web.

Aquí está mi file vhost:

server { listen 80; server_name default_server; root /usr/share/nginx/www; index index.html index.htm; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } 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 ^/* /phpmyadmin last; } location /roundcube { rewrite ^ https://$http_host$request_uri? permanent; } location /RoundCube { rewrite ^/* /roundcube last; } location /squirrelmail { rewrite ^ https://$http_host$request_uri? permanent; } location /SquirrelMail { rewrite ^/* /squirrelmail last; } error_page 404 /404.html; # networkingirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } server { listen 443 ssl; ssl_certificate /etc/ssl/localcerts/certificate.crt; ssl_certificate_key /etc/ssl/localcerts/privateKey.key; server_name default_server; root /usr/share/nginx/www; index index.html index.htm; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $https; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /phpMyAdmin { rewrite ^/* /phpmyadmin last; } location /owncloud { root /var/www/; index index.php index.html index.htm; location ~ ^/owncloud/(.+\.php)$ { try_files $uri =404; root /var/www/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $https; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/owncloud/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /var/www/; } } location /ownCloud { rewrite ^/* /owncloud last; } location /roundcube { root /usr/share/; index index.php index.html index.htm; location ~ ^/roundcube/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $https; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /RoundCube { rewrite ^/* /roundcube last; } location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $https; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /SquirrelMail { rewrite ^/* /squirrelmail last; } location /doc/ { alias /usr/share/doc/; autoindex on; allow 127.0.0.1; allow ::1; deny all; } error_page 404 /404.html; # networkingirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } 

En concreto aquí está la location / owncloud:

 location /owncloud { root /var/www/; index index.php index.html index.htm; location ~ ^/owncloud/(.+\.php)$ { try_files $uri =404; root /var/www/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $https; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/owncloud/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /var/www/; } } location /ownCloud { rewrite ^/* /owncloud last; } 

He intentado arreglarlo basándome en la documentation http://doc.owncloud.org/server/5.0/admin_manual/installation/installation_others.html#nginx-configuration pero no puedo.

También cambié los permissions sólo en caso de que estaba causando el error, pero no lo arregló:

 chown -R www-data:www-data /var/www/owncloud 

phpmyadmin, roundcube y squirrelmail funcionan bien, así que utilicé su configuration solo cambiando la ruta raíz de owncloud que es / var / www / owncloud.

Aquí está el contenido del owncloud /

 root@vps1:/var/www# ls -l owncloud/ total 156 drwxr-xr-x 26 www-data www-data 4096 Σεπ 6 18:38 3rdparty drwxrwxrwx 32 www-data www-data 4096 Σεπ 6 18:38 apps -rw-r--r-- 1 www-data www-data 585 Σεπ 6 18:38 AUTHORS drwxrwxrwx 2 www-data www-data 4096 Σεπ 27 18:54 config -rw-r--r-- 1 www-data www-data 832 Σεπ 6 18:38 console.php -rw-r--r-- 1 www-data www-data 34520 Σεπ 6 18:38 COPYING-AGPL -rw-r--r-- 1 www-data www-data 567 Σεπ 6 18:38 COPYING-README drwxr-xr-x 10 www-data www-data 4096 Σεπ 6 18:38 core -rw-r--r-- 1 www-data www-data 3156 Σεπ 6 18:38 cron.php drwxrwx--- 2 www-data www-data 4096 Σεπ 27 18:54 data -rw-r--r-- 1 www-data www-data 17669 Σεπ 6 18:38 db_structure.xml drwxr-xr-x 2 www-data www-data 4096 Σεπ 6 18:38 files -rw-r--r-- 1 www-data www-data 179 Σεπ 6 18:38 index.html -rw-r--r-- 1 www-data www-data 853 Σεπ 6 18:38 index.php drwxr-xr-x 81 www-data www-data 4096 Σεπ 6 18:38 l10n drwxr-xr-x 20 www-data www-data 4096 Σεπ 6 18:38 lib -rw-r--r-- 1 www-data www-data 279 Σεπ 6 18:38 occ drwxr-xr-x 2 www-data www-data 4096 Σεπ 6 18:38 ocs -rw-r--r-- 1 www-data www-data 443 Σεπ 6 18:38 public.php -rw-r--r-- 1 www-data www-data 753 Σεπ 6 18:38 README -rw-r--r-- 1 www-data www-data 960 Σεπ 6 18:38 remote.php -rw-r--r-- 1 www-data www-data 26 Σεπ 6 18:38 robots.txt drwxr-xr-x 6 www-data www-data 4096 Σεπ 6 18:38 search drwxr-xr-x 8 www-data www-data 4096 Σεπ 6 18:38 settings -rw-r--r-- 1 www-data www-data 1216 Σεπ 6 18:38 status.php drwxr-xr-x 2 www-data www-data 4096 Σεπ 6 18:38 themes -rw-r--r-- 1 www-data www-data 2460 Σεπ 6 18:38 upgrade.php 

Me di count de que el file tar no incluye la carpeta tha / data y se crea la primera vez que se accede a la interfaz web de owncloud. También se crean estos files:

 root@vps1:/var/www# ls -la owncloud/data/ total 12 drwxrwx--- 2 www-data www-data 4096 Σεπ 27 18:54 . drwxr-xr-x 14 www-data www-data 4096 Σεπ 27 18:54 .. -rw-r--r-- 1 www-data www-data 27 Σεπ 27 18:54 .htaccess -rw-r--r-- 1 www-data www-data 0 Σεπ 27 18:54 index.html 

Así que no estoy seguro de en qué file .htaccess se refiere la advertencia. /var/www/owncloud/.htaccess o /var/www/owncloud/data/.htaccess o cómo solucionarlo.

Edit : He intentado agregar esto y todavía no funciona.

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

2 Solutions collect form web for “nginx y owncloud, .htaccess advertencia de security”

Mi compañero griego:

El problema parece ser que el directory donde los datos UPLOADED a Owncloud (los datos que desea accesible como una "nube") es un subdirectory de la raíz del documento de su server, donde SOLAMENTE directorys y files para la funcionalidad de Owncloud ITSELF debe ser . Este es el directory / var / www que menciona. Los datos de usuario no tienen lugar dentro de / var / www, de lo contrario es accesible desde Internet con una simple "list" de los files servidos.

Normalmente, durante el asistente de configuration inicial, ejecutar desde el browser, tiene la opción de establecer la ruta de acceso al directory de datos. Incluso si lo pierdes, siempre puedes cambiar después, estableciendo la directiva "datadirectory" en el file config.php de la installation de Owncloud. Me gusta esto:

 <?php $CONFIG = array ( 'datadirectory' => '/media/usbdisk/ocdata/', 'dbtype' => ... 

Puedes encontrar más sobre el tema dentro de este post del foro.

Como una nota de precaución, siempre es importante tener la menor cantidad posible de datos disponibles a través del cable. Puedes search aquí algunos puntos muy buenos acerca de los permissions de raíz de documentos.

Me lo imaginé. Había cometido un error en el file vhost. yo había puesto el

 root /var/www/; 

y entonces yo había escrito esto:

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

en lugar de esto:

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

Aquí está mi último file vhost catch-all después de la corrección anterior y algunos de limpieza.

 server { listen 80; server_name default_server; 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 ^/* /phpmyadmin last; } location /roundcube { rewrite ^ https://$http_host$request_uri? permanent; } location /RoundCube { rewrite ^/* /roundcube last; } location /squirrelmail { rewrite ^ https://$http_host$request_uri? permanent; } location /SquirrelMail { rewrite ^/* /squirrelmail last; } } server { listen 443 ssl; ssl_certificate /etc/ssl/localcerts/certificate.crt; ssl_certificate_key /etc/ssl/localcerts/privateKey.key; server_name default_server; 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 ~ /\.ht { deny all; } ###### 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; } ###### RoundCube ############################################################ location /roundcube { root /usr/share/; index index.php index.html index.htm; location ~ ^/roundcube/(.+\.php)$ { root /usr/share/; include fastcgi-gen.conf; } location ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /RoundCube { rewrite ^/* /roundcube last; } ###### SquirrelMail ############################################################ location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { root /usr/share/; include fastcgi-gen.conf; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /SquirrelMail { rewrite ^/* /squirrelmail last; } ###### ownCloud ############################################################ location /owncloud { root /var/www/; index index.php index.html index.htm; error_page 403 = owncloud/core/templates/403.php; error_page 404 = owncloud/core/templates/404.php; rewrite ^/owncloud/caldav(.*)$ /remote.php/caldav$1 networkingirect; rewrite ^/owncloud/carddav(.*)$ /remote.php/carddav$1 networkingirect; rewrite ^/owncloud/webdav(.*)$ /remote.php/webdav$1 networkingirect; location = /owncloud/robots.txt { allow all; log_not_found off; access_log off; } location /owncloud/ { # 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/ networkingirect; rewrite ^/.well-known/caldav /remote.php/caldav/ networkingirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } location ~ ^/owncloud/(data|config|\.ht|db_structure\.xml|README) { deny all; } location ~ ^/owncloud/(.+\.php)$ { root /var/www/; include fastcgi-gen.conf; } location ~* ^/owncloud/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /var/www/; } } location /ownCloud { rewrite ^/* /owncloud last; } } 

y esto es fastcgi-gen.conf

 try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param PATH_INFO $fastcgi_script_name; include fastcgi_params; 
  • CERT SSL Wildcard - Múltiples Hosts Virtuales sobre dos Servidores
  • Páginas de aplicación de PHP (Owncloud) que solicitan una ruta incorrecta para los activos
  • owncloud se niega a acceder al directory de datos
  • OwnCloud almacenó el file como página WEB
  • Owncloud que ejecuta Apache con Nginx como Proxy
  • No se puede acceder a MySQL en ownCloud usando PHP - SQLSTATE Acceso denegado
  • Configurar nginx para owncloud y otros services en el mismo server?
  • Respaldo de ZFS contra carpetas de datos de ZFS para services
  • post "Archivo no encontrado" al intentar instalar nginx / owncloud
  • ¿Cuál es la mejor manera de networkingundante de nuevo a hdd externo para que uno de los hdds se puede desconectar diariamente para ser retirado del sitio?
  • Acceda a la installation de owncloud local con un nombre de dominio
  • gestionar el control de acceso ip a través de la aplicación httpd php con la configuration de virtual_host
  • regeneración de las tablas de la database
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.