Tutorial

Como instalar e configurar o Nextcloud no Ubuntu 20.04

UbuntuApplicationsStorageUbuntu 20.04

Introdução

Nextcloud, uma ramificação do ownCloud, é um servidor de compartilhamento de arquivos que permite que você armazene seu conteúdo pessoal, como documentos e fotos, em um local centralizado, bem parecido com o Dropbox. A diferença com o Nextcloud é que todos os seus recursos são em código aberto. Além disso, ele restitui a você o controle e a segurança de seus dados confidenciais, eliminando assim o uso de serviço de hospedagem em nuvem de terceiros.

Neste tutorial, iremos instalar e configurar uma instância do Nextcloud em um servidor Ubuntu 20.04.

Pré-requisitos

Para completar os passos neste guia, será necessário o seguinte:

  • Um usuário não root com sudo habilitado e firewall configurados no seu servidor**: você pode criar um usuário com privilégios sudo e configurar um firewall básico, de acordo com o Guia de configuração inicial do servidor Ubuntu 20.04.
  • (Opcional) Um nome de domínio apontado para seu servidor: vamos garantir conexões com a instalação do Nextcloud com protocolos TLS/SSL. O Nextcloud pode configurar e gerenciar um certificado SSL gratuito e confiável do Let’s Encrypt se seu servidor tiver um nome de domínio. Se não tiver um nome de domínio, o Nextcloud pode definir um certificado SSL autoassinado que possa criptografar conexões; porém, ele não será confiável por padrão em navegadores Web. Se você estiver usando a DigitalOcean, leia nossa documentação do DNS para aprender como adicionar domínios à sua conta e gerenciar registros de DNS, se quiser usar o Let’s Encrypt.

Assim que concluir os passos acima, continue para aprender como configurar o Nextcloud no seu servidor.

Passo 1 — Como instalar o Nextcloud

Vamos instalar o Nextcloud usando o sistema de empacotamento Snap. Este sistema de empacotamento, disponível no Ubuntu 18.04 por padrão, permite que as organizações enviem software, junto com todas as dependências e configuração associadas, em uma unidade independente com atualizações automáticas. Isso significa que, em vez de instalar e configurar um servidor Web e de banco de dados e, depois, configurar o app Nextcloud para executá-lo, podemos instalar o pacote snap que lida com os sistemas subjacentes automaticamente.

Para baixar o pacote snap do Nextcloud e instalá-lo no sistema, digite:

  • sudo snap install nextcloud

O pacote Nextcloud será baixado e instalado no seu servidor. Você pode confirmar que o processo de instalação foi bem sucedido listando as alterações associadas ao snap:

  • snap changes nextcloud
Output
ID Status Spawn Ready Summary 4 Done today at 16:12 UTC today at 16:12 UTC Install "nextcloud" snap

O status e o resumo indicam que a instalação foi concluída sem problemas.

Obtendo informações adicionais sobre o Nextcloud Snap

Se quiser mais informações sobre o snap do Nextcloud, há alguns comandos que podem ser úteis.

O comando snap info pode mostrar a descrição, os comandos de gerenciamento do Nextcloud disponíveis, assim como a versão instalada e o canal snap sendo rastreado:

  • snap info nextcloud

Os Snaps podem definir as conexões que suportam, as quais consistem de um slot e um plug que - quando conectados juntos - permitem que o snap tenha acesso a certos recursos ou níveis de acesso. Por exemplo, os snaps que precisam atuar como um cliente de rede devem ter a conexão de network. Para ver quais “connections” de snap este snap define, digite:

  • snap connections nextcloud
Output
Interface Plug Slot Notes network nextcloud:network :network - network-bind nextcloud:network-bind :network-bind - removable-media nextcloud:removable-media - -

Para aprender sobre todos os serviços e apps específicos que este snap proporciona, consulte o arquivo definição de snap, digitando:

  • cat /snap/nextcloud/current/meta/snap.yaml

