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.
Para completar os passos neste guia, será necessário o seguinte:
sudo
e configurar um firewall básico, de acordo com o Guia de configuração inicial do servidor Ubuntu 18.04.Assim que concluir os passos acima, continue para aprender como configurar o Nextcloud no seu servidor.
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:
- 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
OutputID 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.
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 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:
- snap interfaces nextcloud
OutputSlot 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:
- 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).
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:
OutputNextcloud 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.
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
Outputlocalhost
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
OutputSystem 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
Outputlocalhost
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.
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.
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:
OutputIn 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:
OutputPlease 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:
OutputPlease 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:
OutputAttempting to obtain certificates... done
Restarting apache... done
Agora, você pode avançar e entrar no Nextcloud pela primeira vez.
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
OutputGenerating 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.
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:
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:
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:
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.
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.
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!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.