Tutorial

Como Instalar e Configurar o Nextcloud no Ubuntu 18.04

Published on December 12, 2019
Português
Como Instalar e Configurar o Nextcloud no Ubuntu 18.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 de Nextcloud em um servidor Ubuntu 18.04.

Pré-requisitos

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

  • Um usuário sudo 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 18.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 estiver usando o DigitalOcean, você pode seguir nosso guia sobre como configurar um nome de domínio para seu servidor, caso pretenda usar o certificado 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 snappy. 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 autocontida 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:

  1. 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:

  1. snap changes nextcloud
Output
ID Status Spawn Ready Summary 2 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:

  1. snap info nextcloud

Os Snaps podem definir as interfaces 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 interface de network. Para ver quais “interfaces” de snap este snap define, digite:

  1. snap interfaces nextcloud
Output
Slot Plug :network nextcloud :network-bind nextcloud - 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:

  1. 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).

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:

  1. sudo nextcloud.manual-install sammy password

A seguinte mensagem indica que o Nextcloud foi configurado corretamente:

Output
Nextcloud is not installed - only a limited number of commands are available 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.

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:

  1. 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:

  1. 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:

  1. 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.

Protegendo a interface Web da Nextcloud com 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 irá criptografar o seu tráfego Web, mas não poderá verificar a identidade do seu servidor.

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:

  1. sudo ufw allow 80,443/tcp

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

  1. 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): your_email@domain.com

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:

  1. 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:

  1. sudo ufw allow 80,443/tcp

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

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ê digitar, uma janela será exibida com links para vários clientes Nextcloud que podem ser usados para interagir e gerenciar sua instância 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.

Explore a interface e, para obter funcionalidades adicionais, instale plug-ins utilizando a Nextcloud’s app store.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors


Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more