<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>writefreely &amp;mdash; El rincón de ferlagod </title>
    <link>https://escritura.social/ferlagod/tag:writefreely</link>
    <description>Blog personal sobre tecnología, cine, series, libros y cualquier frikada.</description>
    <pubDate>Tue, 28 Apr 2026 21:32:39 +0000</pubDate>
    <item>
      <title>Mi diseño para WriteFreely</title>
      <link>https://escritura.social/ferlagod/mi-diseno-para-writefreely</link>
      <description>&lt;![CDATA[Como ya sabéis, mi mudanza a escritura.social  fue por  recuperar el placer de escribir en un entorno limpio y sin distracciones. Pero claro, el minimalismo extremo de WriteFreely a veces puede resultar un poco frío.&#xA;&#xA;Por eso, me he pasado un buen rato trasteando con el CSS para que este rincón tenga personalidad propia. He buscado una estética que llamo &#34;Base Kadence Cálida&#34;: colores que no cansen la vista, una tipografía clara y una disposición parecida al tema Kadence de Wordpress .&#xA;&#xA;A diferencia de los diseños pesados de otras plataformas, aquí no hay scripts que te sigan ni florituras que ralenticen la carga. He apostado por:&#xA;&#xA;Una rejilla universal: En la portada, los posts se ven en dos columnas (en escritorio) para que de un vistazo veas de qué va la cosa.&#xA;&#xA;Tonos crema y carbón: He buscado un fondo suave para que la pantalla no parezca una linterna.&#xA;&#xA;Tarjetas: Cada entrada tiene su espacio, con un ligero efecto al pasar el ratón para que sepa que ahí hay algo que contar.&#xA;&#xA;Legibilidad en el móvil: Porque sé que muchos me leéis desde el teléfono.&#xA;&#xA;Como creo en compartir y en el conocimiento libre, aquí os dejo el CSS que utilizo. Es totalmente válido para cualquier blog en WriteFreely. Si tienes un blog en el Fediverso y quieres darle un aire más acogedor, solo tienes que copiar y pegar esto en tu configuración, y si deseas modificarlo a tu gusto:&#xA;&#xA;/ --- BASE KADENCE CÁLIDA --- /&#xA;body {&#xA;    background-color: #fdfaf6;&#xA;    color: #3e3e3e;&#xA;    font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, sans-serif;&#xA;    line-height: 1.6;&#xA;}&#xA;&#xA;/ --- TÍTULO PRINCIPAL --- /&#xA;header h1 {&#xA;    margin: 80px 0 15px 0;&#xA;    text-align: center;&#xA;}&#xA;&#xA;header h1 a {&#xA;    font-family: &#34;Playfair Display&#34;, &#34;Didot&#34;, &#34;Bodoni MT&#34;, &#34;Georgia&#34;, serif;&#xA;    font-weight: 700;&#xA;    font-style: italic;&#xA;    font-size: 3.2rem;&#xA;    color: #1a1a1a !important;&#xA;    text-decoration: none;&#xA;    border: none !important;&#xA;}&#xA;&#xA;header p.description {&#xA;    font-size: 0.85rem;&#xA;    text-transform: uppercase;&#xA;    letter-spacing: 3px;&#xA;    color: #9e938a;&#xA;    text-align: center;&#xA;    margin-bottom: 70px;&#xA;}&#xA;&#xA;/ --- REJILLA UNIVERSAL (Portada, Tags y Búsquedas) --- /&#xA;posts {&#xA;    display: grid !important;&#xA;    grid-template-columns: repeat(2, 1fr) !important;&#xA;    gap: 70px 40px !important; &#xA;    max-width: 1100px;&#xA;    margin: 0 auto;&#xA;    padding: 20px;&#xA;}&#xA;&#xA;/ --- TARJETA KADENCE --- /&#xA;body:not(#post) article {&#xA;    background: #ffffff;&#xA;    border: 1px solid #f0ece8;&#xA;    border-radius: 16px;&#xA;    height: 260px; &#xA;    display: flex;&#xA;    flex-direction: column;&#xA;    justify-content: center;&#xA;    padding: 40px; &#xA;    overflow: hidden;&#xA;    box-shadow: 0 4px 12px rgba(0,0,0,0.03);&#xA;    transition: all 0.3s ease;&#xA;    position: relative;&#xA;    box-sizing: border-box;&#xA;}&#xA;&#xA;body:not(#post) article:hover {&#xA;    transform: translateY(-5px);&#xA;    box-shadow: 0 15px 35px rgba(184, 161, 142, 0.15);&#xA;    border-color: #d4a373;&#xA;}&#xA;&#xA;body:not(#post) article h2 {&#xA;    font-size: 1.3rem;&#xA;    font-weight: 700;&#xA;    margin: 0 0 10px 0;&#xA;    line-height: 1.3;&#xA;}&#xA;&#xA;body:not(#post) article h2 a {&#xA;    color: #1a1a1a;&#xA;    border: none !important;&#xA;}&#xA;&#xA;body:not(#post) article nav.edit-meta {&#xA;    display: none;&#xA;}&#xA;&#xA;body:not(#post) article time, .post-date {&#xA;    font-size: 0.75rem;&#xA;    color: #b8a18e;&#xA;    font-weight: 600;&#xA;    text-transform: uppercase;&#xA;    margin-bottom: 10px;&#xA;}&#xA;&#xA;body:not(#post) article   :not(h2):not(time):not(.post-date):not(nav) {&#xA;    font-size: 0.9rem;&#xA;    color: #666;&#xA;    display: -webkit-box;&#xA;    -webkit-line-clamp: 3;&#xA;    -webkit-box-orient: vertical;&#xA;    overflow: hidden;&#xA;}&#xA;&#xA;/ --- FIRMA (POST SIGNATURE) --- /&#xA;.post-signature {&#xA;    margin: 80px auto;&#xA;    padding: 40px;&#xA;    max-width: 700px;&#xA;    background: #fff;&#xA;    border-radius: 16px;&#xA;    border: 1px solid #f0ece8;&#xA;    text-align: center;&#xA;}&#xA;&#xA;.post-signature a {&#xA;    color: #d4a373;&#xA;    font-weight: 600;&#xA;    text-decoration: none;&#xA;}&#xA;&#xA;/ --- RESPONSIVO --- /&#xA;@media (max-width: 800px) {&#xA;    #posts { &#xA;        grid-template-columns: 1fr !important; &#xA;        gap: 40px !important;&#xA;    }&#xA;    header h1 a { font-size: 2.2rem; }&#xA;}&#xA;&#xA;/ --- VISTA DE LECTURA (Aquí aplicamos el margen para móvil) --- /&#xA;post article { &#xA;    max-width: 720px; &#xA;    margin: 60px auto; &#xA;    height: auto; &#xA;    display: block; &#xA;    background: transparent;&#xA;    border: none;&#xA;    box-shadow: none;&#xA;    / Cambio clave: 0 arriba/abajo, 20px a los lados para que no pegue al filo /&#xA;    padding: 0 20px; &#xA;    box-sizing: border-box;&#xA;}&#xA;&#xA;/ Aseguramos que las imágenes tampoco peguen al filo */&#xA;post article img {&#xA;    max-width: 100%;&#xA;    height: auto;&#xA;    border-radius: 8px;&#xA;}&#xA;&#xA;Espero que os guste el nuevo aire del blog.&#xA;&#xA;#Writefreely #CSS #Estilos&#xA;&#xA;div class=&#34;post-signature&#34;&#xD;&#xA;    pstrongEl rincón de ferlagod/strong — Si dejas tu comentario en Mastodon te leeré./p&#xD;&#xA;p/p&#xD;&#xA;    pContenido bajo licencia a href=&#34;https://creativecommons.org/licenses/by-sa/4.0/&#34;Creative Commons BY-SA 4.0/a./p&#xD;&#xA;p/p&#xD;&#xA;    pa rel=&#34;me&#34; href=&#34;https://frikiverse.zone/@ferlagod&#34;Me puedes encontrar en Mastodon/a/p&#xD;&#xA;img src=&#34;https://i.imgur.com/sTFawkr.png&#34; alt=&#34;Copia de Enredando Temas&#34; width=&#34;64&#34; /&#xD;&#xA;&#xD;&#xA;/div&#xD;&#xA;&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Como ya sabéis, mi mudanza a <strong><em>escritura.social</em></strong>  fue por  recuperar el placer de escribir en un entorno limpio y sin distracciones. Pero claro, el minimalismo extremo de WriteFreely a veces puede resultar un poco frío.</p>

<p>Por eso, me he pasado un buen rato trasteando con el CSS para que este rincón tenga personalidad propia. He buscado una estética que llamo “Base Kadence Cálida”: colores que no cansen la vista, una tipografía clara y una disposición parecida al tema Kadence de Wordpress .</p>

<p>A diferencia de los diseños pesados de otras plataformas, aquí no hay scripts que te sigan ni florituras que ralenticen la carga. He apostado por:</p>
<ul><li><p><em>Una rejilla universal:</em> En la portada, los posts se ven en dos columnas (en escritorio) para que de un vistazo veas de qué va la cosa.</p></li>

<li><p><em>Tonos crema y carbón:</em> He buscado un fondo suave para que la pantalla no parezca una linterna.</p></li>

<li><p><em>Tarjetas:</em> Cada entrada tiene su espacio, con un ligero efecto al pasar el ratón para que sepa que ahí hay algo que contar.</p></li>

<li><p><em>Legibilidad en el móvil</em>: Porque sé que muchos me leéis desde el teléfono.</p></li></ul>

<p>Como creo en compartir y en el conocimiento libre, aquí os dejo el CSS que utilizo. Es totalmente válido para cualquier blog en WriteFreely. Si tienes un blog en el Fediverso y quieres darle un aire más acogedor, solo tienes que copiar y pegar esto en tu configuración, y si deseas modificarlo a tu gusto:</p>

<pre><code>/* --- BASE KADENCE CÁLIDA --- */
body {
    background-color: #fdfaf6;
    color: #3e3e3e;
    font-family: -apple-system, BlinkMacSystemFont, &#34;Segoe UI&#34;, Roboto, sans-serif;
    line-height: 1.6;
}

/* --- TÍTULO PRINCIPAL --- */
header h1 {
    margin: 80px 0 15px 0;
    text-align: center;
}

header h1 a {
    font-family: &#34;Playfair Display&#34;, &#34;Didot&#34;, &#34;Bodoni MT&#34;, &#34;Georgia&#34;, serif;
    font-weight: 700;
    font-style: italic;
    font-size: 3.2rem;
    color: #1a1a1a !important;
    text-decoration: none;
    border: none !important;
}

header p.description {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #9e938a;
    text-align: center;
    margin-bottom: 70px;
}

/* --- REJILLA UNIVERSAL (Portada, Tags y Búsquedas) --- */
#posts {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 70px 40px !important; 
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

/* --- TARJETA KADENCE --- */
body:not(#post) article {
    background: #ffffff;
    border: 1px solid #f0ece8;
    border-radius: 16px;
    height: 260px; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px; 
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    transition: all 0.3s ease;
    position: relative;
    box-sizing: border-box;
}

body:not(#post) article:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(184, 161, 142, 0.15);
    border-color: #d4a373;
}

body:not(#post) article h2 {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

body:not(#post) article h2 a {
    color: #1a1a1a;
    border: none !important;
}

body:not(#post) article nav.edit-meta {
    display: none;
}

body:not(#post) article time, .post-date {
    font-size: 0.75rem;
    color: #b8a18e;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}

body:not(#post) article &gt; *:not(h2):not(time):not(.post-date):not(nav) {
    font-size: 0.9rem;
    color: #666;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- FIRMA (POST SIGNATURE) --- */
.post-signature {
    margin: 80px auto;
    padding: 40px;
    max-width: 700px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #f0ece8;
    text-align: center;
}

.post-signature a {
    color: #d4a373;
    font-weight: 600;
    text-decoration: none;
}

/* --- RESPONSIVO --- */
@media (max-width: 800px) {
    #posts { 
        grid-template-columns: 1fr !important; 
        gap: 40px !important;
    }
    header h1 a { font-size: 2.2rem; }
}

/* --- VISTA DE LECTURA (Aquí aplicamos el margen para móvil) --- */
#post article { 
    max-width: 720px; 
    margin: 60px auto; 
    height: auto; 
    display: block; 
    background: transparent;
    border: none;
    box-shadow: none;
    /* Cambio clave: 0 arriba/abajo, 20px a los lados para que no pegue al filo */
    padding: 0 20px; 
    box-sizing: border-box;
}

/* Aseguramos que las imágenes tampoco peguen al filo */
#post article img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
</code></pre>

<p>Espero que os guste el nuevo aire del blog.</p>

<p><a href="/ferlagod/tag:Writefreely" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Writefreely</span></a> <a href="/ferlagod/tag:CSS" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">CSS</span></a> <a href="/ferlagod/tag:Estilos" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Estilos</span></a></p>

<div class="post-signature">
    <p><strong>El rincón de ferlagod</strong> — Si dejas tu comentario en Mastodon te leeré.</p>
<p></p>
    <p>Contenido bajo licencia <a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="nofollow">Creative Commons BY-SA 4.0</a>.</p>
<p></p>
    <p><a href="https://frikiverse.zone/@ferlagod" rel="nofollow">Me puedes encontrar en Mastodon</a></p>
<img src="https://i.imgur.com/sTFawkr.png" alt="Copia de Enredando Temas" width="64"/>

</div>
]]></content:encoded>
      <guid>https://escritura.social/ferlagod/mi-diseno-para-writefreely</guid>
      <pubDate>Sun, 25 Jan 2026 17:14:24 +0000</pubDate>
    </item>
    <item>
      <title>Tutorial: creación de una instancia de Writefreely</title>
      <link>https://escritura.social/ferlagod/tutorial-creacion-de-una-instancia-de-writefreely</link>
      <description>&lt;![CDATA[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.&#xA;&#xA;Paso 1: Preparativos&#xA;&#xA;Lo primero que debes hacer es crear un usuario llamado «writefreely». A continuación, ingresa a este usuario utilizando los siguientes comandos:&#xA;    &#xA;    &#xA;    useradd -r -m -d /srv/writefreely -s /bin/bash writefreely&#xA;    usermod -a -G www-data writefreely&#xA;    su - writefreely&#xA;&#xA;Paso 2: Descargar WriteFreely&#xA;&#xA;Descarga la última versión de WriteFreely desde GitHub y descomprímelo. Asegúrate de reemplazar «dominio.com» con tu propio dominio.&#xA;    &#xA;wget https://github.com/writefreely/writefreely/releases/download/v0.13.2/writefreely0.13.2linuxamd64.tar.gz&#xA;&#xA;tar xvzf writefreely0.13.2linuxamd64.tar.gz&#xA;&#xA;mv writefreely dominio.com&#xA;&#xA;exit&#xA;&#xA;chown writefreely.www-data -R /srv/writefreely/&#xA;&#xA;Paso 3: Configura la Base de Datos&#xA;&#xA;Instala MariaDB y crea una base de datos. Sustituye «usuarioqueelijas» y «contraseñaqueelijas» por los valores que prefieras.&#xA;    &#xA; apt install mariadb-server&#xA;&#xA;mysql -u root -p&#xA;&#xA;CREATE DATABASE writefreely;&#xA;&#xA;GRANT ALL PRIVILEGES ON writefreely.* TO &#39;usuarioqueelijas&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;contraseñaqueelijas&#39;;&#xA;&#xA;exit&#xA;&#xA;Paso 4: Genera la Configuración de WriteFreely&#xA;&#xA;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.&#xA;    &#xA; su - writefreely&#xA;&#xA;cd dominio.com./writefreely --create-config&#xA;&#xA;Modifica el archivo de configuración con los siguientes datos:&#xA;    &#xA;username = usuarioqueelijas&#xA;&#xA;password = contraseñaqueelijas&#xA;&#xA;database = writefreely&#xA;&#xA;sitename          = WriteFreely de usuario&#xA;&#xA;sitedescription   = Tutorial de como instalar WriteFreely&#xA;&#xA;host               = https://nuestrodominio&#xA;&#xA;defaultvisibility = unlisted&#xA;&#xA;Una vez hecho, guarda el archivo.&#xA;&#xA;Paso 5: Genera la Clave de Cifrado y el Usuario Administrador&#xA;&#xA;Desde el usuario «writefreely,» genera la clave de cifrado y crea el usuario administrador.&#xA;    &#xA;    ./writefreely db init&#xA;&#xA;    ./writefreely keys generate&#xA;&#xA;    ./writefreely --create-admin usuarioqueelijas:contraseñaqueelijas&#xA;&#xA;Paso 6: Crea el Servicio en Systemd&#xA;&#xA;Sal del usuario «writefreely» y crea un servicio Systemd.&#xA;    &#xA;    &#xA;    nano /etc/systemd/system/writefreely.service&#xA;&#xA;Pega el siguiente contenido en el archivo:&#xA;    &#xA;[Unit]&#xA;Description=WriteFreely Instance&#xA;After=syslog.target network.target mysql.service&#xA;&#xA;[Service]&#xA;Type=simple&#xA;StandardOutput=syslog&#xA;StandardError=syslog&#xA;User=writefreely&#xA;Group=writefreely&#xA;WorkingDirectory=/srv/writefreely/nuestrodominio.com&#xA;ExecStart=/srv/writefreely/nuestrodominio.com/writefreely&#xA;Restart=always&#xA;&#xA;[Install]&#xA;WantedBy=multi-user.target&#xA;&#xA;Guarda el archivo y ejecuta los siguientes comandos:&#xA;    &#xA;    &#xA;systemctl daemon-reload&#xA;systemctl start writefreely&#xA;systemctl enable writefreely&#xA;&#xA;Paso 7: Configura Nginx&#xA;&#xA;Instala Nginx y Certbot , luego crea el archivo de configuración de Nginx.&#xA;    &#xA;    &#xA;apt install nginx certbot python3-certbot-nginx&#xA;nano /etc/nginx/sites-available/writefreely.conf&#xA;&#xA;En el archivo de configuración, agrega la siguiente configuración. Asegúrate de reemplazar «dominio.com» con tu propio dominio:&#xA;    &#xA;    &#xA;server {&#xA;    listen 80;&#xA;    listen [::]:80;&#xA;&#xA;    servername nuestrodominio.com;&#xA;&#xA;    gzip on;&#xA;    gziptypes&#xA;      application/javascript&#xA;      application/x-javascript&#xA;      application/json&#xA;      application/rss+xml&#xA;      application/xml&#xA;      image/svg+xml&#xA;      image/x-icon&#xA;      application/vnd.ms-fontobject&#xA;      application/font-sfnt&#xA;      text/css&#xA;      text/plain;&#xA;    gzipminlength 256;&#xA;    gzipcomplevel 5;&#xA;    gziphttpversion 1.1;&#xA;    gzipvary on;&#xA;&#xA;    location ~ ^/.well-known/(webfinger|nodeinfo|host-meta) {&#xA;        proxysetheader Host $host;&#xA;        proxysetheader X-Real-IP $remoteaddr;&#xA;        proxysetheader X-Forwarded-For $remoteaddr;&#xA;        proxypass http://127.0.0.1:8080;&#xA;        proxyredirect off;&#xA;    }&#xA;&#xA;    location ~ ^/(css|img|js|fonts)/ {&#xA;        root /srv/writefreely/nuestrodominio.com/static;&#xA;        # Optionally cache these files in the browser:&#xA;        # expires 12M;&#xA;    }&#xA;&#xA;    location / {&#xA;        proxysetheader Host $host;&#xA;        proxysetheader X-Real-IP $remoteaddr;&#xA;        proxysetheader X-Forwarded-For $remoteaddr;&#xA;        proxypass http://127.0.0.1:8080;&#xA;        proxyredirect off;&#xA;    }&#xA;}&#xA;&#xA;Guarda el archivo y habilita el sitio:&#xA;    &#xA;    &#xA;cd /etc/nginx/sites-enabled/&#xA;ln -s ../sites-available/writefreely.conf&#xA;nginx -t&#xA;systemctl reload nginx&#xA;&#xA;Paso 8: Configura Certbot&#xA;&#xA;Finalmente, configura Certbot para obtener un certificado SSL.&#xA;    &#xA;    &#xA;apt install -y &#xA;certbot python3-certbot-nginx&#xA;certbot&#xA;&#xA;Sigue las instrucciones de Certbot para obtener un certificado SSL.&#xA;&#xA;¡Listo! Ahora puedes acceder a tu blog ingresando tu dominio en el navegador y utilizar el&#xA;&#xA;usuario y la contraseña que configuraste anteriormente. Si encuentras algún error o necesitas ayuda, no dudes en contactarme en Mastodon.&#xA;&#xA;¡Espero que disfrutes de tu nuevo blog minimalista creado con WriteFreely!&#xA;&#xA;#Tecnología #Writefreely #Tutorial&#xA;&#xA;div class=&#34;post-signature&#34;&#xD;&#xA;    pstrongEl rincón de ferlagod/strong — Si dejas tu comentario en Mastodon te leeré./p&#xD;&#xA;p/p&#xD;&#xA;    pContenido bajo licencia a href=&#34;https://creativecommons.org/licenses/by-sa/4.0/&#34;Creative Commons BY-SA 4.0/a./p&#xD;&#xA;p/p&#xD;&#xA;    pa rel=&#34;me&#34; href=&#34;https://frikiverse.zone/@ferlagod&#34;Me puedes encontrar en Mastodon/a/p&#xD;&#xA;img src=&#34;https://i.imgur.com/sTFawkr.png&#34; alt=&#34;Copia de Enredando Temas&#34; width=&#34;64&#34; /&#xD;&#xA;&#xD;&#xA;/div&#xD;&#xA;&#xD;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>Hoy os traigo un emocionante proyecto: montar tu propia instancia de <strong>WriteFreely</strong> , lo que te permitirá tener tu <a href="https://writefreely.org/" rel="nofollow">blog minimalista</a>. En este artículo, describiré los pasos que he seguido para crear mi propio blog en una instancia de WriteFreely.</p>

<h2 id="paso-1-preparativos">Paso 1: Preparativos</h2>

<p>Lo primero que debes hacer es crear un usuario llamado «writefreely». A continuación, ingresa a este usuario utilizando los siguientes comandos:</p>

<p>    <code>useradd -r -m -d /srv/writefreely -s /bin/bash writefreely</code>
    <code>usermod -a -G www-data writefreely</code>
    <code>su - writefreely</code></p>

<h2 id="paso-2-descargar-writefreely">Paso 2: Descargar WriteFreely</h2>

<p>Descarga la última versión de WriteFreely desde GitHub y descomprímelo. Asegúrate de reemplazar «dominio.com» con tu propio dominio.</p>

<pre><code>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/
</code></pre>

<h2 id="paso-3-configura-la-base-de-datos">Paso 3: Configura la Base de Datos</h2>

<p>Instala <strong>MariaDB</strong> y crea una base de datos. Sustituye «usuarioqueelijas» y «contraseñaqueelijas» por los valores que prefieras.</p>

<pre><code>apt install mariadb-server

mysql -u root -p

CREATE DATABASE writefreely;

GRANT ALL PRIVILEGES ON writefreely.* TO &#39;usuarioqueelijas&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;contraseñaqueelijas&#39;;

exit
</code></pre>

<h2 id="paso-4-genera-la-configuración-de-writefreely">Paso 4: Genera la Configuración de WriteFreely</h2>

<p>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.</p>

<pre><code>su - writefreely

cd dominio.com./writefreely --create-config
</code></pre>

<p>Modifica el archivo de configuración con los siguientes datos:</p>

<pre><code>username = usuarioqueelijas

password = contraseñaqueelijas

database = writefreely

site_name          = WriteFreely de usuario

site_description   = Tutorial de como instalar WriteFreely

host               = https://nuestrodominio

default_visibility = unlisted
</code></pre>

<p>Una vez hecho, guarda el archivo.</p>

<h2 id="paso-5-genera-la-clave-de-cifrado-y-el-usuario-administrador">Paso 5: Genera la Clave de Cifrado y el Usuario Administrador</h2>

<p>Desde el usuario «writefreely,» genera la clave de cifrado y crea el usuario administrador.</p>

<pre><code>    ./writefreely db init

    ./writefreely keys generate

    ./writefreely --create-admin usuarioqueelijas:contraseñaqueelijas
</code></pre>

<h2 id="paso-6-crea-el-servicio-en-systemd">Paso 6: Crea el Servicio en Systemd</h2>

<p>Sal del usuario «writefreely» y crea un servicio Systemd.</p>

<p>    <code>nano /etc/systemd/system/writefreely.service</code></p>

<p>Pega el siguiente contenido en el archivo:</p>

<pre><code>[Unit]
Description=WriteFreely Instance
After=syslog.target network.target mysql.service

[Service]
Type=simple
StandardOutput=syslog
StandardError=syslog
User=writefreely
Group=writefreely
WorkingDirectory=/srv/writefreely/nuestrodominio.com
ExecStart=/srv/writefreely/nuestrodominio.com/writefreely
Restart=always

[Install]
WantedBy=multi-user.target
</code></pre>

<p>Guarda el archivo y ejecuta los siguientes comandos:</p>

<pre><code>systemctl daemon-reload
systemctl start writefreely
systemctl enable writefreely
</code></pre>

<h2 id="paso-7-configura-nginx">Paso 7: Configura Nginx</h2>

<p>Instala <strong>Nginx</strong> y <strong>Certbot</strong> , luego crea el archivo de configuración de Nginx.</p>

<p><code>apt install nginx certbot python3-certbot-nginx</code>
<code>nano /etc/nginx/sites-available/writefreely.conf</code></p>

<p>En el archivo de configuración, agrega la siguiente configuración. Asegúrate de reemplazar «dominio.com» con tu propio dominio:</p>

<pre><code>server {
    listen 80;
    listen [::]:80;

    server_name nuestrodominio.com;

    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 /srv/writefreely/nuestrodominio.com/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;
    }
}
</code></pre>

<p>Guarda el archivo y habilita el sitio:</p>

<pre><code>cd /etc/nginx/sites-enabled/
ln -s ../sites-available/writefreely.conf
nginx -t
systemctl reload nginx
</code></pre>

<h2 id="paso-8-configura-certbot">Paso 8: Configura Certbot</h2>

<p>Finalmente, configura <strong>Certbot</strong> para obtener un certificado SSL.</p>

<pre><code>    
apt install -y 
certbot python3-certbot-nginx
certbot
</code></pre>

<p>Sigue las instrucciones de Certbot para obtener un certificado SSL.</p>

<p>¡Listo! Ahora puedes acceder a tu blog ingresando tu dominio en el navegador y utilizar el</p>

<p>usuario y la contraseña que configuraste anteriormente. Si encuentras algún error o necesitas ayuda, no dudes en contactarme en Mastodon.</p>

<p>¡Espero que disfrutes de tu nuevo blog minimalista creado con WriteFreely!</p>

<p><a href="/ferlagod/tag:Tecnolog%C3%ADa" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Tecnología</span></a> <a href="/ferlagod/tag:Writefreely" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Writefreely</span></a> <a href="/ferlagod/tag:Tutorial" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">Tutorial</span></a></p>

<div class="post-signature">
    <p><strong>El rincón de ferlagod</strong> — Si dejas tu comentario en Mastodon te leeré.</p>
<p></p>
    <p>Contenido bajo licencia <a href="https://creativecommons.org/licenses/by-sa/4.0/" rel="nofollow">Creative Commons BY-SA 4.0</a>.</p>
<p></p>
    <p><a href="https://frikiverse.zone/@ferlagod" rel="nofollow">Me puedes encontrar en Mastodon</a></p>
<img src="https://i.imgur.com/sTFawkr.png" alt="Copia de Enredando Temas" width="64"/>

</div>
]]></content:encoded>
      <guid>https://escritura.social/ferlagod/tutorial-creacion-de-una-instancia-de-writefreely</guid>
      <pubDate>Tue, 29 Nov 2022 22:14:33 +0000</pubDate>
    </item>
  </channel>
</rss>