Como instalar o Nextcloud no Debian 12
A instalação do Nextcloud no Debian é um processo fácil que requer poucos passos. Neste artigo, você vai aprender como configurar a solução de nuvem que conta com diversos mecanismos de segurança.
Nextcloud e Debian
Nextcloud é uma solução de computação em nuvem gratuita que oferece diversas opções de uso privado e comercial. Dentre as vantagens do software estão seus robustos recursos de segurança e proteção de dados, como criptografia SSL/TLS, autenticação de dois fatores e conformidade com o GDPR, bem como a possibilidade de escolher entre servidores locais privados ou servidores de host terceirizados. Assim como muitas alternativas ao Nextcloud, esse fork do ownCloud oferece suporte a todos os principais sistemas operacionais e integração facilitada com diversos serviços.
Explicaremos o passo a passo de como configurar o Nextcloud no Debian 12. Para fazer isso, instale um servidor web Apache2, um servidor MariaDB e PHP 8.2. Para fins de segurança, também mostraremos como configurar um Uncomplicated Firewall (UFW) e os certificados SSL/TLS necessários.
Para instalar o Nextcloud no Ubuntu 22.04, consulte as instruções passo a passo desse artigo do nosso Digital Guide. Aprenda também como instalar o Nextcloud com o Docker.
Pré-requisitos de sistema
Existem alguns requisitos para instalar o Nextcloud no Debian 12. Basicamente, você precisa de um servidor com Debian 12 instalado. Ele requer pelo menos 4 GB de RAM e duas CPUs. Também é importante que você tenha acesso de usuário não root com direitos de administrador e configure um nome de domínio apontando para o endereço IP do servidor.
Instalar o servidor web Apache2
Primeiro, instale um servidor web Apache2. Para fazer isso, atualize o índice do pacote Debian para baixar a versão mais recente. Use o comando apt nessa atualização:
sudo apt update
bashEm seguida, execute a instalação do pacote Apache2 mais recente usando este comando:
sudo apt install apache2
bashConfirme o procedimento com a tecla [y] e pressione [Enter] para iniciar instalação.
Após a conclusão da instalação, verifique o status do serviço usando os comandos systemctl a seguir:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
bashCom o primeiro comando, o serviço será iniciado automaticamente na inicialização do sistema. O status “active” indica que o Apache2 está pronto para uso.
Instalar o firewall
Proteja o seu sistema e os seus dados com um firewall, como o Uncomplicated Firewall (UFW). Para configurá-lo como solução padrão, abra as portas OpenSSH, HTTP e HTTPS. Em seguida, instale o pacote do UFW usando o seguinte comando:
sudo apt install ufw
bashConfirme com a tecla [y] e finalize a instalação pressionando [Enter]. Depois, ative OpenSSH e UFW:
sudo ufw allow OpenSSH
sudo ufw enable
bashPara iniciar o UFW, confirme com a tecla [y]. A mensagem “Firewall is active and enabled on system startup” (“firewall ativo e habilitado na inicialização do sistema”) aparecerá. Em seguida, adicione as portas HTTP e HTTPS para que sejam usadas pelo servidor web. Para fazer isso, execute o seguinte comando:
sudo ufw allow "WWW Full"
bashCarregue o UFW novamente:
sudo ufw reload
bashPara visualizar as regras ativadas, verifique o status do UFW. O WWW Full deverá ser acionado.
sudo ufw status
bashAtivar o PHP 8.2
Para ter o melhor desempenho possível e o nível máximo de compatibilidade, o Nextcloud recomenda a instalação do PHP 8.2. Por padrão, ele vem incluído no Debian 12, por isso, você só precisa instalar os pacotes necessários. O comando para fazer isso é:
sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
bashConfirme com a tecla [y] e pressione [Enter]. Verifique a versão do PHP e ative as extensões:
php --version
php -m
bashDepois, abra o arquivo de configuração PHP com o editor nano:
sudo nano /etc/php/8.2/apache2/php.ini
bashFaça as alterações e adapte a configuração para atender às suas necessidades. Dependendo de como você deseja usar o Nextcloud no Debian 12, talvez seja recomendável usar outros valores. Neste caso, altere as configurações como preferir. Os comandos serão similares aos exibidos abaixo.
Configurar o fuso horário:
data.timezone = Europe/Amsterdam
bashAltere os parâmetros de memory_limit, upload_max_filesize, post_max_size e max_execution_time:
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
bashAtive file_uploads e allow_url_fopen. Nos dois casos, o valor deve ser definido como “On”:
file_uploads = On
allow_url_fopen = On
bashDesative display_errors e output_buffering e defina os respectivos valores como “Off”:
display_errors = Off
output_buffering = Off
bashAtive o PHP OPCache usando o comando a seguir:
zend_extension=opcache
bashCole esta configuração na seção “opcache”, conforme recomendado pelo Nextcloud para Debian 12:
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
bashPor fim, salve o arquivo e feche o editor nano. Reinicie o serviço do Apache2:
sudo systemctl restart apache2
bashConfigurar o servidor MariaDB
O Nextcloud usa um servidor MariaDB como solução de banco de dados. Instale-o usando este comando:
sudo apt install mariadb-server
bashConfirme com a tecla [y] e pressione [Enter]. Após fazer uma instalação bem-sucedida, insira o seguinte comando:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bashSe o servidor estiver funcionando corretamente, você ainda deverá proteger o sistema. Use o comando a seguir para criar uma senha root, remover os usuários anônimos e excluir o banco de dados de teste:
sudo mariadb-secure-installation
bashAjuste as configurações, pressionando [y] para aceitar e [n] para rejeitar.
Criar bancos de dados e usuários
Agora, você pode criar um novo banco de dados e os respectivos usuários. Para acessar o servidor do MariaDB, use o comando a seguir e insira sua senha de root:
sudo mariadb -u root -p
bashUse os comandos a seguir para criar um novo banco de dados, um usuário e sua respectiva senha:
CREATE DATABASE nextcloud_db;
CREATE USER usuarionextcloud@localhost IDENTIFIED BY 'Senha';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO usuarionextcloud@localhost;
FLUSH PRIVILEGES;
bashSubstitua 'Senha'
por uma senha forte da sua preferência. Por fim, verifique se o “usuarionextcloud” tem acesso ao banco de dados “nextcloud_db”:
SHOW GRANTS FOR nextcloudusuario@localhost;
bashBaixar código-fonte atual
Faça o download do código-fonte atual para usar o Nextcloud no Debian 12:
sudo apt install curl unzip -y
bashAlterne para o diretório /var/www e faça o download do código-fonte mais recente:
cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
bashDescompacte o arquivo e altere o proprietário do diretório em www-data:
unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bashConfigurar o host Apache2
Configure um host Apache2 virtual. Para fazer isso, use este comando com nano:
sudo nano /etc/apache2/sites-available/nextcloud.conf
bashPersonalize o nome de domínio e os parâmetros ErrorLog e CustomLog. Substitua o placeholder “exemplo” pelo seu nome de domínio.
<VirtualHost *:80>
ServerName nextcloud.exemplo.io
DocumentRoot /var/www/nextcloud/
# log files
ErrorLog /var/log/apache2/files.exemplo.io-error.log
CustomLog /var/log/apache2/files.exemplo.io-access.log combined
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
</VirtualHost>
bashSalve as alterações e feche o editor. Em seguida, ative a configuração usando o seguinte comando:
sudo a2ensite nextcloud.conf
sudo apachectl configtest
bashAo receber o resultado “Syntax OK”, reinicie o Apache2 e aplique a configuração do host:
sudo systemctl restart apache2
bashProteger com certificado SSL/TLS
Você já pode usar o Nextcloud no Debian 12 com um protocolo HTTP não seguro. No entanto, é recomendável configurar o HTTPS para proteger os seus dados. Para fazer isso, use este comando:
sudo apt install certbot python3-certbot-apache
bashGere um certificado SSL ao substituir o placeholder “exemplo” pelo nome de domínio novamente:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email usuario@exemplo.io -d nextcloud.exemplo.io
bashConclusão: Instalar Nextcloud no Debian 12
Agora, você pode concluir a instalação do Nextcloud no Debian 12. Para fazer isso, abra seu navegador e digite o nome de domínio da sua instalação do Nextcloud. Insira seu nome de usuário e senha para criar um administrador. Em seguida, informe o nome do seu banco de dados, o nome de usuário, a senha e clique em “Install” (“Instalar”). Faça o download de aplicativos compatíveis ou pule esta etapa. Você será redirecionado para o painel e poderá usar o Nextcloud.