Cómo Instalar Tu Propio Twitter Federado con Pleroma

Microblogging es una forma maravillosa de expresar tus pensamientos. Es corto, sucinto y dulce. En este sentido, Twitter ha sido una de las plataformas de microblogging más populares del mundo. Sin embargo, depender de esta empresa en particular para tus necesidades de microblogging puede no ser la mejor solución para todos.
Afortunadamente, hay alternativas como Pleroma, que es un Twitter autohospedado. Esta es una plataforma de microblogging federada y ligera. Usar la federación permite que la plataforma se comunique con otras instancias federadas, lo que significa que no necesitas reunir a muchas personas para que tu propio Twitter privado comience a compartir información. Este artículo tiene como objetivo ayudarte a comenzar con Pleroma.
Tabla de Contenidos
- El Problema con Twitter
- Qué es la Federación y Cómo Funciona
- Cómo Instalar Pleroma
- Configura tus Registros DNS A y AAAA
- Obtén las Dependencias de Pleroma
- Crea el Usuario de Pleroma
- Descarga Pleroma
- Prepara e Instala Pleroma
- Configura la Instalación de Pleroma
- Configuraciones Específicas de Medios
- Finaliza tu Configuración de Pleroma
- Inicia la Base de Datos de Pleroma
- Inicia tu Servidor Pleroma
- Configuraciones Finales
- Preguntas Frecuentes
También lee: Las 7 Mejores Distribuciones Basadas en Debian para Probar Si Quieres una Alternativa a Ubuntu
El Problema con Twitter
Twitter ha sido conocido por banear cuentas aleatoriamente por infracciones vagas de políticas. Si eres alguien que ha acumulado años de publicaciones en Twitter, perder ese historial puede ser devastador. No solo eso, Twitter también ha sido conocido por entregar datos de usuarios tanto a anunciantes como a agencias gubernamentales.
Esto convierte a Twitter en una plataforma insegura para las personas que desean tener control total sobre sus datos o para periodistas que informan sobre temas controvertidos.
Qué es la Federación y Cómo Funciona
Una solución a este problema es construir una red social a través de la federación de servidores. Este es un sistema donde permites que múltiples servidores que ejecutan software similar se comuniquen entre sí de manera transparente.
Debido a eso, cualquier servidor federado puede actuar como un nodo para toda la red donde puedes acceder y participar con otros servidores.

A su vez, esto crea un ecosistema resiliente que puede adaptarse fácilmente a cualquier circunstancia. Por ejemplo, si un servidor Pleroma se cae, no terminaría con la red federada de Pleroma. Podría reducir la cantidad de publicaciones dentro de la red, pero otros servidores aún podrán comunicarse entre sí.
También lee: Cómo Instalar Debian a través de Internet
Cómo Instalar Pleroma
Pleroma requiere una serie de cosas antes de que puedas comenzar a configurarlo:
- Primero, necesitas tener una máquina públicamente descubrible. Esto podría ser una máquina en tu hogar a la que puedes hacer un reenvío de puertos o un VPS que compraste a un proveedor.
- Además, si estás utilizando un VPS para instalar Pleroma, necesitas tener acceso root a ese VPS. Esto se debe a que estarás instalando paquetes que Pleroma requiere para funcionar correctamente.
- Por último, necesitas tener un nombre de dominio. Esto se debe a que certbot, la utilidad de certificado SSL, requerirá un nombre de dominio para generar un certificado para tu instancia de Pleroma.
Con eso en mente, esta guía se centrará en instalar Pleroma en un VPS basado en Debian de Digitalocean.
1. Configura tus Registros DNS A y AAAA
Antes de comenzar, es prudente primero vincular tu nombre de dominio a la dirección IP de tu VPS.

Esto asegura que cualquier comando que haga referencia a tu nombre de dominio a continuación se resolverá correctamente. Como tal, esto se vuelve especialmente útil una vez que configures tus certificados SSL más adelante.
- Para vincular tu nombre de dominio a la dirección IP de tu VPS, debes editar el registro DNS de tu nombre de dominio. Aunque puedes usar un servicio de registro de dominios diferente al mío, el proceso de vincular tu nombre de dominio a la dirección de tu VPS es en gran medida el mismo.
- En mi caso, vinculé mi nombre de dominio: yetanotherpleromaserver.xyz a mi VPS de Digitalocean a través de Namesilo. Para hacer eso, primero accedí a la ventana del administrador de dominios de Namesilo.

