ownCloud · 3 min read · Jan 23, 2026
Ejecutando ownCloud 5.0 en Nginx (LEMP) en Debian Wheezy
Ejecutando ownCloud 5.0 en Nginx (LEMP) en Debian Wheezy
Este tutorial muestra cómo puedes instalar y ejecutar ownCloud 5.0 en un sistema Debian Wheezy que tiene nginx instalado en lugar de Apache (LEMP = L inux + nginx (pronunciado “ e ngine x”) + M ySQL + P HP). nginx es un servidor HTTP que utiliza muchos menos recursos que Apache y entrega páginas mucho más rápido, especialmente archivos estáticos.
¡No emito ninguna garantía de que esto funcione para ti!
1 Nota Preliminar
Quiero instalar ownCloud en un vhost llamado www.example.com / example.com aquí con la raíz del documento /var/www/www.example.com/web.
Deberías tener una instalación LEMP funcionando, como se muestra en este tutorial:
- Instalando Nginx con soporte para PHP5 (y PHP-FPM) y MySQL (LEMP) en Debian Wheezy
2 Instalando APC y Algunos Otros Requisitos
APC es un caché de opcodes PHP gratuito y de código abierto para almacenar en caché y optimizar el código intermedio de PHP. Es similar a otros cachés de opcodes PHP, como eAccelerator y XCache. Se recomienda encarecidamente tener uno de estos instalados para acelerar tu página PHP.
APC se puede instalar de la siguiente manera:
apt-get install php-apcInstala algunos otros requisitos:
apt-get install php-xml-parser php5-intl php5-sqlite php5-mysql smbclient curl libcurl3 php5-curlRecarga PHP-FPM de la siguiente manera:
/etc/init.d/php5-fpm reload3 Instalando ownCloud
La raíz del documento de mi sitio web www.example.com es /var/www/www.example.com/web - si no existe, créalo de la siguiente manera:
mkdir -p /var/www/www.example.com/webA continuación, descarga ownCloud desde el sitio web de ownCloud a tu servidor, descomprímelo y colócalo en tu raíz del documento:
cd /tmp
wget http://download.owncloud.org/community/owncloud-5.0.13.tar.bz2
tar xvfj owncloud-5.0.13.tar.bz2
rm -f owncloud-5.0.13.tar.bz2
cd owncloud
mv * .htaccess /var/www/www.example.com/web/
Se recomienda hacer que la raíz del documento y los archivos de ownCloud en ella sean escribibles por el demonio nginx que se está ejecutando como usuario www-data y grupo www-data:
chown -R www-data:www-data /var/www/www.example.com/webSi aún no has creado una base de datos MySQL para ownCloud (incluyendo un usuario MySQL para ownCloud), puedes hacerlo de la siguiente manera (llamo a la base de datos owncloud en este ejemplo, y el usuario se llama owncloud_admin, y su contraseña es owncloud_admin_password):
mysqladmin -u root -p create owncloudmysql -u root -pGRANT ALL PRIVILEGES ON owncloud. TO ‘owncloud_admin’@’localhost’ IDENTIFIED BY ‘owncloud_admin_password’;
GRANT ALL PRIVILEGES ON owncloud. TO ‘owncloud_admin’@’localhost.localdomain’ IDENTIFIED BY ‘owncloud_admin_password’;
FLUSH PRIVILEGES;quit;A continuación, creamos una configuración de vhost de nginx para nuestro vhost www.example.com en el directorio /etc/nginx/sites-available/ de la siguiente manera:
vi /etc/nginx/sites-available/www.example.com.vhost| server { listen 80; server_name www.example.com example.com; root /var/www/www.example.com/web; if ($http_host != "www.example.com") { rewrite ^ http://www.example.com$request_uri permanent; } index index.php index.html; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ \. { deny all; access_log off; log_not_found off; } client_max_body_size 10G; # set max upload size 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; rewrite ^/remote/(.*) /remote.php last; error_page 403 = /core/templates/403.php; error_page 404 = /core/templates/404.php; location ~ ^/(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$is_args$args; } location ~ ^(.+?\.php)(/.*)?$ { try_files $1 =404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_param HTTPS $https; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_intercept_errors on; fastcgi_index index.php; fastcgi_buffers 64 4K; } location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; access_log off; } } |
Para habilitar el vhost, creamos un enlace simbólico a él desde el directorio /etc/nginx/sites-enabled/:
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost
Recarga nginx para que los cambios surtan efecto:
/etc/init.d/nginx reloadAhora podemos lanzar el instalador basado en la web de ownCloud yendo a http://www.example.com - completa un nombre de usuario y una contraseña para la cuenta de administrador y haz clic en Avanzado. Luego desplázate hacia abajo…

… y haz clic en MySQL. Esto hará que aparezcan los campos de entrada para los detalles de la base de datos. Completa los detalles de tu base de datos y haz clic en Finalizar configuración:

Si todo va bien, deberías ver el mensaje Bienvenido a ownCloud:

La instalación ha terminado, y puedes comenzar a usar ownCloud:

4 Enlaces
- ownCloud: http://owncloud.org/
- nginx: http://nginx.org/
- Wiki de nginx: http://wiki.nginx.org/
- Debian: http://www.debian.org/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.