Isso permitirá que veja os componentes individuais incluídos dentro do snap, caso precise de ajuda com a depuração (debugging).

Passo 2 — Configurando uma conta administrativa

Existem algumas maneiras diferentes de configurar o snap do Nextcloud. Neste guia, vamos criar uma linha de comando - e não um usuário administrativo através da interface Web - para evitar uma pequena janela onde a página de registro do administrador fica acessível a qualquer um que visite o endereço de IP ou nome de domínio do seu servidor.

Para configurar o Nextcloud com uma nova conta de administrador, utilize o comando nextcloud.manual-install. Você deve enviar um nome de usuário e senha na forma de argumentos:

  • sudo nextcloud.manual-install sammy password

A seguinte mensagem indica que o Nextcloud foi configurado corretamente:

Output
Nextcloud was successfully installed

Agora que o Nextcloud está instalado, precisamos ajustar os domínios confiáveis para que o Nextcloud responda às solicitações, utilizando o nome de domínio ou endereço IP do servidor.

Passo 3 — Ajustando os domínios confiáveis

Ao instalar a partir da linha de comando, o Nextcloud restringe os nomes de host aos quais a instância responderá. Por padrão, o serviço responde somente aos pedidos feitos ao nome do host “localhost”. Acessaremos o Nextcloud através do nome de domínio ou endereço IP do servidor. Assim, precisaremos ajustar essa configuração para aceitar esses tipos de pedidos.

Você pode visualizar as configurações atuais, consultando o valor da matriz trusted_domains:

  • sudo nextcloud.occ config:system:get trusted_domains
Output
localhost

Atualmente, apenas o localhost está presente como o primeiro valor na matriz. Podemos adicionar uma entrada para nosso nome de domínio ou endereço de IP do servidor digitando:

  • sudo nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
System config value trusted_domains => 1 set to string example.com

Se consultarmos os domínios confiáveis novamente, veremos que agora temos duas entradas:

  • sudo nextcloud.occ config:system:get trusted_domains
Output
localhost example.com

Se precisar adicionar outra maneira de acessar a instância Nextcloud, poderá adicionar domínios ou endereços adicionais executando novamente o comando config:system:set com um número de índice incrementado (o “1” no primeiro comando) e ajustar o --value.

Passo 4 — Protegendo a interface Web do Nextcloud com o SSL

Antes de começar a utilizar o Nextcloud, precisamos proteger a interface Web.

Se tiver um nome de domínio associado ao seu servidor Nextcloud, o snap Nextcloud pode ajudá-lo a obter e configurar um certificado SSL confiável do Let’s Encrypt. Se seu servidor Nextcloud não tiver um nome de domínio, o Nextcloud pode configurar um certificado autoassinado que criptografará seu tráfego Web mas não será definido como confiável automaticamente pelo seu navegador Web.

Com isso em mente, siga a seção abaixo que corresponde ao seu cenário.

Opção 1: configurando o SSL com o Let’s Encrypt

Se tiver um nome de domínio associado ao seu servidor Nextcloud, a melhor opção para proteger sua interface Web é obter um certificado SSL do Let’s Encrypt.

Comece abrindo as portas do firewall que o Let’s Encrypt usa para validar a propriedade de domínio. Isso irá tornar sua página de login do Nextcloud acessível ao público; mas, como já temos uma conta de administrador configurada, ninguém conseguirá de comprometer a instalação:

  • sudo ufw allow 80,443/tcp

Em seguida, peça um certificado do Let’s Encrypt digitando:

  • sudo nextcloud.enable-https lets-encrypt

Primeiramente, será perguntado se seu servidor atende as condições necessárias para solicitar um certificado do serviço do Let’s Encrypt:

