Redes sociales · 13 min read · Oct 13, 2025
Cómo instalar la red social Mastodon en Debian 11

Mastodon es una red social gratuita, descentralizada y de código abierto similar a Twitter. En Mastodon, los usuarios pueden seguirse entre sí y publicar mensajes, imágenes y videos. Pero a diferencia de Twitter, no hay un almacén central o autoridad para el contenido.
Con la arquitectura descentralizada, Mastodon opera en miles de servidores diferentes, cada uno administrado por varios miembros de la comunidad. Puedes crear tu servidor Mastodon bajo tu dominio. También puedes seguir a otros usuarios con diferentes dominios en otros servidores.
En este tutorial, instalarás Mastodon, una plataforma de microblogging descentralizada en un servidor Debian 11. Con esta guía, configurarás Mastodon con PostgreSQL como el servidor de base de datos y Nginx como un proxy inverso. Además, asegurarás la instalación de Mastodon a través de certificados SSL gratuitos de Letsencrypt.
Requisitos previos
Esta guía asume que tienes los siguientes requisitos:
- Un servidor Debian 11 - este ejemplo utiliza el último servidor Debian 11 con el nombre de host ‘ mastodon-server ‘ y la dirección IP ‘ 192.168.5.40 ‘.
- Un usuario no root con privilegios de administrador sudo/root.
- Un nombre de dominio apuntado y resuelto a tu servidor Debian público - este ejemplo utiliza el subdominio ‘ mastodon.howtoforge.local ‘.
Cuando tengas esos requisitos previos, estás listo para proceder con la instalación de Mastodon.
Configuración de repositorios e instalación de dependencias
Mastodon es un software gratuito y de código abierto para ejecutar servicios de redes sociales autohospedados similares al servicio de Twitter. Está escrito principalmente en Ruby, especialmente con el marco web Ruby on Rails y JavaScript con Reac.js y el marco Redux.
En este primer paso, configurarás repositorios adicionales en tu sistema e instalarás las dependencias de paquetes para la instalación de Mastodon. Esto incluye paquetes como build-essentials para compilar Ruby, PostgreSQL para el servidor de base de datos, Nginx como servidor web y proxy inverso, la herramienta certbot para adquirir certificados SSL a través de Letsencrypt, y el servidor Redis que se utilizará para el almacenamiento de clave-valor y la gestión de sesiones para Mastodon.
Antes de comenzar, ejecuta el siguiente comando apt para instalar algunas dependencias básicas que se utilizarán para gestionar repositorios y paquetes.
sudo apt install curl wget gnupg apt-transport-https lsb-release ca-certificatesCuando se te pida, ingresa y para confirmar y presiona ENTER para continuar.

A continuación, ejecuta el siguiente comando para agregar el repositorio de Node.js Nodesource. El paquete de Node.js aquí se utilizará para compilar activos estáticos de Mastodon. Y en el momento de escribir esto, el último Mastodon requería al menos Node.js v16.
curl -sL https://deb.nodesource.com/setup_16.x | bash -Luego recibirás una salida como la siguiente.

Después de agregar el repositorio de Node.js, configurarás el repositorio para el gestor de paquetes Yarn. Este repositorio proporciona el paquete Yarn que se utilizará para instalar dependencias de JavaScript.
Ejecuta el siguiente comando para agregar la clave GPG y el repositorio del gestor de paquetes Yarn.
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.listEl tercer repositorio que agregarás es el repositorio de PostgreSQL. Ejecuta el siguiente comando para agregar el repositorio de PostgreSQL a tu servidor Debian.
wget -O /usr/share/keyrings/postgresql.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/keyrings/postgresql.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
> /etc/apt/sources.list.d/postgresql.list
Con los repositorios de Node.js, Yarn y PostgreSQL agregados, ejecuta el siguiente comando apt para actualizar tu índice de paquetes.
sudo apt updateRecibirás una salida como esta.

Por último, ejecuta el siguiente comando apt para instalar las dependencias de paquetes que se utilizarán para instalar Mastodon.
sudo apt install imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \
bison build-essential libssl-dev libyaml-dev libreadline6-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \
nginx nodejs yarn redis-server redis-tools postgresql postgresql-contrib \
certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-devIngresa y cuando se te pida confirmación y presiona ENTER para continuar.

