Como criar seu próprio Office 365 auto-hospedado com Cryptpad 1

Como criar seu próprio Office 365 auto-hospedado com Cryptpad

Cryptpad é um programa de suíte de escritório de código aberto que você pode hospedar em seu servidor. É semelhante ao Office 365 que permite acessar uma suíte de escritório diretamente do navegador. A principal diferença é que o Cryptpad foca na privacidade do usuário e permite que você crie e compartilhe documentos sem o risco de vazar nenhuma informação pessoal.

Este tutorial mostra como instalar o Cryptpad em seu servidor, como o Cryptpad funciona e como você pode criar sua primeira conta de usuário.

O que é o Cryptpad e por que você deve usá-lo?

Bloco de criptografia é uma suíte de escritório on-line que fornece uma alternativa voltada para a privacidade para edição colaborativa de documentos. Semelhante aos pacotes online, como Office 365 e Google Docs, permite criar e compartilhar documentos com outras pessoas pela Internet.

Uma das maiores vantagens do Cryptpad sobre o Office 365 é que ele é totalmente criptografado de ponta a ponta. Somente você e seus colaboradores podem acessar o documento que está editando, o que pode ser útil ao compartilhar documentos que contenham informações confidenciais com outras pessoas.

O Cryptpad também se destaca do Office 365, pois você pode auto-hospedá-lo totalmente em seu próprio hardware. Isso é especialmente útil se você estiver preocupado em armazenar suas informações em um provedor terceirizado.

Você sabe: você pode facilmente compartilhar um documento do Google Docs por e-mail.

Requisitos

Antes de poder instalar o Cryptpad, você precisa ter certeza de ter os seguintes recursos prontos:

  • Máquina acessível a partir de uma rede externa
  • Pelo menos 2 GB de RAM e 20 GB de armazenamento
  • Nome de domínio (e um nome de subdomínio) apontando para o endereço IP do seu servidor

Observação: este tutorial foi criado em um Ubuntu VPS de oceano digital.

Uma janela mostrando as informações do droplet Digitalocean.

Dica: embora o Cryptpad funcione a partir de um VPS padrão, seus desenvolvedores recomendam que você também proteja seu servidor Linux antes de instalar o programa.

Instalando o cryptpad

  1. Instale as dependências do Cryptpad:
sudo gpasswd -a www-data ramces
sudo apt install git nodejs npm nginx certbot python3-certbot-nginx
Uma janela de terminal mostrando as dependências do Cryptpad.
  1. Clone o código-fonte do programa de seu repositório:
git clone https://github.com/xwiki-labs/cryptpad.git cryptpad
Uma janela de terminal mostrando um git clone.
  1. Entre no repositório e mude para o branch mais recente:
cd cryptpad
git checkout -b 5.2.1
Uma janela de terminal mostrando uma opção de ramificação git.
  1. Usar npm para instalar o Bower, um gerenciador de pacotes que ajuda a instalar algumas das bibliotecas que o Cryptpad precisa.
sudo npm install -g bower
Uma janela de terminal mostrando o processo de instalação do bower.
  1. Instale o binário do Cryptpad executando ambos npm e bower dentro do repositório.
npm install
bower install
Uma janela de terminal mostrando o processo de instalação do Cryptpad.

Bom saber: você não precisa do Microsoft Office para abrir e visualizar um arquivo docx. conheça outras formas de abrir o arquivo docx que você possui.

Configurando o certificado SSL

Depois que o Cryptpad estiver em sua máquina, você poderá executar o Certbot para criar o certificado para sua instância:

sudo certbot certonly --standalone

Isso abrirá um prompt solicitando seu endereço de e-mail.

Uma janela de terminal mostrando o certbot solicitando um endereço de e-mail.

O utilitário Certbot solicitará os domínios que você deseja vincular ao seu certificado. Insira a raiz e o subdomínio.

Uma seção de uma janela de terminal que mostra o certbot solicitando os nomes de domínio.

Crie um arquivo de parâmetro Diffie-Hellman para sua instância. Esta é uma medida de segurança que os desenvolvedores exigem para garantir que sua instância esteja segura.

sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096

Bom saber: você pode aprender mais sobre OpenSSL e TLS criando seu próprio certificado autoassinado.

Configurando o Nginx

Para configurar o Nginx para servir o Cryptpad em seu domínio, você pode usar o arquivo de configuração de exemplo fornecido pelos desenvolvedores.

sudo cp /home/$USER/cryptpad/docs/example.nginx.conf /etc/nginx/conf.d/cryptpad.conf
Uma janela de terminal mostrando o comando de cópia de modelo.

Modifique seu novo arquivo de configuração com um editor de texto.

sudo nano /etc/nginx/conf.d/cryptpad.conf

Altere algumas variáveis ​​para fazer este arquivo funcionar. Primeiro, comente o include letsencrypt-webroot; linha.

Uma seção de uma janela de terminal mostrando a linha webroot desativada.

Em seguida, modifique ambos os $main_domain e $sandbox_domain variáveis. O primeiro deve conter seu domínio raiz, enquanto o último deve conter seu subdomínio.

Uma seção de uma janela de terminal que mostra as variáveis ​​de domínio.

Também modifique $api_domain e $files_domain. Ao contrário dos anteriores, você só precisa alterá-los para o domínio raiz da sua máquina.

