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 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
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
- Clone o código-fonte do programa de seu repositório:
git clone https://github.com/xwiki-labs/cryptpad.git cryptpad
- Entre no repositório e mude para o branch mais recente:
cd cryptpad
git checkout -b 5.2.1
- Use
npm
para instalar o Bower, um gerenciador de pacotes que ajuda a instalar algumas das bibliotecas de que o Cryptpad precisa.
sudo npm install -g bower
- Instale o binário do Cryptpad executando ambos
npm
ebower
dentro do repositório.
npm install
bower install
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.
O utilitário Certbot solicitará os domínios que você deseja vincular ao seu certificado. Insira a raiz e o subdomí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
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.
Em seguida, modifique as variáveis $main_domain
e . $sandbox_domain
O primeiro deve conter seu domínio raiz, enquanto o último deve conter seu subdomí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.
Altere a server_name
variável para sua raiz e subdomínio.
Altere ssl_certificate
e ssl_certificate_key
para o local do seu certificado SSL.
Por fim, substitua o valor da root
variável pelo local do seu repositório Cryptpad.
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.
Altere a httpSafeOrigin:
variável para seu subdomínio.
Adicione a seguinte linha de código imediatamente após a httpSafeOrigin:
variável.
adminEmail: 'working_email@address.here',
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
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.
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.
- Digite seu nome de usuário e senha para criar uma nova conta.
- Depois de fazer login, clique no botão “Menu do usuário” no canto superior direito da página.
- Clique em “Configurações”.
- Copie o conteúdo da caixa de texto “Public Signing Key”.
- 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:
- Recarregue sua instância do Cryptpad por meio do SystemD:
sudo systemctl restart 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.
Crédito da imagem: Unsplash . Todas as alterações e screenshots por Ramces Red.
Deixe um comentário