- Desde aquí, necesitas hacer clic en el nombre de dominio. Esto mostrará la configuración para ese dominio específico.
- A continuación, haz clic en el enlace “Registros DNS”. Esto mostrará todos los registros DNS disponibles para tu nombre de dominio.

- Una vez hecho esto, añadí un recurso “A” a mi registro DNS haciendo clic en el enlace “A” en el cuadro “Agregar/Editar un Registro de Recursos” en la página de registros de Namesilo.

- Desde allí, lo único que necesitaba hacer era agregar la dirección IPv4 de mi VPS de Digitalocean.

- El proceso de agregar un registro “AAAA” también es el mismo. Sin embargo, en lugar de hacer clic en el enlace “A”, haré clic en el enlace “AAAA”. Además, en lugar de agregar la dirección IPv4, agregaré la dirección IPv6.

También lee: 5 Mejores Distribuciones Linux-Libre para Mejorar la Seguridad
2. Obtén las Dependencias de Pleroma
Lo siguiente que necesitas hacer es descargar todos los paquetes que Pleroma requiere. Como se discutió anteriormente, solo voy a resaltar el proceso de instalación para distribuciones de Linux basadas en Debian y Ubuntu. Como tal, usaré apt para instalar todos los paquetes requeridos.
Con eso en mente, Pleroma depende de tres programas principales: postgresql, elixir y erlang. Por lo tanto, necesitas instalar estos programas así como un par más que complementarán esos tres en su trabajo.
Para hacer eso, puedes ejecutar el siguiente comando:
sudo apt install git build-essential postgresql postgresql-contrib cmake libmagic-dev elixir erlang-dev erlang-nox nginx certbot
3. Crea el Usuario de Pleroma
Con eso hecho, lo siguiente que necesitas hacer es crear la cuenta de usuario “pleroma”. Esta es la cuenta que usarás para descargar e instalar el paquete de Pleroma. Hacerlo de esta manera asegura que el programa Pleroma no tenga acceso de superusuario a tu sistema.
Para hacer esto, puedes ejecutar el siguiente comando:
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma- La opción
-restablecerá al usuario “pleroma” como una cuenta del sistema en lugar de una cuenta de usuario. - Además, la opción
-sestablecerá el shell de inicio de sesión para este usuario como “false”. Esto asegura que el usuario pleroma, por sí mismo, no pueda ejecutar ningún comando desde un shell. - Por otro lado, las banderas
-my-destablecen el directorio home para el usuario “pleroma”. La bandera-mestablece explícitamente que la cuenta tendrá un directorio home y la bandera-destablece que ese directorio apunte a “/var/lib/pleroma”. - Por último, la bandera
-Ucrea un grupo de usuario con el mismo nombre y agrega al nuevo usuario Pleroma a ese grupo.

4. Descarga Pleroma
Desde allí, ahora puedes descargar el paquete de Pleroma desde sus repositorios. Para hacer eso, primero debes crear el directorio donde se descargarán los archivos:
sudo mkdir -p /opt/pleroma
sudo chown -R pleroma:pleroma /opt/pleroma- El primer comando creará el directorio “pleroma” donde descargarás todos los archivos para el programa.
- El segundo comando, por otro lado, transferirá la propiedad de esa carpeta de root a pleroma. Esto permitirá que pleroma lea y escriba en esta carpeta sin problemas.

