Uma plataforma para Kubernetes
24 de janeiro de 2024Desenvolvedores: sua API foi projetada para invasores?
24 de janeiro de 2024Se seus desenvolvedores (ou qualquer equipe de sua empresa) precisarem usar uma solução interna para hospedar itens como documentação, código, arquivos YAML ou qualquer coisa, há uma vasta gama de opções para você escolher.
Uma dessas opções é o Etherpad, que é um editor de texto baseado na web que oferece colaboração, controle de versão e formatação em tempo real. Etherpad também oferece suporte a plug-ins para coisas como alinhamento, títulos, remarcações, uploads de imagens, comentários, cores de fontes, sumário, incorporação de hiperlinks, verificação ortográfica e muito mais. Para encontrar uma lista completa de plugins, confira a lista oficial aqui.
O Etherpad também está disponível em 105 idiomas e é usado por milhões de pessoas em todo o mundo.
Com esta ferramenta, suas equipes poderão colaborar facilmente em diversos tipos de documentos, sem precisar depender de um serviço terceirizado.
Vou demonstrar a implantação do Etherpad por meio do Docker no Ubuntu Server 22.04. Você pode implantar o Etherpad internamente ou até mesmo em seu host de nuvem de terceiros.
O que você precisará
As únicas coisas que você precisa para isso são uma instância em execução do Ubuntu Server e um usuário com sudo privilégios. Como estamos implantando isso como um serviço interno, não é necessário um nome de domínio. Se, no entanto, você quiser acessar o Etherpad de fora da sua LAN, você terá que executar etapas extras para configurar o servidor para um domínio e certificar-se de que o hardware da sua rede esteja configurado para rotear o tráfego para o servidor Etherpad.
Instalando o Docker
Como implantaremos o Etherpad como um contêiner, você desejará ter o mecanismo de tempo de execução Docker instalado em sua máquina, o que significa que você pode implantar em qualquer plataforma que suporte Docker. Claro, sendo o Ubuntu Server a minha plataforma preferida, vou demonstrar nesse sistema operacional.
Faça login em sua instância do Ubuntu Server. Se o seu servidor tiver uma GUI, abra uma janela de terminal. Uma vez logado, a primeira coisa a fazer é adicionar a chave oficial do Docker GPG com o comando:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Em seguida, adicione o repositório oficial do Docker com:
echo "deb (arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg) https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Instale as dependências necessárias com:
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release git -y
Atualize o apt com o comando:
sudo apt-get update
Agora você pode instalar a versão mais recente do mecanismo Docker com o comando:
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
Adicione o seu ao grupo docker (para que você possa trabalhar com o Docker sem precisar usar o sudo…o que pode ser um risco à segurança) com o comando:
sudo usermod -aG docker $USER
Saia e faça login novamente para que as alterações tenham efeito.
Com o Docker instalado, você está pronto para implantar o Etherpad.
Implantando Ethernet com Docker
Agora é hora de implantar o Etherpad. Primeiro, vamos extrair a imagem oficial mais recente com o comando:
docker pull etherpad/etherpad
Depois que a imagem for extraída, você poderá implantar o contêiner com o comando:
docker run --detach --publish 9001:9001 etherpad/etherpad
Dê ao recipiente um minuto para girar. Você pode verificar seu status com o comando:
docker ps -a | grep etherpad
A saída deve incluir saudável, o que indica que o contêiner está funcionando e pronto para conexões.
Acessando o Etherpad
Neste ponto, o Etherpad está pronto. Aponte um navegador da web (que esteja conectado à mesma rede que hospeda o Etherpad) para http://SERVER:9001 (onde SERVER é o endereço IP do servidor de hospedagem. Você será saudado pelo botão New Pad create (Figura 1).
Você pode clicar em Novo bloco ou digitar um nome para um novo bloco e clicar em OK. Como esta é a primeira vez que você trabalha com o Etherpad, não haverá nenhum Pad para trabalhar. Assim que o Etherpad carregar, você verá uma nota rápida no primeiro bloco.
A rota de instalação completa
Uma coisa a ter em mente, entretanto, é que a versão Docker do Etherpad usa DirtyDB, que geralmente não é recomendado para produção. Você pode suprimir esse aviso (conforme instruído no Pad inicial) ou pode ignorar a implantação do Docker e fazer uma instalação completa. Aqui estão as etapas para instalar o Etherpad no Ubuntu Server 22.04.
- Se você já implantou o contêiner, pare-o com docker stop ID (onde ID é o ID do contêiner Etherpad, que pode ser encontrado com docker ps -a |grep etherpad).
- Adicione o repositório Nodejs com curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash –
- Instale o Nodejs com sudo apt-get install nodejs -y
- Instale o servidor MariaDB com sudo apt-get ijnstal mariadb-server -y
- Faça login no console MariaDB com sudo mysql
- Crie o banco de dados com CRIAR BANCO DE DADOS etherpad_db;
- Crie um usuário com CRIAR USUÁRIO etherpaduser@localhost IDENTIFICADO POR ‘SENHA’; (Onde PASSWORD é uma senha forte).
- Conceda os privilégios necessários com CONCEDER TODOS OS PRIVILÉGIOS EM etherpad_db.* PARA etherpaduser@localhost;
- Limpe a tabela de privilégios com PRIVILÉGIOS DE FLUSH;
- Saia do console MariaDB com SAÍDA
- Adicione um usuário dedicado com sudo adduser éter
- Mude para o novo usuário com não é éter
- Clone a fonte Etherpad com clone git – branch master https://github.com/ether/etherpad-lite.git
- Mude para o diretório recém-criado com cd etherpad-lite
- Defina uma variável de ambiente necessária com exportar NODE_ENV=produção
- Instale o Etherpad com src/bin/run.sh
- Abra o firewall comsudo ufw permitir 9001.
As etapas acima instalarão e iniciarão o Etherpad, mas não retornarão o prompt do bash. Ainda há algum trabalho a fazer. Cancele o serviço em execução com o atalho de teclado (Ctrl)+(C). Abra o arquivo de configurações do Etherpad com o comando:
nano etherpad-lite/settings.json
Altere esta seção:
"dbType" : "dirty", "dbSettings" : { "filename" : "var/dirty.db" },
Para isso:
/* "dbType" : "dirty", "dbSettings" : { "filename" : "var/dirty.db" }, */
Em seguida, localize o “tipo de banco de dados“:”mysql“, seção e remova o /* e */ linhas. Nessa mesma seção, altere a opção de usuário para etherpaduser e a opção de senha para a senha que você definiu para o usuário do banco de dados etherpad e altere a entrada do banco de dados para etherpad_db. A seguir, localize o confiançaProxy linha e altere-a de falso para verdadeiro.
No mesmo arquivo, localize o requer autenticação variável e altere-a de falso para verdadeiro.
Finalmente, localize a seção do usuário (começa com “Usuários”: {) e remova o /* e */ linhas. Na mesma seção, altere a senha (cujo padrão é changeme1) para algo forte e exclusivo.
Salve e feche o arquivo.
Instale as dependências necessárias emitindo o comando:
./bin/installDeps.sh
Quando isso for concluído, saia do usuário atual com o comando exit.
A seguir, devemos criar um sistema arquivo de serviço com o comando:
sudo nano /etc/systemd/system/etherpad.service
Cole as seguintes linhas no arquivo:
(Unit) Description=Etherpad-lite, the collaborative editor. After=syslog.target network.target (Service) Type=simple User=ether Group=ether WorkingDirectory=/etherpad-lite Environment=NODE_ENV=production ExecStart=/usr/bin/node /etherpad-lite/src/node/server.js Restart=always (Install) WantedBy=multi-user.target
Salve e feche o arquivo.
Recarregue o daemon systemd com o comando:
sudo systemctl daemon-reload
Inicie e ative o serviço com:
sudo systemctl enable --now etherpad
Agora você deve conseguir acessar o Etherpad da mesma forma que fez após implantá-lo com o Docker.
De qualquer forma, suas equipes desfrutarão de uma ferramenta interna de colaboração em tempo real, onde poderão trabalhar juntas em documentação, código, arquivos YAML ou qualquer coisa que possa ser criada em um editor de texto.
A postagem Implante Etherpad para uma alternativa interna ao Google Docs apareceu pela primeira vez em The New Stack.