Vamos instalar um repositório de cookbooks? Introdução ao DokuWiki

Olá a todos!

Hoje vamos falar sobre outra ferramenta que muito nos irá facilitar a nossa vida no mundo da administração de sistemas: os tão amados cookbooks de Linux!
Se  ainda não estão familiarizados com este termo, não se preocupem. No fim deste post já saberão o que é.

Sabem aqueles momentos em que precisamos de configurar um servidor ou aplicação desde o zero? Instalar e configurar aplicações e fazer o fine tuning a elas, ou até mesmo atualizar o sistema operativo de forma consistente em várias máquinas? Pois bem, os cookbooks estão aqui para nos salvar dessa tarefa repetitiva. Não precisamos de nos lembrar tudo o que fizemos á meses, pois temos tudo escrito.

Basicamente, um cookbook é um conjunto de receitas que contém instruções detalhadas de como preparar e configurar um ambiente específico no Linux.  Não confundir com os cookbooks típicos do Chef. Esses são escritos em uma linguagem especifica chamada Chef.

Abraçar a inclusão de um repositório de cookbooks no nosso método de trabalho é como ter uma caixa de ferramentas cheia de ferramentas especializadas para cada tarefa. Isto economiza tempo valioso e evita dores de cabeça desnecessárias. Só por si é um selling point.

Com um repositório bem organizado, podemos facilmente encontrar receitas prontas para as mais diversas necessidades. Seja a configuração de um servidor web, database, serviço de e-mail ou qualquer outra coisa, basta o escrever uma vez, armazenar e para a próxima só temos que o utilizar.

Podemos ajustar as nossas receitas de acordo com as suas necessidades específicas, adicionando ou removendo ingredientes, por assim dizer. Isto dá-nos uma flexibilidade incrível para adaptar os ambientes de acordo com os requisitos dos nossos projetos.

E não podemos esquecer do poder da comunidade! Em todos os projetos que participo, se não existirem já, é das primeiras coisas que implemento pois os repositórios de cookbooks são construídos colaborativamente por pessoas como nós, que enfrentam os mesmos desafios no dia a dia.
Isto significa que podemos compartilhar nossas próprias receitas e também aprender com as experiências dos outros. É uma verdadeira festa para os geeks do Linux!

Assim sendo, e muito em high level, irei abordar a instalação de um selfhosted repositório de cookbooks: o DokuWiki, desta forma em Rocky Linux 8.

 

 

Em primeiro lugar, depois da instalação do servidor.

Atualizar o sistema:

# sudo dnf update

Instalar o servidor web Apache:

# sudo dnf instalar httpd

Inciar o serviço Apache:

#sudo systemctl start httpd

Ativar o serviço Apache para iniciar no boot:

#sudo systemctl ativar httpd

Instalar o PHP e os módulos PHP necessários:

#sudo yum install php php-mbstring php-xml php-gd php-pdo

Descarregue a versão estável mais recente do DokuWiki no site oficial:

#wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Extraia o arquivo baixado:

#tar -xzf dokuwiki-stable.tgz

Movam o diretório DokuWiki extraído para a raiz do documento Apache:

sudo mv dokuwiki-*/ /var/www/html/dokuwiki

Definam a propriedade e as permissões corretas:

#sudo chown -R apache:apache /var/www/html/dokuwiki
#sudo chmod -R 755 /var/www/html/dokuwiki

Criem um novo arquivo de configuração de host virtual para DokuWiki:

# sudo nano /etc/httpd/conf.d/dokuwiki.conf

Adicionem a seguinte configuração ao arquivo:

<VirtualHost *:80>
ServidorAdmin webmaster@localhost
DocumentRoot /var/www/html/dokuwiki
ServerName seu-dominio.com
ErrorLog /var/log/httpd/dokuwiki_error.log
CustomLog /var/log/httpd/dokuwiki_access.log combinado
<Diretório “/var/www/html/dokuwiki”>
Permitir substituir tudo
Opções FollowSymLinks
Exigir todos concedidos
</Diretório>
</VirtualHost>

Reinicie o serviço Apache para aplicar as alterações:

# sudo systemctl reiniciar httpd

Acessedam ao DokuWiki através do vosso browser navegando até o endereço IP ou nome de domínio do vosso servidor.

E pronto. Está feito.

Agora é começarem a carregar a vossa documentação no vosso servidor.
Mas perguntam-me, mas Nuno, não é mais facil ter tudo em txt? Ou em doc? Sim é, mas se repararem, o DokuWiki quando fazem documentação nova, gera precisamente ficheiros .txt sem necessidade de backend especifico em SQL ou equivalente, e em formato ANSI txt. Ou seja, nada de lock-in a um vendor ou tecnologia em especifico.
Outra coisa que o dokuwiki tem é um eco sistema grande de plugins, desde search, templating, formating, markups. Tudo que necessitam para ter uma plataforma de conhecimento centralizada.

Espero que tenham gostado deste post. Até a proxima semana!
Se tiverem alguma duvida ou reparo, já sabem onde me encontrar.

Abraço
Nuno