Enredando Temas

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!

Thoughts? Leave a comment