Em apenas alguns passos, é possível instalar o Nextcloud no Debian 12. Não só se configura a solução na nuvem, como também fica protegida por várias medidas de segurança.

Nextcloud no Debian

O Nextcloud é uma solução gratuita de com­pu­ta­ção em nuvem altamente re­co­men­dada, que oferece inúmeras vantagens, tanto para uso pessoal como comercial. Entre elas destacam-se as sólidas fun­ci­o­na­li­da­des de segurança para a proteção de dados, como a en­crip­ta­ção SSL/TLS, a au­ten­ti­ca­ção de dois fatores e a con­for­mi­dade com o RGPD. Além disso, oferece a pos­si­bi­li­dade de escolher entre ser­vi­do­res privados locais ou ser­vi­do­res de alo­ja­mento ter­cei­ri­za­dos. Tal como muitas al­ter­na­ti­vas ao Nextcloud, o fork do OwnCloud é com­pa­tí­vel com todos os sistemas ope­ra­ti­vos comuns e oferece uma in­te­gra­ção simples com inúmeros serviços.

A seguir, ex­pli­ca­mos passo a passo como instalar o Nextcloud no Debian 12. Para tal, terá de instalar um servidor web Apache2, um servidor MariaDB e o PHP 8.2. Além disso, mostramos-lhe como con­fi­gu­rar um firewall simples (UFW) e os cer­ti­fi­ca­dos SSL/TLS ne­ces­sá­rios para proteger o sistema.

Quais são os re­qui­si­tos a cumprir?

Para instalar o Nextcloud no Debian 12, basta cumprir alguns re­qui­si­tos. É ne­ces­sá­rio ter um servidor com o Debian 12 já instalado, 4 GB de RAM e dois pro­ces­sa­do­res. Além disso, é im­por­tante que disponha de uma conta de uti­li­za­dor não root com direitos de ad­mi­nis­tra­dor e que configure um nome de domínio associado ao endereço IP do servidor.

Instalar o servidor web Apache2

Primeiro, deve instalar um servidor web Apache2. Para tal, utilize o comando apt update, com o qual poderá atualizar o índice de pacotes do Debian e, assim, des­car­re­gar a versão mais recente:

sudo apt update
bash

Em seguida, instale a versão mais recente do pacote Apache2 uti­li­zando este comando:

sudo apt install apache2
bash

Confirme a ins­ta­la­ção com a tecla [y] e, em seguida, prima [Enter] para iniciar a ins­ta­la­ção.

Após a ins­ta­la­ção, utilize este comando do systemctl para verificar o estado do serviço:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

No primeiro comando, deverá verificar que o serviço é iniciado au­to­ma­ti­ca­mente ao arrancar o sistema. O estado «active» indica que o Apache2 está pronto a ser utilizado.

Con­fi­gu­rar o firewall

Ao dispor de um firewall adequado, pode proteger o seu sistema e os seus dados. Recomenda-se a uti­li­za­ção do Firewall sem com­pli­ca­ções (UFW), que pode con­fi­gu­rar como padrão. Para tal, deve abrir as portas para o OpenSSH, HTTP e HTTPS. Primeiro, instale o pacote UFW com o seguinte comando:

sudo apt install ufw
bash

Deve confirmar a ins­ta­la­ção premindo a tecla [y] e concluir a ins­ta­la­ção premindo [Enter]. Em seguida, ative o OpenSSH e o UFW uti­li­zando estes comandos:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Para iniciar o UFW, deve confirmar premindo [y]. Em seguida, aparecerá a mensagem «Firewall is active and enabled on system startup». Depois, deve adicionar as portas HTTP e HTTPS que o servidor web deverá utilizar. Para tal, execute este comando:

sudo ufw allow "WWW Full"
bash

Em seguida, reinicie o UFW:

sudo ufw reload
bash

Para ver as regras ativadas, consulte o estado do UFW. Nesta altura, o WWW Full deve estar ativado.

sudo ufw status
bash

Ativar o PHP 8.2

Para obter o melhor de­sem­pe­nho possível e a máxima com­pa­ti­bi­li­dade, o próprio Nextcloud recomenda a uti­li­za­ção do PHP 8.2. Este vem incluído por pre­de­fi­ni­ção no Debian 12, pelo que apenas é ne­ces­sá­rio instalar os pacotes ne­ces­sá­rios. Utilize este comando:

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
bash

Utilize [y] e [Enter] para confirmar e, em seguida, verifique a versão do PHP e ative as extensões:

php --version
php -m
bash

Agora abra o ficheiro de con­fi­gu­ra­ção do PHP com o editor Nano:

sudo nano /etc/php/8.2/apache2/php.ini
bash

Agora, efetue algumas al­te­ra­ções e adapte a con­fi­gu­ra­ção às suas ne­ces­si­da­des. De­pen­dendo da forma como pretende utilizar o Nextcloud com o Debian 12, poderão ser re­co­men­da­dos outros valores. Nesse caso, altere a con­fi­gu­ra­ção de acordo com as suas ne­ces­si­da­des.

No primeiro passo, defina o fuso horário es­cre­vendo o seguinte:

data.timezone = Europe/Amsterdam
bash

Em seguida, altere os pa­râ­me­tros 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
bash

