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

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?

O Cryptpad é um pacote de escritório online que oferece 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 sessão básica do Cryptpad Wordpad.

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ê sabia : 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
Uma janela mostrando as informações do droplet Digitalocean.

Instalando o cryptpad

  • 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.
  • 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.
  • 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.
  • Use npmpara instalar o Bower, um gerenciador de pacotes que ajuda a instalar algumas das bibliotecas de que o Cryptpad precisa.

sudo npm install -g bower

Uma janela de terminal mostrando o processo de instalação do bower.
  • Instale o binário do Cryptpad executando ambos npme bowerdentro do repositório.

npm install
bower install

Uma janela de terminal mostrando o processo de instalação do Cryptpad.

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

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 a include letsencrypt-webroot;linha.

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

Em seguida, modifique as variáveis $main_domain​​e . $sandbox_domainO 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_domaine $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.

Altere a server_namevariável para sua raiz e subdomínio.

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

Altere ssl_certificatee ssl_certificate_keypara o local do seu certificado SSL.

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

Por fim, substitua o valor da rootvariável pelo local 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 a httpUnsafeOrigin:variável para seu domínio raiz.

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

Altere a httpSafeOrigin:variável para 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 a httpSafeOrigin:variável.

adminEmail: 'working_email@address.here',

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.

  • Pressione “Sign Up” na página inicial do Cryptpad.
Instale o link do botão de inscrição do Cryptpad Linux 32
  • 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.
  • 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.
  • Clique em “Configurações”.
Uma seção de uma página que mostra o menu do usuário do Cryptpad.
  • 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.
  • Volte para a pasta do seu repositório e abra seu arquivo de configuração:

nano /home/$USER/cryptpad/config/config.js

Procure a 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
  • 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 updatepara atualizar seus arquivos binários.

Crédito da imagem: Unsplash . Todas as alterações e screenshots por Ramces Red.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *