Blog
Software: Writefreely
Web oficial: https://writefreely.org/
Documentación oficial: https://writefreely.org/docs
Foro/Matrix de soporte: https://discuss.write.as/c/writefreely
Ubicaciones importantes:/var/www/blog.anartist.org/
Logs relevantes:/var/log/syslog
Comandos de gestión
Crear un usuario nuevo
cd /var/www/blog.anartist.org/
sudo ./writefreely --create-user user:password
Crear una cuenta de administrador
cd /var/www/blog.anartist.org/
sudo ./writefreely --create-admin user:password
Actualizar
¡¡Siempre hay que leer la instrucciones en la documentación oficial y leer el changelog de la nueva versión!!
¡¡Es muy recomendable hacer una copia de seguridad antes de actualizar!!
# Detener writefreely
# Descargar ficheros de release y sustituirlos por los existentes. Luego ejecutar:
# Arrancar servicio writefreely de nuevo
# Ejecutar:
./writefreely db migrate
Diario de Instalación
He seguido las instrucciones de aquí
sudo apt update
sudo apt upgrade
sudo apt install nginx certbot python3-certbot-nginx mysql-server
sudo mysql
Primero creamos la base de datos:
CREATE DATABASE writefreely CHARACTER SET latin1 COLLATE latin1_swedish_ci;
CREATE USER 'writefreely'@'localhost' IDENTIFIED BY 'XXXXXXXXX';
GRANT ALL PRIVILEGES ON writefreely.* to writefreely@'localhost';
FLUSH PRIVILEGES;
exit
Descargamos writefreely y configuramos. Es un proceso que te va guiando. En nuestro caso, he puesto un máximo de 5 blogs por usuario.
wget https://github.com/writeas/writefreely/releases/download/v0.12.0/writefreely_0.12.0_linux_amd64.tar.gz
tar -xf writefreely_0.12.0_linux_amd64.tar.gz
cd writefreely
./writefreely config start
./writefreely keys generate
Durante la configuración, le he indicado la opción Producción detrás de un servidor proxy, así que configuro nginx:
cd /etc/nginx/sites-available/
sudo vi writefreely
Contenido del fichero de configuración nginx:
server {
server_name blog.anartist.org;
gzip on;
gzip_types
application/javascript
application/x-javascript
application/json
application/rss+xml
application/xml
image/svg+xml
image/x-icon
application/vnd.ms-fontobject
application/font-sfnt
text/css
text/plain;
gzip_min_length 256;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_vary on;
location ~ ^/.well-known/(webfinger|nodeinfo|host-meta) {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
}
location ~ ^/(css|img|js|fonts)/ {
root /var/www/blog.anartist.org/static;
# Optionally cache these files in the browser:
# expires 12M;
}
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/blog.anartist.org/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/blog.anartist.org/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = blog.anartist.org) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name blog.anartist.org;
return 404; # managed by Certbot
}
sudo ln -s /etc/nginx/sites-available/writefreely /etc/nginx/sites-enabled/
sudo systemctl restart nginx.service
sudo certbot --nginx
sudo mv /home/marcel/writefreely /var/www/
cd /var/www/
sudo mv writefreely/ blog.anartist.org/
sudo chown -R root:root blog.anartist.org/
Finalmente, creamos el servicio systemd:
sudo vi /etc/systemd/system/writefreely.service
Contenido del fichero de configuració *.service:
[Unit]
Description=WriteFreely Instance
#After=syslog.target network.target
# If MySQL is running on the same machine, uncomment the following
# line to use it, instead.
After=syslog.target network.target mysql.service
[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
WorkingDirectory=/var/www/blog.anartist.org/
ExecStart=/var/www/blog.anartist.org/writefreely
Restart=always
[Install]
WantedBy=multi-user.target
Y arrancamos el servicio. ¡Ya está disponible!
sudo systemctl restart writefreely.service
Finalmente, creo un usuario administrador y el primer usuario:
cd blog.anartist.org/
sudo ./writefreely --create-admin anartist:XXXXXXXXX
sudo ./writefreely --create-user marcel:XXXXXXXX
No Comments