Tutorial: creación de una instancia de Writefreely
Hoy os traigo un emocionante proyecto: montar tu propia instancia de WriteFreely, lo que te permitirá tener tu blog minimalista. En este artículo, describiré los pasos que he seguido para crear mi propio blog en una instancia de WriteFreely.
Paso 1: Preparativos
Lo primero que debes hacer es crear un usuario llamado «writefreely». A continuación, ingresa a este usuario utilizando los siguientes comandos:
useradd -r -m -d /srv/writefreely -s /bin/bash writefreely usermod -a -G www-data writefreely su - writefreely
Paso 2: Descargar WriteFreely
Descarga la última versión de WriteFreely desde GitHub y descomprímelo. Asegúrate de reemplazar «dominio.com» con tu propio dominio.
wget https://github.com/writefreely/writefreely/releases/download/v0.13.2/writefreely_0.13.2_linux_amd64.tar.gz
tar xvzf writefreely_0.13.2_linux_amd64.tar.gz
mv writefreely dominio.com
exit
chown writefreely.www-data -R /srv/writefreely/
Paso 3: Configura la Base de Datos
Instala MariaDB y crea una base de datos. Sustituye «usuarioqueelijas» y «contraseñaqueelijas» por los valores que prefieras.
apt install mariadb-server mysql -u root -p CREATE DATABASE writefreely; GRANT ALL PRIVILEGES ON writefreely.* TO 'usuarioqueelijas'@'localhost' IDENTIFIED BY 'contraseñaqueelijas'; exit
Paso 4: Genera la Configuración de WriteFreely
Accede al usuario «writefreely» y crea la configuración de WriteFreely. Asegúrate de reemplazar «dominio.com», «usuarioqueelijas», «contraseñaqueelijas» y otros valores según tus preferencias.
su - writefreely
cd dominio.com
./writefreely --create-config
Modifica el archivo de configuración con los siguientes datos:
username = usuarioqueelijas password = contraseñaqueelijas database = writefreely site_name = Título del blog site_description = Descripción del blog host = https://dominio.com default_visibility = public
Una vez hecho, guarda el archivo.
Paso 5: Genera la Clave de Cifrado y el Usuario Administrador
Desde el usuario «writefreely,» genera la clave de cifrado y crea el usuario administrador.
./writefreely db init ./writefreely keys generate ./writefreely --create-admin usuarioqueelijas:contraseñaqueelijas
Paso 6: Crea el Servicio en Systemd
Sal del usuario «writefreely» y crea un servicio Systemd.
nano /etc/systemd/system/writefreely.service
Pega el siguiente contenido en el archivo:
[Unit] Description=WriteFreely Instance After=syslog.target network.target mysql.service [Service] Type=simple StandardOutput=syslog StandardError=syslog User=writefreely Group=www-data WorkingDirectory=/srv/writefreely/dominio.com ExecStart=/srv/writefreely/dominio.com/writefreely Restart=always [Install] WantedBy=multi-user.target
Guarda el archivo y ejecuta los siguientes comandos:
systemctl daemon-reload
systemctl start writefreely
systemctl enable writefreely
Paso 7: Configura Nginx
Instala Nginx y Certbot, luego crea el archivo de configuración de Nginx.
apt install nginx certbot python3-certbot-nginx nano /etc/nginx/sites-available/writefreely.conf
En el archivo de configuración, agrega la siguiente configuración. Asegúrate de reemplazar «dominio.com» con tu propio dominio:
server { listen 80; listen [::]:80; server_name nuestrodominio.com; # Resto de la configuración }
Guarda el archivo y habilita el sitio:
cd /etc/nginx/sites-enabled/
ln -s ../sites-available/writefreely.conf
nginx -t
systemctl reload nginx
Paso 8: Configura Certbot
Finalmente, configura Certbot para obtener un certificado SSL.
apt install -y certbot python3-certbot-nginx certbot
Sigue las instrucciones de Certbot para obtener un certificado SSL.
¡Listo! Ahora puedes acceder a tu blog ingresando tu dominio en el navegador y utilizar el
usuario y la contraseña que configuraste anteriormente. Si encuentras algún error o necesitas ayuda, no dudes en contactarme en Mastodon.
¡Espero que disfrutes de tu nuevo blog minimalista creado con WriteFreely!