Con esto, has instalado las dependencias básicas para Mastodon y agregado algunos repositorios de terceros a tu sistema Debian.
En los siguientes pasos, instalarás Ruby a través de rbenv - El gestor de versiones de Ruby.
Instalando rbenv y Ruby
rbenv es una herramienta de gestión de versiones para el lenguaje de programación Ruby en sistemas similares a Unix. Es útil para cambiar entre múltiples versiones de Ruby en la misma máquina y para asegurarte de que cada proyecto en el que trabajas siempre se ejecute en la versión correcta de Ruby.
Para comenzar, ejecuta el siguiente comando para crear un nuevo usuario ‘ mastodon ‘ en tu sistema. Este nuevo usuario se utilizará para ejecutar servicios relacionados con Mastodon, y el código fuente de Mastodon se almacenará en el directorio personal de este usuario.
sudo adduser --disabled-login mastodonDurante el proceso, se te pedirá que configures los detalles del usuario. Ingresa tu información de usuario y luego ingresa y para confirmar y presiona ENTER.

Después de que se cree el usuario ‘ mastodon ‘, ejecuta el siguiente comando para iniciar sesión.
su - mastodonA continuación, descarga el código fuente de rbenv a través del comando git a continuación.
git clone https://github.com/rbenv/rbenv.git ~/.rbenvLuego ejecuta el siguiente comando para instalar rbenv en tu sistema.
cd ~/.rbenv && src/configure && make -C srcRecibirás una salida como esta después de que se instale rbenv.

A continuación, ejecuta el siguiente comando para agregar el directorio ‘bin’ de rbenv a la ruta del sistema y cargar rbenv cada vez que el usuario inicie sesión en una nueva sesión.
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrcAhora recarga tu shell actual recargando el archivo de configuración bashrc. Luego ingresa el comando ‘rbenv’ en tu shell y presiona TAB.
source ~/.bashrc
rbenv TABEn la siguiente captura de pantalla, rbenv está instalado y ahora puedes ejecutar el comando rbenv para instalar Ruby.
Antes de instalar Ruby, necesitas instalar el plugin de rbenv llamado ‘ruby-build’. Este plugin proporciona herramientas de línea de comandos que simplifican la instalación de Ruby desde el código fuente, especialmente para sistemas operativos similares a UNIX.
Descarga el ‘ruby-build’ plugin a través del comando git.
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Después de agregar el plugin ‘ruby-build’, ejecuta el siguiente comando para instalar Ruby v3.0.4, que es necesario para la versión actual de Mastodon.
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.4Después de que finalice la instalación, recibirás una salida similar a esta.

Ahora ejecuta el siguiente comando para configurar la versión predeterminada de Ruby a 3.0.4. Luego verifica usando el comando ruby como se muestra a continuación. Verás que Ruby v3.0.4 está instalado en tu sistema Debian.
rbenv global 3.0.4
ruby --version
Por último, debes instalar un bundler como tu gestión de paquetes de Ruby. Ejecuta el comando gem a continuación para instalar ‘bundler’.
gem install bundler --no-documentEn este punto, has terminado la instalación de las dependencias del paquete de Mastodon en tu sistema. Has instalado Ruby 3.0.4 a través del gestor de versiones de Ruby rbenv y has instalado bundler, la herramienta de gestión de paquetes de Ruby.
En los siguientes pasos, configurarás el usuario de PostgreSQL que se utilizará para la instalación de Mastodon.
Configuración del servidor de base de datos PostgreSQL
En este paso, verificarás el servicio de PostgreSQL para asegurarte de que el servicio esté habilitado y en ejecución. Luego, crearás un nuevo usuario/rol de PostgreSQL ‘mastodon’ a través de la consola de PostgreSQL.
Asegúrate de ejecutar estos comandos a continuación con privilegios de usuario root.
Antes de comenzar, ejecuta el siguiente comando systemctl para asegurarte de que el servicio de PostgreSQL esté en funcionamiento y habilitado.
sudo systemctl is-enabled postgresql
sudo systemctl status postgresqlDeberías recibir una salida similar a esta.