Una vez hecho esto, lo siguiente que debes hacer es descargar el código fuente de Pleroma. Para hacer eso, necesitas usar git:
sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma
5. Prepara e Instala Pleroma
Ahora puedes ir al directorio /opt/pleroma para comenzar el proceso de instalación del programa:
cd /opt/pleromaDesde allí, necesitas ejecutar el programa Mix para obtener todas las dependencias adicionales para Pleroma. Para hacer eso, puedes ejecutar el siguiente comando:
sudo -Hu pleroma mix deps.get
Una vez hecho esto, ahora puedes proceder a compilar e instalar Pleroma. En eso, solo necesitas ejecutar un comando:
sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance genEste comando hará tres cosas:
- Primero, la opción
MIX_ENV=prodestablecerá la variable de entorno del programa para apuntar a una configuración de producción. Esto significa que el programa no contendrá herramientas y archivos de desarrollo. - La opción
gencreará un archivo de configuración que apunte a la variable de entorno que has proporcionado. - Por último, este comando también compilará e instalará Pleroma desde su código fuente. Debido a eso, este proceso tomará algún tiempo dependiendo del hardware en el que lo estés ejecutando.

También lee: Cómo Arreglar el Bucle de Inicio de Sesión de Ubuntu
6. Configura la Instalación de Pleroma
Una vez que Pleroma haya terminado de compilar, te pedirá información sobre tu servidor.
- Primero, necesitará el nombre de dominio que deseas usar para el programa. En mi caso, usé mi nombre de dominio: “yetanotherpleromaserver.xyz”.

- Desde allí, el script de configuración te preguntará el nombre que deseas para tu servidor Pleroma. En mi caso, usé el mismo nombre: “Yet Another Pleroma Server” para mi servidor.

- A continuación, ingresa tu dirección de correo electrónico de administrador. Este debería ser un correo electrónico adecuado que pueda recibir y enviar correos.

- Ahora selecciona si deseas que tu instancia de Pleroma sea indexable por motores de búsqueda. Esto es útil si deseas crear una instancia pública de Pleroma a la que otras personas puedan unirse e iniciar sesión. En mi caso, quería que este servidor fuera privado, así que seleccioné “n”.

- Después de eso, el script te preguntará si deseas guardar tu configuración en un archivo de base de datos. En su mayoría, querrás seleccionar “sí” aquí y seleccionar las opciones predeterminadas que te preguntará.

- Por último, el script requerirá que agregues algunos detalles sobre qué puerto y dirección escuchar. Si estás instalando Pleroma en la misma máquina en la que lo estás configurando, es seguro dejar los valores predeterminados aquí.
7. Configuraciones Específicas de Medios
Ahora, el script de configuración requerirá que selecciones dónde deseas guardar los archivos multimedia que se subirán al servidor. Similar a la configuración anterior, es seguro dejar estos en predeterminado.
A continuación, decide si deseas eliminar cualquier geolocalización de los datos EXIF de las fotos que recibirás. Esto es útil si deseas preservar la privacidad del uploader. Dado que solo usaré esto como una instancia privada, seleccioné “no” aquí.
Además, tendrás que decidir si deseas anonimizar los nombres de archivo de las subidas. Esto es especialmente útil si deseas eliminar cualquier asociación con el uploader y lo que subieron. En mi caso, también seleccioné “no” aquí.
Por último, el script de configuración te permitirá elegir si deseas crear múltiples copias de los archivos que se suben a tu servidor. En mi caso, seleccioné “no”.
8. Finaliza tu Configuración de Pleroma
- Ahora puedes ver tu archivo de configuración. Este se encuentra en “/opt/pleroma/config/generated_config.exs”. Puedes usar
lesspara verlo:
less /opt/pleroma/config/generated_config.exs- Para finalizar esta configuración, necesitas renombrar este archivo como “prod.secret.exs”. Puedes hacerlo ejecutando el siguiente comando:
sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}
También lee: Qué es la Red Yggdrasil y Cómo Instalarla
9. Inicia la Base de Datos de Pleroma
- Lo siguiente que necesitas hacer es iniciar el programa de base de datos. Para hacer eso, puedes usar la base de datos que Pleroma proporcionó. Puedes cargar esa base de datos ejecutando el siguiente comando:
sudo -Hu postgres psql -f /opt/pleroma/config/setup_db.psql
- Desde allí, ahora puedes vincular postgres y Pleroma migrando la base de datos de postgres a Pleroma. Para hacer eso, puedes ejecutar el siguiente comando:
sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
10. Inicia tu Servidor Pleroma
Ahora, es hora de ejecutar tu servidor Pleroma. Puedes hacer esto ejecutando el siguiente comando:
sudo -Hu pleroma MIX_ENV=prod mix phx.server
Sin embargo, este servidor aún es inaccesible desde el navegador regular. Para permitir eso, primero necesitas configurar certbot y nginx.
También lee: 9 de los Mejores Clientes de Correo Electrónico para Linux
Configurando Certbot para Pleroma
- Configurar certbot es relativamente sencillo. Primero, debes crear la carpeta donde se guardarán los certificados. Puedes hacer eso ejecutando el siguiente comando:
sudo mkdir -p /var/lib/letsencrypt/- Con eso hecho, ahora puedes generar un certificado para tu servidor Pleroma. Para hacer eso, puedes ejecutar este comando:
sudo certbot certonly --email [email protected] -d yourpleromaserver.com --standalone
Configurando Nginx para Pleroma
- Desde allí, lo siguiente que necesitas hacer es configurar tu servidor web nginx para Pleroma. La instalación de Pleroma ya proporciona una plantilla que puedes copiar al directorio de configuración de nginx. Para hacer eso, puedes ejecutar el siguiente comando:
sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx- A continuación, necesitarás editar este archivo de configuración para adaptarlo a tu servidor Pleroma. En la mayoría de los casos, esto solo implicará cambiar cuatro variables: server_name, ssl_trusted_certificate, ssl_certificate y ssl_certificate_key.
- Para la primera variable, necesitas cambiar el valor “example.tld” al nombre de dominio de tu servidor. En mi caso, cambié esto a “yetanotherpleromaserver.xyz”.