Output
In order for Let's Encrypt to verify that you actually own the domain(s) for which you're requesting a certificate, there are a number of requirements of which you need to be aware: 1. In order to register with the Let's Encrypt ACME server, you must agree to the currently-in-effect Subscriber Agreement located here: https://letsencrypt.org/repository/ By continuing to use this tool you agree to these terms. Please cancel now if otherwise. 2. You must have the domain name(s) for which you want certificates pointing at the external IP address of this machine. 3. Both ports 80 and 443 on the external IP address of this machine must point to this machine (e.g. port forwarding might need to be setup on your router). Have you met these requirements? (y/n)

Digite y para continuar.

Em seguida, será solicitado que forneça um endereço de e-mail para usar em operações de recuperação:

Output
Please enter an email address (for urgent notices or key recovery):

Digite seu e-mail e pressione Enter para continuar.

Finalmente, digite o nome de domínio associado ao seu servidor Nextcloud:

Output
Please enter your domain name(s) (space-separated): example.com

Seu certificado Let’s Encrypt será solicitado e, desde que tudo tenha corrido bem, a instância interna do Apache será reiniciada para implementar imediatamente o SSL:

Output
Attempting to obtain certificates... done Restarting apache... done

Agora, você pode avançar e entrar no Nextcloud pela primeira vez​​​.​​​

Opção 2: configurando o SSL com um certificado autoassinado

Se seu servidor NextCloud não tiver um nome de domínio, ainda assim é possível proteger a interface Web, gerando um certificado SSL autoassinado. Este certificado permitirá o acesso à interface Web em uma conexão criptografada, mas será incapaz de verificar a identidade do seu servidor, então seu navegador provavelmente exibirá um aviso.

Para gerar um certificado autoassinado e configurar o Nextcloud para usá-lo, digite:

  • sudo nextcloud.enable-https self-signed
Output
Generating key and self-signed certificate... done Restarting apache... done

A saída de dados acima indica que o Nextcloud gerou e habilitou um certificado autoassinado.

Agora que a interface está segura, abra as portas Web no firewall para permitir o acesso à interface Web:

  • sudo ufw allow 80,443/tcp

Agora, você está pronto para fazer login no Nextcloud pela primeira vez.

Passo 5 — Fazendo login na interface Web do Nextcloud

Agora que o Nextcloud está configurado, visite seu nome de domínio ou endereço IP do seu servidor no seu navegador Web:

https://example.com

Nota: se configurar um certificado SSL autoassinado, o seu navegador pode exibir um aviso de que a conexão não é segura porque o certificado do servidor não está assinado por uma autoridade de certificação reconhecida. Isso é de se esperar de certificados autoassinados; então, sinta-se à vontade para clicar no aviso para prosseguir até o site.

Como você já configurou uma conta de administrador a partir da linha de comando, você será levado até a página de login da Nextcloud. Digite as credenciais que você criou para o usuário administrativo:

Nextcloud login page

Clique no botão Log in​​​ para fazer login na interface Web Nextcloud.

A primeira vez que você entrar, uma janela será exibida com um texto introdutório e links para diversos clientes do Nextcloud que podem ser usados para acessar sua instância do Nextcloud:

Nextcloud client modal

Clique para baixar os clientes que lhe interessem, ou saia da janela clicando no X, no canto superior direito. Você será levado para a interface principal do Nextcloud, onde você pode começar a fazer upload e gerenciar arquivos:

Nextcloud main page

Sua instalação agora está completa e segura. Sinta-se à vontade para explorar a interface para se familiarizar com as características e funcionalidades do seu novo sistema.

Conclusão

O Nextcloud pode replicar as capacidades de serviços populares de armazenamento em nuvem de terceiros. O conteúdo pode ser compartilhado entre os usuários ou externamente com URLs públicas. A vantagem do Nextcloud é que as informações são armazenadas de maneira segura em um lugar que você controla.

Para outras funcionalidades, dê uma olhada na app store do Nextcloud, onde você pode instalar plug-ins para aumentar as capacidades do serviço.

0 Comments

Creative Commons License