Con PostgreSQL en funcionamiento, ejecuta el siguiente comando para iniciar sesión en la consola de PostgreSQL.
cd /etc/postgresql
sudo -u postgres psqlDespués de iniciar sesión en la consola de PostgreSQL, ejecuta la siguiente consulta de PostgreSQL para crear un nuevo rol/usuario ‘ mastodon ‘. Además, asegúrate de cambiar la contraseña predeterminada por una nueva contraseña fuerte.
CREATE USER mastodon CREATEDB;
ALTER USER mastodon PASSWORD 'p4ssw0rd';A continuación, ejecuta la siguiente consulta para asegurarte de que el nuevo usuario/rol de PostgreSQL se haya creado. Luego ingresa ‘ q ‘ para salir de la consola de PostgreSQL.
du
dLa salida a continuación te muestra que el nuevo usuario/rol de PostgreSQL ‘mastodon’ se ha creado.

Con el usuario/rol de PostgreSQL creado, estarás listo para instalar Mastodon en tu sistema Debian.
Instalando Mastodon
Instalarás y configurarás Mastodon en tu servidor Debian en este paso. También instalarás las dependencias de Ruby y JavaScript para Mastodon. Y por último, comenzarás a configurar Mastodon para tu implementación, esto incluye la configuración del dominio, la configuración de la base de datos y redis, la configuración de SMTP, y también la configuración del usuario administrador de Mastodon.
Antes de comenzar, inicia sesión en el usuario ‘mastodon’ a través del siguiente comando.
su - mastodonAhora descarga el código fuente de Mastodon a través del comando git y cambia la rama a la última versión estable de Mastodon. En el momento de escribir esto, la versión estable de Mastodon es v4.0.2.
git clone https://github.com/mastodon/mastodon.git live && cd live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)
A continuación, ejecuta el siguiente comando para configurar la implementación de Mastodon e instalar las dependencias de Ruby.
bundle config deployment 'true'
bundle config without 'development test'
bundle install -j$(getconf _NPROCESSORS_ONLN)La instalación de las dependencias de Ruby de Mastodon tomará tiempo. A continuación, se muestra una salida similar que recibirás en tu terminal.

Después de haber instalado las dependencias de Ruby de Mastodon, ejecuta el siguiente comando yarn para instalar las dependencias de JavaScript para Mastodon.
yarn install --pure-lockfileLuego recibirás una salida similar a esta.

Con las dependencias de Ruby y JavaScript instaladas, configurarás tu instalación de Mastodon.
Ejecuta el siguiente comando para configurar Mastodon para el entorno de producción.
RAILS_ENV=production bundle exec rake mastodon:setupSe te preguntará sobre algunas configuraciones de Mastodon.
- ¿El nombre de dominio de Mastodon? Este ejemplo utiliza el dominio ‘mastodon.howtoforge.local’.
- ¿Habilitar el modo de un solo usuario? Ingresa y.
- ¿Usar Docker para ejecutar Mastodon? Ingresa n para no.
- Ingresa el usuario y la contraseña de PostgreSQL y asegúrate de recibir el mensaje ‘¡La configuración de la base de datos funciona!’.
- ¿Configuración de Redis? déjalo como predeterminado presionando ENTER.
- ¿Habilitar la carga de archivos en la nube? Ingresa n para no.
- ¿Permitir el envío de correos electrónicos desde localhost? Ingresa y para sí o n para no. Esto depende de tu entorno, también puedes usar un servidor SMTP de terceros.
- ¿Guardar la configuración? Ingresa y para sí.
- Para la creación de la base de datos. Ingresa y para crear la base de datos de Mastodon.
- Ingresa y para compilar activos y archivos estáticos para Mastodon.
- ¿Configurar usuario administrador? Ingresa el nuevo usuario administrador y el correo electrónico para tu instalación de Mastodon. Y luego recibirás la contraseña generada automáticamente en tu pantalla.
Configuración de Mastodon para el nombre de dominio, PostgreSQL, servidor Redis y servidor de correo SMTP.

Mastodon genera activos y archivos estáticos.