Ative agora as opções file_uploads e allow_url_fopen. Em ambos os casos, o valor deve ser «On» (ativado):

file_uploads = On
allow_url_fopen = On
bash

Desative agora o display\_errors e o output\_buffering e altere os res­pe­ti­vos valores para «Off» (de­sa­ti­vado):

display_errors = Off
output_buffering = Off
bash

Utilize o seguinte comando para ativar o PHP OPcache:

zend_extension=opcache
bash

Adicione a con­fi­gu­ra­ção na secção opcache re­co­men­dada pelo Nextcloud para o Debian 12, es­cre­vendo o seguinte:

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
bash

Em seguida, guarde o ficheiro e feche o editor Nano. Agora, reinicie o serviço Apache2:

sudo systemctl restart apache2
bash

Con­fi­gu­rar o servidor MariaDB

O Nextcloud utiliza um servidor MariaDB como base de dados. A ins­ta­la­ção e a ve­ri­fi­ca­ção são feitas com estes comandos:

sudo apt install mariadb-server
bash

Utilize [y] e [Enter] para confirmar. Quando a ins­ta­la­ção terminar, introduza o seguinte:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Se o servidor estiver a funcionar cor­re­ta­mente, proteja o sistema. Utilize o seguinte comando para criar uma palavra-passe de root, eliminar uti­li­za­do­res anónimos e apagar a base de dados de teste:

sudo mariadb-secure-installation
bash

Efetue os ajustes premindo [y] para aceitar e [n] para recusar.

Criar uma base de dados e uti­li­za­do­res

Em seguida, crie uma nova base de dados e o uti­li­za­dor cor­res­pon­dente. Para iniciar sessão no servidor MariaDB, utilize este comando e introduza a sua palavra-passe de root:

sudo mariadb -u root -p
bash

Para criar uma nova base de dados, um uti­li­za­dor e a palavra-passe cor­res­pon­dente, utilize os seguintes comandos:

CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'YourPassword';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
bash

Substitua 'YourPassword' (a sua palavra-passe) por uma palavra-passe segura criada por si. Por fim, verifique se o uti­li­za­dor «next­clou­du­ser» tem acesso à base de dados «nextcloud_db»:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Des­car­re­gar os códigos-fonte atuais

Des­car­re­gue agora os códigos-fonte mais recentes para poder utilizar o Nextcloud no Debian 12 da melhor forma possível. Primeiro, selecione este comando:

sudo apt install curl unzip -y
bash

Em seguida, mude para o diretório /var/www e des­car­re­gue o código-fonte mais recente:

cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
bash

Des­com­pacte o ficheiro e altere o pro­pri­e­tá­rio do diretório para www-data:

unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
bash

Con­fi­gu­rar o host no Apache2

Configure agora um host virtual no Apache2 uti­li­zando este comando do Nano:

sudo nano /etc/apache2/sites-available/nextcloud.conf
bash

Defina o nome de domínio e os dois pa­râ­me­tros ErrorLog e CustomLog. Substitua o espaço reservado «example» (exemplo) pelo nome do seu domínio.

<VirtualHost *:80>
    ServerName nextcloud.example.io
    DocumentRoot /var/www/nextcloud/
    # log files
    ErrorLog /var/log/apache2/files.example.io-error.log
    CustomLog /var/log/apache2/files.example.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>
bash

Guarde as al­te­ra­ções e saia do editor. Em seguida, ative a con­fi­gu­ra­ção com o comando seguinte e verifique-a:

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

Se obtiver o resultado «Syntax OK», o que indica que não há erros de sintaxe, deve reiniciar o Apache2 para aplicar a nova con­fi­gu­ra­ção do host virtual:

sudo systemctl restart apache2
bash

Proteger os dados com SSL/TLS

Sem ne­ces­si­dade de con­fi­gu­ra­ções adi­ci­o­nais, está agora a utilizar o Nextcloud no Debian 12 através de um protocolo HTTP que não é seguro. Para melhorar a segurança e proteger os seus dados, é acon­se­lhá­vel con­fi­gu­rar o HTTPS. Pode fazê-lo uti­li­zando este comando:

sudo apt install certbot python3-certbot-apache
bash

Em seguida, gere um cer­ti­fi­cado SSL, subs­ti­tuindo novamente o espaço reservado «beispiel» pelo nome do seu domínio.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@example.io -d nextcloud.example.io
bash

Concluir a ins­ta­la­ção do Nextcloud no Debian 12

Para concluir a ins­ta­la­ção do Nextcloud no Debian 12, abra o seu navegador e aceda ao nome de domínio da sua ins­ta­la­ção do Nextcloud. Introduza um nome de uti­li­za­dor e a respetiva palavra-passe para criar um ad­mi­nis­tra­dor. Em seguida, adicione o nome da sua base de dados, o nome de uti­li­za­dor e a palavra-passe, e clique em «Install» (instalar). Em seguida, pode optar por des­car­re­gar algumas apli­ca­ções com­pa­tí­veis ou ignorar este passo por agora. Será re­di­re­ci­o­nado para o seu painel de controlo e poderá começar a utilizar o Nextcloud para gerir os seus dados.

Ir para o menu principal