Tags: #rust
Depois de 7 anos congelado, estou revivendo o Blogaro. Estava querendo voltar a escrever em português, mas não sabia mais como lidar com os constantes furos de segurança do wordpress.
Wordpress usa mysql para armazenar os dados. De quando em quando alguma pessoa sem o que fazer, inseria posts a comentários usando algum furo de segurança do wordpress. Isso dava no saco, mas eu fui levando e deletando posts e comentários indo de venda de serviços a pornografia. Até que um dia...
Eu recebo um e-mail de uma empresa dizendo que eu estava falando do produto deles sem autorização e que eles iriam exigir que o meu site fosse removido se eu não tirasse os posts do ar. Eu estava na Itália, sem meu computador, não conseguindo fazer nada. Essa foi a gota d'água.
Bom, para começar, eu não queria passar por isso novamente, então eu decidi que iria usar uma plataforma onde meus posts não ficariam num banco de dados ou algo assim e ficariam num formato aberto que eu não precisasse mais converter - Escolhido o Texted como plataforma e Markdown como formato.
(PS: Eu fiz o texted com esse propósito no passado para hospedar o thiagocafe.com. Eu já tinha problemas com o wordpress e por isso quis fazer algo novo)
Eu fiz basicamente isso para o bootstrap inicial: Creating a new blog with Texted
Depois, usando o excelente Obsidian, eu copiava e colava o conteúdo do post, diretamente do wordpress (renderizado) para o obsidian.
Com todos os posts convertidos, agora é hora de hospedar.
Passos e workflow
Criar um serviço no systemd é muito simples. Basta criar um arquivo com a configuração:
E.g. /etc/systemd/system/blogaro.service
[Unit]
Description=Blogaro
[Service]
ExecStart=/var/www/meublog/run.sh
User=bloguser
Group=bloguser
Restart=always
[Install]
WantedBy=multi-user.target
E o arquivo run.sh
#!/bin/bash
cd /var/www/meublog
/var/www/meublog/texted 2>&1 >> /tmp/meublog.log
O primeiro bloco do arquivo /etc/httpd/conf.d/001-blogaro-le-ssl.conf
redireciona para https quando um request é http. O segundo, contém o proxy para o texted, configurado para usar a porta 8081 e o certificado SSL feito usando Let's Encrypt
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName blogaro.com.br
ServerAlias www.blogaro.com.br
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.blogaro.com.br [OR]
RewriteCond %{SERVER_NAME} =blogaro.com.br [OR]
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
ServerName blogaro.com.br
ServerAlias www.blogaro.com.br
ProxyPass / http://localhost:8081/
ProxyPassReverse / http://localhost:8081/
RewriteEngine on
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/blogaro.com.br/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/blogaro.com.br/privkey.pem
</VirtualHost>
</IfModule>
E para terminar, executei o texted e reiniciei o apache
systemctl restart blogaro.service
systemctl restart httpd.service
Até