Muitos estão abandonando opções convencionais como Google Drive ou Dropbox em favor de soluções auto-hospedadas que permitem gerenciar seus dados do seu jeito, e uma ótima opção é o Nextcloud.
Este artigo guiará você através de um tutorial completo passo a passo sobre como instalar o Nextcloud Docker em sistemas Ubuntu e Debian. Cobrirá tudo, desde atualizar seu sistema e instalar dependências até configurar seu servidor web e PHP, configurar o banco de dados, e finalizar a instalação com Nextcloud Docker Compose.
Por que Auto-Hospedar o Nextcloud?
Auto-hospedar o Nextcloud significa assumir o controle da sua própria solução de armazenamento em nuvem em vez de depender de serviços convencionais como Google Drive ou Dropbox. Com o Nextcloud, você tem total liberdade para armazenar e compartilhar arquivos nos seus termos, garantindo propriedade total dos seus dados e controle completo sobre configurações de privacidade.
Para muitos usuários, a possibilidade de aprimorar a plataforma através de plugins e integrações é um grande atrativo. Usando Nextcloud docker e Nextcloud docker compose, você pode implantar rapidamente um sistema seguro e confiável de compartilhamento de arquivos em sistemas populares, pois tanto Nextcloud Ubuntu quanto Nextcloud Debian estão disponíveis.
Esta solução é prática se você quer instalar o Nextcloud sem ficar preso às limitações de serviços de terceiros. O processo de instalação do Nextcloud docker é direto, permitindo que até quem não é um sysadmin experiente entre no mundo do auto-hospedagem.
Adotar uma instalação Nextcloud Docker também pode economizar dinheiro comparado a soluções de nuvem comerciais, já que você está basicamente pagando apenas pelo seu próprio hardware ou instância de servidor. Além disso, as opções de personalização disponíveis, como ajustar configurações do PHP ou integrar um banco de dados MySQL, permitem adequar o ambiente às suas necessidades específicas.
Se está curioso sobre como instalar Nextcloud docker, há um vasto acervo de suporte comunitário e recursos que oferecem exemplos de Nextcloud docker compose, tornando o processo educativo e gratificante.
Prerequisites
Antes de começar a instalação, é inteligente deixar seu ambiente bem preparado. Esta seção cobre o básico, desde requisitos de sistema e configuração de servidor até dependências de software para uma instalação suave do Nextcloud docker:
| Component | Requirements/Options | Notes |
| Operating System | Ubuntu (22.04 LTS altamente recomendado, 24.04 LTS), Red Hat Enterprise Linux 9/8, Debian 12 (Bookworm), SUSE Linux Enterprise Server 15, openSUSE Leap 15.5, CentOS Stream, Alpine Linux | Nextcloud Ubuntu é popular |
| CPU & OS Architecture | 64-bit | Certifique-se de que CPU, SO e PHP sejam 64-bit |
| PHP | PHP 8.3 (ou outras versões) | Use a versão 64-bit para evitar problemas de compatibilidade |
| Memory | Mínimo: 128MB RAM por processo; Recomendado: 512MB por processo; Atualizador: 256MB | Ajuste conforme o uso |
| Access | Acesso root ou sudo | Necessário para ajustes no nível do sistema |
| Container Tools | Docker, Docker Compose | Simplifica a instalação e o gerenciamento |
| Web Server | Apache 2.4 (com mod_php ou php-fpm recomendado) ou nginx com php-fpm | Escolha de acordo com suas necessidades pessoais ou organizacionais |
| Database | MySQL (8.0/8.4), MariaDB (10.6/10.11 recomendado, ou 11.4), ou PostgreSQL | Deve suportar InnoDB e nível de isolamento READ COMMITTED |
Etapa 1: Atualize e Prepare Seu Sistema
Antes de configurar sua instância Nextcloud Docker, reserve um momento para atualizar o sistema e instalar todas as ferramentas necessárias. Pense nisso como organizar seu espaço de trabalho antes de começar um projeto interessante. Execute estes comandos no seu servidor Nextcloud Ubuntu:
Atualize Sua Lista de Pacotes e Instale as Atualizações:
Atualize seus repositórios de pacotes e instale as versões mais recentes com estes comandos:
| sudo apt update sudo apt upgrade -y |
Instale Docker, Docker Compose e Utilitários Úteis:
Obtenha Docker, Docker Compose e outros utilitários práticos como curl, wget e build-essential executando:
| sudo apt install docker.io docker-compose curl wget build-essential -y |
(Opcional) Adicione Seu Usuário ao Grupo Docker:
Esta etapa permite que você execute comandos Docker sem preceder cada um com sudo:
| sudo usermod -aG docker $USER |
Após executar este comando, faça logout e login novamente para aplicar as alterações.
Verifique as Instalações:
Verifique se Docker e Docker Compose estão instalados corretamente:
| docker –version docker-compose –version |
Também é altamente recomendado monitorar os logs do Docker para solucionar problemas, que você pode consultar e gerenciar seguindo these steps.
Agora que seu sistema está atualizado e todas as dependências estão em lugar, escolher uma solução de hospedagem confiável é essencial. Cloudzy oferece VPS ultrarrápido serviços com até 240 GB de NVMe SSD (até 2 TB com nosso GPU VPS) e 99,95% de disponibilidade, tornando-o uma excelente opção para hospedar sua instância Nextcloud.
A seguir, vamos configurar seu servidor web e ajustar as configurações de PHP para garantir que tudo funcione perfeitamente com sua instância Docker do Nextcloud.
Etapa 2: Configurando Apache/Nginx e PHP
Agora que seu sistema está pronto, é hora de configurar seu servidor web e PHP. Esta seção guia você na configuração do Apache e Nginx junto com os ajustes de PHP que fazem seu Nextcloud rodar sem problemas em Docker.
Configuring Apache
Se você está usando Apache, siga estas etapas:
Criar um Arquivo de Configuração:
- Abra um novo arquivo para o Nextcloud:
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
- Dentro deste arquivo, adicione algo como:
| Alias /Nextcloud "/var/www/Nextcloud/"
<Directory /var/www/Nextcloud/> <IfModule mod_dav.c> |
Ativar o Site:
- Ative sua nova configuração:
| sudo a2ensite Nextcloud.conf |
Ativar os Módulos Necessários do Apache:
- Execute estes comandos para ativar os módulos necessários:
| sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime |
Se você planeja usar PHP-FPM com Apache (usando mod_fcgi), ative também:
| sudo a2enmod setenvif |
Ativar SSL (Opcional):
- Para uma conexão segura, ative SSL com:
| sudo a2enmod ssl sudo a2ensite default-ssl sudo service apache2 reload |
Configuring Nginx
- Para usuários de Nginx, a configuração envolve criar um bloco de servidor:
Criar um Arquivo de Bloco de Servidor:
- Abra um novo arquivo:
| sudo nano /etc/nginx/sites-available/Nextcloud |
- Cole uma configuração de exemplo como:
| server { listen 80; server_name your-server-ip or cloud.example.com;root /var/www/Nextcloud/; index index.php index.html /index.php$request_uri;location / { try_files $uri $uri/ /index.php?$args; }location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
Ativar a Configuração:
- Crie um link simbólico para ativar o site:
| sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/ |
Testar e Recarregar Nginx:
- Verifique sua configuração e recarregue:
| sudo nginx -t sudo systemctl reload nginx |
Ajuste das Configurações PHP
Nextcloud depende de PHP com certas configurações. Ajuste-as editando o arquivo de configuração PHP apropriado:
Para Apache com PHP:
| sudo nano /etc/php/8.3/apache2/php.ini |
Para Nginx com PHP-FPM:
| sudo nano /etc/php/8.3/fpm/php.ini |
No arquivo, ajuste configurações como:
- memory_limit (for example, 512M)
- upload_max_filesize (for example, 100M)
- post_max_size (for example, 100M)
- max_execution_time (for example, 360)
Após fazer as alterações, reinicie os serviços respectivos:
- Apache:
| sudo service apache2 restart |
- PHP-FPM:
| sudo systemctl restart php8.3-fpm |
Com seu servidor web configurado e PHP ajustado, você está pronto para a próxima etapa: configurar o banco de dados para armazenar todos os dados do Nextcloud.
Etapa 3: Configurando o Banco de Dados
Com seu sistema e servidor web configurados, o próximo passo é configurar um banco de dados para sua instalação do Nextcloud. Isso envolve criar um banco de dados e um usuário dedicado com permissões apropriadas. Veja como:
1. Instalar o Servidor MariaDB
Primeiro, instale o pacote do servidor MariaDB:
| sudo apt install mariadb-server -y |
2. Proteger a Instalação do MariaDB
Execute o script de segurança para remover as configurações padrão inseguras:
| sudo mysql_secure_installation |
Você será solicitado a definir uma senha de root e fazer outras escolhas relacionadas à segurança. Recomenda-se responder 'S' (sim) a todos os prompts.
3. Acessar o Shell do MariaDB
Acesse o shell do MariaDB como usuário root:
| sudo mysql -u root -p |
Digite a senha de root que você definiu durante o processo de instalação segura.
4. Criar um Novo Banco de Dados para Nextcloud
Dentro do shell do MariaDB, execute o seguinte comando para criar um banco de dados chamado Nextcloud:
| CREATE DATABASE Nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
5. Criar um Usuário Dedicado do Banco de Dados
Crie um novo usuário Nextclouduser com uma senha forte. Substitua your_password_here por uma senha segura de sua escolha:
| CREATE USER 'Nextclouduser'@'localhost' IDENTIFIED BY 'your_password_here'; |
6. Conceder Permissões Necessárias ao Usuário
Conceda todos os privilégios no banco de dados Nextcloud ao Nextclouduser:
| GRANT ALL PRIVILEGES ON Nextcloud.* TO 'Nextclouduser'@'localhost'; |
7. Aplicar as Alterações
Atualize os privilégios para garantir que todas as alterações entrem em vigor:
| FLUSH PRIVILEGES; |
8. Sair do Shell MariaDB
Saia do shell MariaDB digitando:
| EXIT; |
Com o banco de dados configurado, você está pronto para o próximo passo: instalar o Nextcloud. Isso envolve baixar os arquivos do Nextcloud e configurá-los para se conectar ao banco de dados que você acabou de criar.
Etapa 4: Baixando e Instalando o Nextcloud
Esta etapa envolve instalar a versão mais recente do Nextcloud no seu sistema. Você tem duas opções: uma usando Docker (ideal para uma configuração em contêiner) e outra seguindo uma instalação manual mais tradicional.
Método 1: Usando a Imagem Oficial Docker
Se você prefere uma abordagem em contêiner, siga estes comandos:
Baixar a Imagem Docker do Nextcloud:
Baixe a imagem Docker mais recente do Nextcloud no Docker Hub:
| docker pull Nextcloud |
Criar um Arquivo Docker Compose:
Para facilitar o gerenciamento, crie um arquivo chamado docker-compose.yml com o seguinte conteúdo:
| version: ‘3’
services: volumes: |
Iniciar os Contêineres:
Execute este comando para iniciar seus contêineres Nextcloud e banco de dados em segundo plano:
| docker-compose up -d |
Método 2: Instalação Manual do Arquivo Nextcloud
Se você preferir trabalhar com os arquivos diretamente, aqui está como fazer:
Baixar a Versão Mais Recente:
Obtenha o arquivo tar mais recente do Nextcloud:
| wget https://download.Nextcloud.com/server/releases/latest.tar.bz2 |
Extrair o Arquivo:
Descompacte o arquivo baixado:
| tar -xjf latest.tar.bz2 |
Mova a pasta do Nextcloud:
Transfira a pasta extraída para seu diretório web:
| sudo mv Nextcloud /var/www/Nextcloud |
Defina as permissões corretas:
Ajuste a propriedade para que seu servidor web possa acessar os arquivos:
| sudo chown -R www-data:www-data /var/www/Nextcloud |
Escolha o método que melhor se adequa ao seu estilo. A abordagem Docker oferece uma configuração fácil usando Nextcloud docker compose, enquanto o método manual oferece controle direto sobre os arquivos. Ainda melhor, usar os Docker VPS planos Cloudzy cria uma plataforma eficiente para implantar o Nextcloud via Docker, tornando o processo de configuração mais simples.
A seguir, vamos nos aprofundar na configuração do Nextcloud propriamente dito - configurar seu host virtual, habilitar SSL e muito mais - para completar sua experiência de nuvem auto-hospedada.
Etapa 5: Configurando o Nextcloud
Agora que você baixou e instalou o Nextcloud, é hora de configurar um host virtual Apache e proteger seu site com SSL para acessar seu armazenamento em nuvem auto-hospedado através de um domínio dedicado.
Criando um arquivo de host virtual Apache
Crie um arquivo de configuração para o Nextcloud:
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
Cole a seguinte configuração:
Ajuste o DocumentRoot e ServerName de acordo com sua configuração (por exemplo, substituindo cloud.example.com pelo seu domínio ou IP do servidor):
| <VirtualHost *:80> DocumentRoot /var/www/Nextcloud/ ServerName cloud.example.com<Directory /var/www/Nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews<IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost> |
Habilitando a nova configuração
Informe Apache sobre sua nova configuração:
| sudo a2ensite Nextcloud.conf |
Reload Apache:
Aplique as alterações recarregando Apache:
| sudo systemctl reload apache2 |
Protegendo seu site com SSL
Para acesso seguro, você pode configurar SSL. Existem duas abordagens comuns: usar um certificado auto-assinado ou obter um certificado via Let's Encrypt.
Opção 1: Certificado Auto-Assinado
Ativar o Módulo SSL:
| sudo a2enmod ssl |
Ativar o Site Padrão SSL:
| sudo a2ensite default-ssl |
Reload Apache:
| sudo systemctl reload apache2 |
Opção 2: Certificado Let's Encrypt (Recomendado para Servidores Públicos)
Instalar Certbot e o Plugin Apache:
| sudo apt install certbot python3-certbot-apache -y |
- Obter e Instalar o Certificado:
Substitua cloud.example.com pelo seu domínio:
| sudo certbot –apache -d cloud.example.com |
Siga as instruções na tela para concluir o processo.
Com seu Host Virtual Apache configurado e SSL em funcionamento, sua instância Nextcloud está pronta para servir conexões seguras a partir do seu domínio escolhido. Em seguida, vamos configurar o banco de dados para armazenar seus dados do Nextcloud, o que completa tudo para uma experiência de nuvem auto-hospedada perfeita.
Etapa 6: Finalizando a Configuração
Agora que seu servidor web e PHP estão configurados, é hora de finalizar sua instalação. Esta etapa é como adicionar os últimos detalhes ao seu projeto antes de apresentá-lo ao mundo.
Ajustar Permissões de Arquivo:
Antes de iniciar o assistente de instalação, execute o seguinte comando para garantir que o servidor web possa acessar todos os arquivos do Nextcloud:
| sudo chown -R www-data:www-data /var/www/Nextcloud/ |
Acessar Nextcloud pelo Seu Navegador:
Abra seu navegador e digite a URL para sua instância Nextcloud, por exemplo:
| http://your-server-ip/Nextcloud |
Isso carregará o assistente de instalação do Nextcloud, uma interface intuitiva que o guia pela configuração final.
Completar o Assistente de Instalação:
No assistente, você será solicitado a inserir:
- Os detalhes do seu banco de dados (host, nome, usuário e senha). Em uma configuração Docker, o host do banco de dados geralmente é definido como um nome de container ou localhost.
- Um nome de usuário e senha de administrador para sua instância Nextcloud.
Siga as instruções na tela e clique no botão "Finalizar configuração" quando terminar.
Após concluir o assistente, seu servidor Nextcloud finalizará a configuração e você verá o novo painel do Nextcloud. Em seguida, vamos ajustar as configurações pós-instalação, como tarefas agendadas, cache e otimizações de segurança para manter sua instância funcionando sem problemas.
Etapa 7: Configuração Pós-Instalação
Depois de finalizar o assistente de instalação web do Nextcloud, alguns ajustes finais ajudam a otimizar tarefas agendadas, desempenho e segurança. Esta seção aborda a configuração de tarefas em segundo plano, integração de cache com Redis e endurecimento de sua instância Nextcloud.
Ativando Tarefas Agendadas
Para manter seu Nextcloud funcionando sem problemas, é recomendável agendar tarefas em segundo plano. Configure uma tarefa agendada para executar o script cron do Nextcloud a cada cinco minutos. Abra o crontab do usuário do servidor web (normalmente www-data):
| sudo crontab -u www-data -e |
Depois, adicione esta linha no final do arquivo:
| */5 * * * * php -f /var/www/Nextcloud/cron.php |
Salve e feche o editor. Esta tarefa cuidará de limpeza de arquivos temporários, envio de notificações e outras rotinas de manutenção.
Instalando e Configurando Redis para Cache
Usar Redis acelera sua instância Nextcloud ao armazenar dados em cache e melhorar o desempenho do travamento de arquivos. Primeiro, install Redis e a extensão PHP para Redis:
| sudo apt install redis-server php-redis -y |
Em seguida, atualize seu arquivo de configuração Nextcloud (normalmente em /var/www/Nextcloud/config/config.php) para incluir as configurações de cache. Adicione estas linhas dentro do array $CONFIG:
| 'memcache.local' => '\\OC\\Memcache\\APCu', 'memcache.locking' => '\\OC\\Memcache\\Redis', ‘redis’ => array( ‘host’ => ‘localhost’, ‘port’ => 6379, ), |
Esta configuração instrui o Nextcloud a usar APCu para cache local e Redis para travamento de arquivos, melhorando desempenho e confiabilidade.
Endurecendo Configurações de Segurança do Nextcloud
Algumas medidas extras podem reforçar a segurança de sua instalação:
- Defina Permissões Corretas de Arquivos:
Ajuste a propriedade e permissões do diretório Nextcloud para restringir o acesso:
| sudo chown -R www-data:www-data /var/www/Nextcloud sudo find /var/www/Nextcloud/ -type d -exec chmod 750 {} \; sudo find /var/www/Nextcloud/ -type f -exec chmod 640 {} \; |
- Execute Comandos de Modo de Manutenção:
Ative temporariamente o modo de manutenção para realizar verificações de segurança adicionais ou atualizações de configuração:
| sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode –on # (Execute any maintenance tasks needed here) sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode –off |
- Verifique suas Configurações de Servidor Web:
Confirme que suas configurações Apache ou Nginx implementam HTTPS e restringem o acesso não autorizado conforme necessário.
Com esses passos finais, sua instância Nextcloud processará tarefas de background de forma eficiente, terá desempenho melhorado através de cache e estará melhor protegida contra potenciais ameaças de segurança.
Final Thoughts
Você transformou sua configuração Nextcloud docker de uma tela em branco para uma solução de armazenamento em nuvem auto-hospedada totalmente funcional. Com seu sistema atualizado, dependências instaladas e servidor web junto com PHP finamente ajustados, seu ambiente Nextcloud Ubuntu está pronto para servir como seu hub pessoal de compartilhamento de arquivos.
Conforme você continua ajustando sua configuração, experimentando com configurações avançadas ou explorando novos aplicativos Nextcloud, vale a pena considerar seu provedor de hospedagem. Um provedor confiável e affordable VPS como Cloudzy garante que sua instância Nextcloud permaneça segura e responsiva, formando uma base sólida para suas necessidades de armazenamento em nuvem.
Para maior tranquilidade, é recomendado consultar as diretrizes oficiais de segurança em Nextcloud Security Hardening e recomendações de backup em Nextcloud Backup Guide. Esses recursos ajudam você a manter seus dados seguros e seu servidor funcionando perfeitamente.