- Desde allí, las siguientes tres variables apuntan a la ubicación del certificado SSL de tu dominio. Si hiciste tu certificado a través de esta guía, esa ruta será “/etc/letsencrypt/live/yourdomain.name/“.
- Esto ya está proporcionado por la plantilla de nginx y lo único que queda por hacer es cambiar el valor “example.tld” a tu nombre de dominio.

- Con eso hecho, ahora puedes habilitar tu configuración de nginx creando un enlace simbólico al directorio activo de nginx. Para hacer eso, puedes ejecutar el siguiente comando:
sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx- Después de eso, ahora puedes iniciar nginx habilitando su servicio systemctl:
sudo systemctl enable nginx.service11. Configuraciones Finales
- Desde aquí, ahora puedes configurar el servicio del sistema para Pleroma y crear tu primer usuario. Por defecto, Pleroma incluye una plantilla de systemctl para habilitar su servicio a través de systemd. Para usar esa plantilla, puedes ejecutar el siguiente comando:
sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
- Ahora, puedes habilitar Pleroma a través de systemctl ejecutando este comando:
sudo systemctl enable pleroma.service
- Por último, ahora puedes crear tu primer usuario para tu instancia de Pleroma ejecutando el comando
pleroma.user:
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new yourusername [email protected] --admin
También lee: Cómo Arreglar el Problema de No Poder Escribir en la Terminal en Linux
Preguntas Frecuentes
1. Las imágenes que subo aún tienen datos de geolocalización en ellas. ¿Qué hice mal?
Esto puede deberse a una serie de cosas. Sin embargo, la razón más común por la que esto sucedió es porque no tienes el paquete exiftool. Para la guía anterior, exiftool no era un paquete que se instaló por defecto.
Como tal, para eliminar la geolocalización de las imágenes que subes, necesitas agregar ese paquete manualmente. Para hacer eso, puedes ejecutar el siguiente comando:
sudo apt install exiftool2. No puedo generar un Certificado Letsencrypt. ¿Qué hice mal?
Esto también puede deberse a una serie de cosas. Sin embargo, la causa más común para esto es que nginx aún está en ejecución.
Para que el comando certbot funcione, necesitas tener los puertos web comunes abiertos y no ocupados por ningún programa. Para deshabilitar nginx, puedes ejecutar el siguiente comando:
sudo systemctl stop nginxCrédito de la imagen: Pleroma