Como instalar Nextcloud no servidor Ubuntu 24.04
Nesta página
- Pré-requisitos
- Instalando Dependências
- Configurando PHP
- Configurando o servidor MariaDB
- Abrindo portas HTTP e HTTPS
- Baixando Nextcloud
- Configurando host virtual Apache para Nextcloud
- Instalando Nextcloud
- Conclusão
Nextcloud é um software de código aberto para armazenamento de arquivos públicos e privados. Ele permite que você crie serviços auto-hospedados como Dropbox, Google Drive ou Mega.nz. Inicialmente, foi criado pelo desenvolvedor original do Owncloud, Frank Karlitschek. Em 2016, ele bifurcou o projeto Owncloud e criou um novo projeto com o novo nome “Nextcloud. ”
O projeto Nextcloud está crescendo rapidamente e se tornando mais do que um software de hospedagem de arquivos. É mais como uma plataforma de sincronização de arquivos e colaboração de conteúdo. Apoiado por muitos plug-ins, Nextcloud se tornou um software de colaboração muito poderoso. Você pode instalar plug-ins para gerenciamento de projetos, videoconferência, edição colaborativa, anotações, cliente de e-mail, etc.
Este tutorial ensina como instalar o Nextcloud em um servidor Ubuntu 24.04. Você instalará o Nextcloud com o LAMP Stack e, em seguida, protegerá o Netxcloud com HTTPS por meio de Certbot e Letsencrypt.
Pré-requisitos
Antes de começar, certifique-se de ter o seguinte:
- Um servidor Ubuntu 24.04
- Um usuário não root com privilégios de administrador
- Um nome de domínio apontado para o endereço IP do servidor
- Um UFW (Firewall Descomplicado) está instalado e funcionando
Instalando Dependências
Nesta seção, você instalará dependências de pacote para Nextcloud. Você executará o Nextcloud com o LAMP Stack, usando curl para baixar o código-fonte do Nextcloud e, em seguida, usando Certbot e Letsencrypt para proteger o nextcloud com HTTPS.
Antes de começar, execute o comando abaixo para atualizar o índice do seu pacote Ubuntu
sudo apt update
Agora, instale as dependências do Nextcloud com o seguinte comando apt install. Isso instalará o LAMP Stack (Linux, Apache, MySQL/MariaDB e PHP), curl, descompacte, ImageMagick e certbot.
sudo apt install apache2 mariadb-server 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 php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache
Insira Y para confirmar a instalação.
Após a instalação, verifique o status do servidor web Apache usando o comando abaixo. Você verá que o servidor web Apache está em execução e habilitado.
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Agora verifique o status do servidor MariaDB com o seguinte comando. Você deve obter uma saída semelhante à que o MariaDB está em execução.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Por último, execute o comando abaixo para verificar a versão do PHP do seu sistema. Você verá que o PHP 8.3 está instalado.
php -v
Configurando PHP
Depois de instalar as dependências, você configurará o PHP editando o arquivo php.ini. Você pode ajustar a configuração do PHP conforme necessário para algumas opções, como limite máximo de memória e tamanho máximo de upload.
Abra o arquivo /etc/php/8.3/apache2/php.ini com o editor nano.
sudo nano /etc/php/8.3/apache2/php.ini
Altere a configuração padrão com o seguinte e certifique-se de ajustar o limite de memória com sua memória máxima e o date.timezone com a localização/fuso horário do servidor.
date.timezone = Europe/Amsterdam
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
file_uploads = On
allow_url_fopen = On
display_errors = Off
output_buffering = Off
Quando terminar, salve o arquivo e saia.
Agora execute o seguinte comando systemctl abaixo para reiniciar o servidor web Apache e aplicar sua nova configuração PHP.
sudo systemctl restart apache2
Configurando o servidor MariaDB
Agora que configurou o PHP, você irá configurar o servidor MariaDB e criar um novo banco de dados e usuário para Nextcloud. Você protegerá o MariaDB com o utilitário mariadb-secure-installation e, em seguida, criará um novo banco de dados e usuário por meio do cliente mariadb.
Para proteger o servidor MariaDB, execute o comando mariadb-secure-installation abaixo.
sudo mariadb-secure-installation
Durante o processo, você será questionado sobre as seguintes configurações do servidor MariaDB:
- Pressione ENTER quando for solicitada a senha root do MariaDB.
- Insira n quando questionado sobre o método de autenticação unix_socket.
- Insira Y para configurar uma nova senha para o usuário root do MariaDB. Em seguida, insira a nova senha e repita.
- Insira Y para remover o usuário anônimo padrão do MariaDB.
- Em seguida, insira Y novamente para desabilitar o login remoto para o usuário root do MariaDB.
- Insira Y para remover o teste de banco de dados padrão do MariaDB.
- Por último, insira Y novamente para recarregar os privilégios da tabela e aplicar as alterações.
Em seguida, execute o comando do cliente mariadb abaixo para fazer login no servidor MariaDB. Digite sua senha root quando solicitado.
sudo mariadb -u root -p
Execute as consultas a seguir para criar um novo banco de dados nextclouddb, um usuário nextcloud@localhost, com a senha passw0rd. Você pode ajustar os detalhes do banco de dados com suas informações.
CREATE DATABASE nextclouddb;
CREATE USER nextcloud@localhost IDENTIFIED BY 'passw0rd';
GRANT ALL PRIVILEGES ON nextclouddb.* to nextcloud@localhost;
FLUSH PRIVILEGES;
Agora execute a consulta abaixo para garantir que o usuário nextcloud@localhost possa acessar o banco de dados nextclouddb.
SHOW GRANTS FOR nextcloud@localhost;
Você verá uma saída como esta:
Digite quit para sair do servidor MariaDB.
Abrindo portas HTTP e HTTPS
Nesta seção, você abrirá as portas HTTP e HTTPS para permitir o acesso ao Nextcloud. Portanto, você deve garantir que o UFW esteja configurado e habilitado em seu servidor Ubuntu.
Para abrir as portas HTTP e HTTPS no Ubuntu, execute o comando ufw abaixo. Com o perfil Apache Full, você permitirá conexões com as portas HTTP e HTTPS.
sudo ufw allow 'Apache Full'
sudo ufw reload
Agora verifique as regras da lista no UFW com o comando abaixo. Certifique-se de que o perfil Apache Full esteja habilitado em seu servidor Ubuntu.
sudo ufw status
Baixando Nextcloud
Agora que configurou PHP, MariaDB e UFW, você fará download do código-fonte do Nextcloud e configurará o diretório raiz do documento para instalação do Nextcloud.
Vá para o diretório /var/www e baixe o código-fonte do Nextcloud com o comando curl abaixo.
cd /var/www/
sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
Depois de fazer o download, execute o comando descompactar abaixo para extrair o Nextcloud. Isso definirá o diretório raiz do Netxcloud como /var/www/nextcloud.
sudo unzip nextcloud.zip
Agora execute o comando abaixo para alterar a propriedade do diretório /var/www/nextcloud para o usuário www-data.
sudo chown -R www-data:www-data /var/www/nextcloud
Configurando host virtual Apache para Nextcloud
Depois de baixar o Nextcloud, você criará um novo host virtual Apache para Nextcloud. Em seguida, você gerará certificados SSL e protegerá o Nextcloud com HTTPS.
Crie uma nova configuração de host virtual Apache /etc/apache2/sites-available/nextcloud.conf com o seguinte editor nano.
sudo nano /etc/apache2/sites-available/nextcloud.conf
Insira a configuração abaixo e certifique-se de alterar o nome de domínio nextcloud.howtoforge.local.
<VirtualHost *:80>
ServerName nextcloud.howtoforge.local
DocumentRoot /var/www/nextcloud/
# log files
ErrorLog /var/log/apache2/nextclouds.howtoforge.local-error.log
CustomLog /var/log/apache2/nextcloud.howtoforge.local-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>
Quando terminar, salve o arquivo e saia do editor.
Agora execute o comando abaixo para ativar o arquivo host virtual nextcloud.conf e verifique sua sintaxe do Apache. Se você tiver a sintaxe adequada do Apache, obterá uma saída Syntax is OK.
sudo a2ensite nextcloud.conf
sudo apachectl configtest
Em seguida, execute o comando systemctl abaixo para reiniciar o servidor web Apache e aplicar suas alterações.
sudo systemctl restart apache2
Depois que o Apache for reiniciado, execute o comando certbot abaixo para gerar certificados SSL e proteger sua instalação do Nextcloud com HTTPS. Certifique-se de alterar o nome de domínio e o endereço de e-mail com suas informações.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email -d nextcloud.howtoforge.local
Instalando Nextcloud
Abra seu navegador da web e visite https://nexcloud.howtoforge.local/. Se sua configuração for bem-sucedida, você verá a página de instalação do Nextcloud.
Na página de instalação do Nextcloud, configure o seguinte:
- Insira seu usuário administrador e senha para Nextcloud
- Selecione o caminho de armazenamento como diretório padrão
- Insira os detalhes do banco de dados Nextcloud que você criou
- Clique em Instalar para iniciar a instalação.
Agora você pode instalar alguns aplicativos Nextcloud ou clicar em Pular.
Após a conclusão do processo, você verá a seguinte página:
Conclusão
Parabéns! Você concluiu a instalação do Nextcloud no servidor Ubuntu 24.04. Nextcloud está instalado e funcionando com LAMP Stack e protegido com HTTPS por meio de Certbot e Letsencrypt. Agora você pode criar novos usuários e fazer upload de arquivos para seu Nextcloud ou pode adicionar novos métodos de cache para melhorar seu desempenho.