El usuario administrador de mastodon se crea y la contraseña también se genera en la pantalla del terminal.
En este punto, has terminado la instalación y configuración de Mastodon en Debian 11. En los siguientes pasos, configurarás Mastodon como un servicio systemd.
Ejecutando Mastodon como servicio Systemd
Por defecto, Mastodon proporciona una muestra de archivos de servicio systemd que están disponibles en el directorio ‘ /home/mastodon/live/dist/ ‘.
Ejecuta el siguiente comando para copiar los archivos de servicio de Mastodon al directorio ‘ /etc/systemd/system ‘.
sudo cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/Ahora recarga el gestor systemd para aplicar los cambios en el systemd.
sudo systemctl daemon-reloadDespués de eso, inicia y habilita los servicios de Mastodon a través del comando systemctl a continuación.
sudo systemctl start mastodon-web mastodon-sidekiq mastodon-streaming
sudo systemctl enable mastodon-web mastodon-sidekiq mastodon-streaming
Los servicios de Mastodon deberían estar ahora en funcionamiento y habilitados. Verifica usando el siguiente comando systemctl.
sudo systemctl status mastodon-web mastodon-sidekiq mastodon-streamingRecibirás una salida similar a las siguientes capturas de pantalla.
El servicio mastodon-web está en funcionamiento y habilitado.

El mastodon-sidekiq también está en funcionamiento y habilitado.

El servicio de transmisión de mastodon también está en funcionamiento y habilitado.

Con todos los servicios de Mastodon en funcionamiento y habilitados, a continuación configurarás Nginx como un proxy inverso para Mastodon y generarás SSL Letsencrypt.
Configuración de Nginx como proxy inverso
En este paso, configurarás el servidor web Nginx como el proxy inverso para Mastodon. También generarás SSL Letsencrypt a través del comando certbot y asegurarás Mastodon a través de una conexión segura HTTPS.
Copia la configuración de bloque de servidor Nginx predeterminada de Mastodon a ‘/etc/nginx/sites-available/mastodon’. Luego activa la nueva configuración de bloque de servidor ‘/etc/nginx/sites-available/mastodon ‘.
sudo cp /home/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon
sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodonA continuación, abre el archivo de configuración del bloque de servidor de Mastodon ‘/etc/nginx/sites-available/mastodon’ usando el siguiente comando del editor nano.
sudo nano /etc/nginx/sites-available/mastodonCambia el nombre de dominio predeterminado por tu dominio de Mastodon. En este ejemplo, el dominio para Mastodon es ‘ mastodon.howtoforge.local ‘.
cambiar dominio
Guarda el archivo y sal del editor cuando hayas terminado.
A continuación, ejecuta el siguiente comando para generar certificados SSL de Letsencrypt. Asegúrate de cambiar el nombre de dominio por tu dominio.
sudo certbot --nginx -d mastodon.howtoforge.localDespués de que se generen los certificados SSL, ejecuta el siguiente comando para verificar la configuración de Nginx. Si obtienes un mensaje de salida como ‘test successful - syntax ok ‘, eso significa que tienes la configuración adecuada. Luego, reinicia el servicio Nginx para aplicar los nuevos cambios.
sudo nginx -t
sudo systemctl restart nginx
Por último, ejecuta el siguiente comando systemctl para verificar el servicio Nginx y asegurarte de que el servicio esté en funcionamiento y habilitado.
sudo systemctl is-enabled nginx
sudo systemctl status nginxRecibirás una salida similar a esta - El servicio Nginx está actualmente en funcionamiento y habilitado. El servicio Nginx se ejecutará automáticamente al iniciar.

Con toda la configuración completada, tu Mastodon ahora es accesible a través del navegador web.
Accediendo a la instalación de Mastodon
Abre tu navegador web y visita el nombre de dominio de tu instalación de Mastodon (es decir: https://mastodon.howtoforge.local/). Ahora verás la página de inicio predeterminada de Mastodon.

Haz clic en el botón ‘ Iniciar sesión ‘ para verificar tu usuario.
Ahora ingresa tu usuario administrador y la contraseña generada para Mastodon. Luego haz clic en Iniciar sesión.

Luego verás la página de inicio del usuario de Mastodon.

A continuación, haz clic en el menú Preferencias para acceder a la página de preferencias del usuario. Luego, haz clic en el menú Administración en el lado izquierdo. Y deberías obtener la página de administración de Mastodon a continuación.
Puedes ver los detalles de la pila de software que estás utilizando actualmente en tu instalación de Mastodon.

Conclusión
¡Felicidades! Ahora has terminado la instalación de la plataforma de microblogging Mastodon en un servidor Debian 11. Has instalado Mastodon con PostgreSQL como el servidor de base de datos y Nginx como el proxy inverso. También has asegurado la implementación de Mastodon a través de conexiones HTTPS seguras.
Después de toda la instalación, ahora puedes configurar la regla de Mastodon para el soporte de federación. También puedes agregar una capa de seguridad adicional a tu instalación de Mastodon.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.