Mastodon es una red social descentralizada y de código abierto que te permite compartir mensajes, fotos y videos con otros usuarios. En este artículo, te guiaré a través del proceso de instalación de Mastodon en un servidor Ubuntu 22.04.

Paso 1: Preparar el Entorno

Antes de comenzar, asegúrate de que tu servidor Ubuntu 22.04 esté actualizado ejecutando los siguientes comandos en tu terminal:

sudo apt update
sudo apt upgrade

Paso 2: Instalar Dependencias

Mastodon requiere varias dependencias para funcionar correctamente. Puedes instalarlas ejecutando los siguientes comandos:

sudo apt install -y curl wget git libssl-dev libreadline-dev zlib1g-dev build-essential libidn11-dev libicu-dev libjemalloc-dev imagemagick ffmpeg libmagickcore-dev libmagickwand-dev postgresql postgresql-contrib nginx redis

Paso 3: Configurar PostgreSQL y Redis

Crea una base de datos y un usuario PostgreSQL para Mastodon:

sudo -u postgres psql

Dentro de PostgreSQL, ejecuta los siguientes comandos para crear la base de datos y el usuario:

CREATE USER mastodon CREATEDB;
CREATE DATABASE mastodon_production OWNER mastodon;
ALTER USER mastodon WITH ENCRYPTED PASSWORD 'your_password_here';

Sal de PostgreSQL escribiendo \q.

Ahora, configura Redis para que se inicie automáticamente en el arranque del sistema:

sudo systemctl enable redis-server
sudo systemctl start redis-server

Paso 4: Clonar el Repositorio Mastodon

Clona el repositorio de Mastodon desde GitHub:

git clone https://github.com/tootsuite/mastodon.git

Paso 5: Instalar y Configurar Mastodon

Ingresa al directorio de Mastodon y ejecuta el script de instalación:

cd mastodon
bundle install

Después de que la instalación haya finalizado, configura Mastodon ejecutando:

RAILS_ENV=production bundle exec rake mastodon:setup

Sigue las instrucciones en pantalla para configurar tu instancia de Mastodon.

Paso 6: Configurar Nginx

Crea un nuevo archivo de configuración para Nginx:

sudo nano /etc/nginx/sites-available/mastodon

Y agrega la siguiente configuración:

server {
    listen 80;
    server_name your_domain.com;

    root /home/mastodon/live/public;
    index index.html;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /api/v1/streaming {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://localhost:4000;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

No olvides reemplazar your_domain.com con tu nombre de dominio.

Paso 7: Activar el Sitio y Reiniciar Nginx

Activa el sitio y reinicia Nginx para aplicar los cambios:

sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Paso 8: Ejecutar Mastodon

Finalmente, ejecuta Mastodon en el puerto 3000:

RAILS_ENV=production bundle exec puma -C config/puma.rb

Felicidades! Has instalado con éxito Mastodon en tu servidor Ubuntu 22.04. Ahora puedes configurar y personalizar tu instancia de Mastodon para empezar a disfrutar de una red social descentralizada. Shape.host ofrece servicios de Cloud VPS que pueden ayudarte a alojar tu instancia de Mastodon de manera eficiente y confiable. Considera utilizar nuestros servicios para una experiencia sin complicaciones en la gestión de tu infraestructura web.