Cómo tener tu propio blog con tecnologías libres

Existen dos tecnologías libres que para mí son las más sencillas y que, por ende, son mis preferidas, para poder hostear un blog. La primera es WriteFreely, que sostiene a mi otro blog El Coven Gen Z, y la segunda es BashBlog, que sostiene a este blog (CORRECCIÓN 2024-07-23: Ahora WriteFreely sostiene a ambos blogs). También existe WordPress y hay otras más, pero nunca las he usado y por ende no puedo opinar al respecto.

BashBlog

El caso de BashBlog es el más sencillo, ya que es básicamente un script de bash que, cuando lo ejecutas, genera en el directorio actual un conjunto de archivos .html y .css que le dan forma al blog, y entonces cada que queremos publicar una nueva entrada basta con poner ./bb.sh post, y se nos abrirá un editor de texto en donde podremos crearla. La edición del estilo visual del blog se hace modificando los archivos main.css y blog.css al gusto, y se puede crear un archivo de configuración .config para poner cosas como el nombre del blog, su descripción, nuestro correo electrónico, etcétera. En la descripción del blog del archivo de configuración se pueden poner etiquetas HTML para agregar información adicional (que es la manera en la que agregué los links “Sobre el blog” e “Índice” para que sean visibles en todos lados).

La edición se puede hacer mediante Markdown (en cuyo caso es necesario instalarlo en nuestra distribución), o mediante HTML. Ya que hemos terminado, basta con guardar el archivo y salir del editor para que el script genere la nueva entrada y modifique los archivos .html existentes para que estos reflejen los cambios. Parece que lo más adecuado es siempre usar el script para crear, modificar o eliminar entradas, ya que modificar los archivos manualmente puede provocar conflictos.

WriteFreely

WriteFreely es una tecnología basada en ActivityPub (y por ende es parte del Fediverso) que sirve para crear blogs minimalistas y sencillos. Tiene la ventaja de que existen diversas instancias en las que el usuario se puede registrar, y entonces ya no necesita autohostear. La edición del estilo visual del blog también es mediante css, pero en este caso se coloca en el apartado “Customize Blog”, en donde también podemos configurar cosas como su nombre, su descripción, su formato, si federa o no, y un pie de página que es más fácil de configurar que en BashBlog. En la parte superior izquierda viene un “Menú”, en el que podremos ver cosas como los suscriptores del blog, sus estadísticas, y podremos también escoger la opción “New Post” para crear una nueva entrada, que se hace y edita desde dentro del sitio. La edición también se puede hacer en Markdown o en HTML, y podemos guardar nuestras entradas en los borradores, para así no perder nuestro progreso y poder publicarlo después.

WriteFreely tiene también la característica de que podemos fijar entradas a gusto, con lo cual ya quedan en la parte superior y no hay que hacer más cambios. También es muy fácil importar y exportar posts, con lo que podemos hacer respaldos y/o transferir entradas entre instancias distintas.

Hosting

BashBlog necesariamente requiere autohost, aunque es posible que existan servidores que hosteen blogs gratis, que no conozco. Dado que BashBlog consiste en un montón de páginas web estáticas, no hay mayor ciencia en utilizar nginx o Apache para prestar servicio.

WriteFreely se puede hostear con el binario nativo o mediante Docker. En este caso es mejor revisar la guía oficial para aprender cómo se monta una instancia, que no es en realidad difícil. Para un blog personal una base SQLite basta, pero si queremos crear una instancia multiusuario entonces es mejor utilizar MySQL. Lo complicado de WriteFreely puede ser el hostearlo mediante nginx, en cuyo caso yo recomiendo utilizar un reverse proxy, especialmente si tenemos varios servidores en un mismo espacio (como yo). No sé cuál es el procedimiento para montar una instancia en Apache, pero imagino que debe ser similar a como es en nginx.

Para WriteFreely hay que crear manualmente el servicio y agregarlo para que el init system lo inicialice durante el arranque, para que se cargue la base de datos y se genere la vista que después se mostrará al usuario. En la guía oficial viene una explicación sencilla de cómo hacerlo en systemd (aunque me habría gustado que también viniera para otros init systems).

En ambos casos se requieren muy pocos recursos, y por ende podemos hostear desde nuestra propia computadora o desde un dispositivo (Servio hostea uno en la red de TOR desde su teléfono inteligente (link)). También podemos hacer uso de un servidor dedicado o una VPS (yo hosteo desde una VPS que anteriormente usaba para hostear bots de Discord, y con la que ahora mantengo mi sitio web y mis dos blogs). En este último caso recomiendo las de PloxHost, ya que son muy baratas, al menos para mí fue muy fácil configurar la mía, y prácticamente nunca he tenido cortes de servicio (¡Esto no es un sponsor! :þ).

También vale la pena mencionar que, dado que WriteFreely implementa a ActivityPub, entonces podremos compartir nuestras publicaciones en Mastodon y otros servicios del Fediverso.


Escrito por una humana, NO por IA. Con licencia CC BY.