ownCloud · 3 min read · Jan 23, 2026
Executando ownCloud 5.0 No Nginx (LEMP) No Debian Wheezy
Executando ownCloud 5.0 No Nginx (LEMP) No Debian Wheezy
Este tutorial mostra como você pode instalar e executar ownCloud 5.0 em um sistema Debian Wheezy que tem nginx instalado em vez de Apache (LEMP = L inux + nginx (pronunciado “ e ngine x”) + M ySQL + P HP). nginx é um servidor HTTP que usa muito menos recursos do que o Apache e entrega páginas muito mais rápido, especialmente arquivos estáticos.
Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
Quero instalar ownCloud em um vhost chamado www.example.com / example.com aqui com o diretório raiz /var/www/www.example.com/web.
Você deve ter uma instalação LEMP funcionando, como mostrado neste tutorial:
- Instalando Nginx Com Suporte a PHP5 (E PHP-FPM) E MySQL (LEMP) No Debian Wheezy
2 Instalando APC E Alguns Outros Requisitos
APC é um cache de opcode PHP gratuito e aberto para armazenar em cache e otimizar o código intermediário PHP. É semelhante a outros caches de opcode PHP, como eAccelerator e XCache. É altamente recomendado ter um desses instalados para acelerar sua página PHP.
APC pode ser instalado da seguinte forma:
apt-get install php-apc
Instale alguns outros requisitos:
apt-get install php-xml-parser php5-intl php5-sqlite php5-mysql smbclient curl libcurl3 php5-curl
Recarregue o PHP-FPM da seguinte forma:
/etc/init.d/php5-fpm reload
3 Instalando ownCloud
O diretório raiz do meu site www.example.com é /var/www/www.example.com/web - se não existir, crie-o da seguinte forma:
mkdir -p /var/www/www.example.com/web
Em seguida, baixe ownCloud do site ownCloud para o seu servidor, descompacte-o e coloque-o no seu diretório raiz:
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/
É recomendado tornar o diretório raiz e os arquivos do ownCloud nele graváveis pelo daemon nginx que está sendo executado como usuário www-data e grupo www-data:
chown -R www-data:www-data /var/www/www.example.com/web
Se você ainda não criou um banco de dados MySQL para ownCloud (incluindo um usuário MySQL ownCloud), você pode fazer isso da seguinte forma (eu nomeio o banco de dados de owncloud neste exemplo, e o usuário é chamado owncloud_admin, e sua senha é owncloud_admin_password):
mysqladmin -u root -p create owncloud
mysql -u root -p
GRANT 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;
Em seguida, criamos uma configuração de vhost nginx para nosso vhost www.example.com no diretório /etc/nginx/sites-available/ da seguinte forma:
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; } # Negar todas as tentativas de acessar arquivos ocultos como .htaccess, .htpasswd, .DS_Store (Mac). location ~ \. { deny all; access_log off; log_not_found off; } client_max_body_size 10G; # definir tamanho máximo de upload 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 o vhost, criamos um symlink para ele a partir do diretório /etc/nginx/sites-enabled/:
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost
Recarregue o nginx para que as alterações tenham efeito:
/etc/init.d/nginx reload
Agora podemos iniciar o instalador ownCloud baseado na web acessando http://www.example.com - preencha um nome de usuário e senha para a conta de administrador e clique em Avançado. Em seguida, role para baixo…

… e clique em MySQL. Isso fará com que os campos de entrada para os detalhes do banco de dados apareçam. Preencha os detalhes do seu banco de dados e clique em Finalizar configuração:

Se tudo correr bem, você deve ver a mensagem Bem-vindo ao ownCloud:

A instalação agora está concluída, e você pode começar a usar o ownCloud:

4 Links
- ownCloud: http://owncloud.org/
- nginx: http://nginx.org/
- Wiki do nginx: http://wiki.nginx.org/
- Debian: http://www.debian.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.