Uma seção de uma janela de terminal que mostra outro conjunto de variáveis ​​de domínio.

Mudar o server_name variável para sua raiz e subdomínio.

Uma seção de uma janela de terminal que mostra a variável de nome do servidor.

Mudar ssl_certificate e ssl_certificate_key para o local do seu certificado SSL.

Uma seção de uma janela de terminal que mostra as variáveis ​​de caminho SSL.

Por último, substitua o valor do root variável com a localização do seu repositório Cryptpad.

Uma seção de uma janela de terminal que mostra a variável raiz da instância.

Configurando o Cryptpad

Use o arquivo de configuração de exemplo fornecido pelos desenvolvedores executando:

cp /home/$USER/cryptpad/config/config.example.js /home/$USER/cryptpad/config/config.js

Abra-o com um editor de texto e altere o httpUnsafeOrigin: variável para seu domínio raiz.

Uma seção de uma janela de terminal que mostra o domínio raiz.

Mudar o httpSafeOrigin: variável para o seu subdomínio.

Uma seção de uma janela de terminal que mostra o subdomínio.

Adicione a seguinte linha de código imediatamente após o httpSafeOrigin: variável.

adminEmail: '[email protected]',
Uma seção de uma janela de terminal que mostra o e-mail do administrador.

Criando o serviço SystemD

Também é possível vincular o Cryptpad a um serviço SystemD para permitir que você o inicie durante a inicialização do sistema executando o seguinte:

nano /home/$USER/cryptpad/docs/cryptpad.service

O bloco de código abaixo é uma versão que modifiquei para funcionar com minha máquina.

[Unit]
Description=Cryptpad Service
 
# Replace the username values with your own username.
 
[Service]
ExecStart=/bin/node /home/ramces/cryptpad/server.js
WorkingDirectory=/home/ramces/cryptpad
 
Restart=always
RestartSec=2
 
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=ramces
User=ramces
Group=ramces
Environment='PWD="/home/ramces/cryptpad"'
LimitNOFILE=1000000
 
[Install]
WantedBy=multi-user.target
Uma janela de terminal mostrando um modelo de serviço systemd.

Salve e saia deste arquivo e copie-o para a pasta de serviço SystemD:

sudo cp /home/$USER/cryptpad/docs/cryptpad.service /etc/systemd/system/cryptpad.service

Recarregue o SystemD para habilitar seu arquivo de serviço:

sudo systemctl daemon-reload
sudo systemctl enable cryptpad
sudo systemctl start cryptpad
sudo systemctl reload nginx

Executando o Cryptpad

Se tudo for feito corretamente, você poderá acessar o Cryptpad por meio de seu domínio raiz.

Uma janela mostrando uma instalação do cryptpad funcionando.

Criando sua conta de administrador no Cryptopad

Embora você possa usar o Cryptpad sem uma conta, é uma boa prática criar um usuário administrador para permitir que você gerencie sua instância por meio de sua interface da web.

  1. Pressione “Sign Up” na página inicial do Cryptpad.
Instale o link do botão de inscrição do Cryptpad Linux 32
  1. Digite seu nome de usuário e senha para criar uma nova conta.
Uma página que mostra o processo básico de criação do usuário.
  1. Depois de fazer login, clique no botão “Menu do usuário” no canto superior direito da página.
Uma página mostrando a interface básica do Cryptpad.
  1. Clique em “Configurações”.
Uma seção de uma página que mostra o menu do usuário do Cryptpad.
  1. Copie o conteúdo da caixa de texto “Public Signing Key”.
Uma seção de uma página que mostra a chave pública da minha conta de usuário.
  1. Volte para a pasta do seu repositório e abra seu arquivo de configuração:
nano /home/$USER/cryptpad/config/config.js

Procure o adminKeys: variável e cole sua chave de assinatura entre os colchetes:

Instale a chave de administração do arquivo de configuração do Cryptpad Linux 37
  1. Recarregue sua instância do Cryptpad por meio do SystemD:
sudo systemctl restart cryptpad
Uma página que mostra a tela de administração básica do Cryptpad.

perguntas frequentes

Por que recebo uma página em branco quando tento me conectar ao Cryptpad?

Esse problema provavelmente ocorre porque o registro DNS da sua máquina ainda não está se propagando nos principais servidores DNS. Você pode corrigir isso reduzindo o valor TTL na página de registro DNS do seu domínio para 3600.

Como faço para atualizar o Cryptpad depois de instalá-lo?

Você pode atualizar o Cryptpad acessando seu repositório e executando git pull. Isso fará o download de todos os arquivos de origem mais recentes do Cryptpad. Depois disso, você também precisa executar npm update && bower update para atualizar seus arquivos binários.

Ramces Vermelho
Ramces Vermelho

Ramces é um escritor de tecnologia que conviveu com computadores a vida toda. Leitor prolífico e estudante de antropologia, ele é um personagem excêntrico que escreve artigos sobre Linux e qualquer coisa * nix.

Apoie o nosso trabalho ❤️

Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.

Pagamento seguro no PayPal
Moyens I/O Staff motivou você, dando conselhos sobre tecnologia, desenvolvimento pessoal, estilo de vida e estratégias que irão ajudá-lo.