Instale Pleroma en Ubuntu 22.04 LTS

Pleroma es un servidor ligero que participa en la Fediverse. Pleroma es una alternativa al software del servidor Mastodon. En comparación con Mastodon, Pleroma no necesita tanto procesador ni RAM para una instalación similar. Este tutorial documenta los pasos de instalación para un servidor Pleroma. El servidor puede ser la instancia de inicio de un individuo para Fediverse o una instancia para compartir con amigos, familiares o comunidades de interés.

requisitos previos

  • Una nueva instancia de servidor Vultr Ubuntu 22.04 LTS. Una instancia de un solo usuario funcionará bien en una instancia con 1 GB de RAM. El nombre de host debe establecerse en el nombre de dominio completo (FQDN), como pleroma.googlesyndication.com utilizado para el servidor. El software Pleroma y los archivos del sistema operativo utilizarán aproximadamente 8,2 GB de espacio en disco.

  • Un no root sudo usuario. Use la guía de mejores prácticas de Vultr para crear un sudo usuario en Ubuntu..

  • Un nombre de dominio completo (FQDN) que apunta a la dirección IP del servidor.

Ejemplos

Este tutorial utiliza ejemplos:

  • Nombre de host del servidor: pleroma

  • Nombre de dominio completo del servidor (FQDN): pleroma.googlesyndication.com

  • Dirección IP: 192.0.2.1

Pasos iniciales

Verificar nombre de host y FQDN

Verifique que el nombre de host de la instancia esté establecido en el nombre de host previsto para el servidor.

                      
                        $ hostname

pleroma

                      
                    

Si el nombre de host es incorrecto, siga las instrucciones de Vultr para cambiar un nombre de host o reinstale la imagen con el nombre de host correcto. Reinstalar la imagen para modificar el nombre de host borrar completamente todo en la instancia por lo tanto, esto debe hacerse antes de que ocurra cualquier otra configuración.

Establezca variables de entorno para elementos de uso común:

Esto debería verse como export FQDN=pleroma.googlesyndication.com , export [email protected] y export USER=admin

                      
                        $ export FQDN=<fully qualified domain name>    

$ export EMAIL=<email address>

$ export USER=<username to use on Pleroma instance>

                      
                    

Verifique que los registros DNS apunten al FQDN.

                      
                        $ dig +short $FQDN

192.0.2.1

                      
                    

El registro DNS PTR que asocia la dirección IP del servidor con su nombre de dominio completo debe configurarse en el panel de control de Vultr.

Asegúrese de que el software del sistema esté actualizado y habilite las actualizaciones automáticas

El sistema debe ejecutar el software actual para un rendimiento y seguridad óptimos.

                      
                        $ sudo apt update

$ sudo apt -y full-upgrade

                      
                    

Elimine cualquier paquete innecesario u obsoleto:

                      
                        $ sudo apt autoremove

                      
                    

Habilite la instalación automática de actualizaciones de software.

(Responda “Sí” a la pregunta sobre la descarga e instalación de actualizaciones estables)

                      
                        $ sudo apt-get install unattended-upgrades

$ sudo dpkg-reconfigure -plow unattended-upgrades

                      
                    

Instale Postgres y software de soporte

                      
                        $ sudo apt -y install git build-essential postgresql postgresql-contrib cmake libmagic-dev

                      
                    

Instalar Elixir y Erlang

                      
                        $ sudo apt -y install elixir erlang-dev erlang-nox

                      
                    

Instalar herramientas de manipulación de imágenes

                      
                        $ sudo apt -y install imagemagick ffmpeg libimage-exiftool-perl

                      
                    

Instalar Pleroma

Cree un usuario para ejecutar el software Pleroma:

                      
                        $ sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma

                      
                    

Crear el directorio Pleroma

                      
                        $ sudo mkdir -p /opt/pleroma

$ sudo chown -R pleroma:pleroma /opt/pleroma

                      
                    

Clonar el repositorio git de Pleroma como usuario de Pleroma

                      
                        $ sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma

                      
                    

Cambiar al subdirectorio pleroma

                      
                        $ cd /opt/pleroma

                      
                    

Instale los paquetes de soporte de Pleroma. Responder Y es cuando se le pide que instale Hex.

                      
                        $ sudo -Hu pleroma mix deps.get

                      
                    

Genere la configuración pleroma. Esto puede tomar varios minutos. Responder Y es cuando se le pide que instale rebar3.

                      
                        $ sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen

                      
                    

El programa de configuración le hará una serie de preguntas que deberá responder de la siguiente manera:

¿Qué dominio utilizará su instancia? (ej. pleroma.soykaf.com) [] poner FQDN aquí INGRESAR

¿Cuál es el nombre de su instancia? (por ejemplo, el Emporio Corndog) [] nombre para el servidor INGRESAR

Cual es tu admin ¿dirección de correo electrónico? [] dirección de correo electrónico INGRESAR

¿Qué dirección de correo electrónico desea utilizar para enviar notificaciones por correo electrónico? [] dirección de correo electrónico INGRESAR

¿Quieres que los motores de búsqueda indexen tu sitio? (t/n) [y] INGRESAR

¿Desea almacenar la configuración en la base de datos (permite controlarla desde admin-fe)? (t/n) [n] Y ENTRAR

¿Cuál es el nombre de host de su base de datos? [localhost] INGRESAR

¿Cuál es el nombre de su base de datos? [pleroma] INGRESAR

¿Cuál es el usuario utilizado para conectarse a su base de datos? [pleroma] INGRESAR

¿Cuál es la contraseña utilizada para conectarse a su base de datos? [autogenerated] INGRESAR

¿Le gustaría utilizar índices RUM? [n] INGRESAR

¿Qué puerto escuchará la aplicación (déjelo si está usando la configuración predeterminada con nginx)? [4000] INGRESAR

¿Qué ip escuchará la aplicación (déjelo si está usando la configuración predeterminada con nginx)? [127.0.0.1] INGRESAR

¿En qué directorio deben ir las cargas de medios (al usar el cargador local)? [uploads] INGRESAR

¿Desde qué directorio se deben leer los archivos públicos personalizados (emojis personalizados, anulaciones de paquetes de interfaz, robots.txt, etc.)? [instance/static/] INGRESAR

¿Desea eliminar los datos de ubicación (GPS) de las imágenes cargadas? Esto requiere exiftool, se detectó como instalado. (t/n) [y] INGRESAR

¿Quieres anonimizar los nombres de archivo de las subidas? (t/n) [n] Y ENTRAR

¿Quieres deduplicar los archivos cargados? (t/n) [n] Y ENTRAR

Escribir configuración en config/generated_config.exs.

Escribir el script de postgres en config/setup_db.psql.

Escribiendo /opt/pleroma/instance/static/robots.txt.

¡Todos los archivos se escribieron con éxito! Consulte las instrucciones de instalación de su plataforma para conocer los pasos siguientes.

Transfiera su configuración a la base de datos después de ejecutar las migraciones de la base de datos. Consulte la sección “Transferir la configuración a/desde la base de datos” de los documentos para obtener más información.

Mueva los archivos de configuración a su ubicación final:

                      
                        $ sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}

                      
                    

Mejorar la configuración de seguridad

Establecer secure_cookie_flag tan cierto las cookies se envían a través de una conexión segura .

                      
                        $ sudo sed -i 's/secure_cookie_flag: false/secure_cookie_flag: true/g' config/config.exs

                      
                    

Habilite la seguridad de transporte estricta para que un atacante no pueda degradar una conexión HTTPS a HTTP .

                      
                        $ sudo sed -i 's/ sts: false/ sts: true/g' config/config.exs

                      
                    

Actualice el archivo ca-certificates.crt y agréguelo a la configuración de pleroma:

                      
                        $ sudo update-ca-certificates --fresh

$ sudo sed -i 's,path/to/file/with/PEM/cacerts,/etc/ssl/certs/ca-certificates.crt,' config/description.exs

                      
                    

Cree la base de datos de Postgres:

                      
                        $ sudo -Hu postgres psql -f config/setup_db.psql

                      
                    

Ejecute la migración de la base de datos:

                      
                        $ sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate

                      
                    

Instalar Nginx

Nginx actuará como un proxy inverso frente a Pleroma, manejando el TLS y la gestión de sesiones.

                      
                        $ sudo apt -y install nginx

                      
                    

Detenga Nginx para permitir que Certbot use el puerto 80:

                      
                        $ sudo service nginx stop

                      
                    

Configure el firewall (ufw) para permitir conexiones TCP entrantes en los puertos 80 y 443:

                      
                        $ sudo ufw allow http

$ sudo ufw allow https

                      
                    

Instale Certbot y solicite el certificado TLS

                      
                        $ sudo apt -y install certbot

$ sudo mkdir -p /var/lib/letsencrypt/

                      
                    

Certbot solicitará la aprobación de los términos de servicio y la oferta (obligatorios) de Let’s Encrypt

una suscripción a una lista de correo (opcional). Certbot se configurará para actualizar el certificado TLS automáticamente.

                      
                        $ sudo certbot certonly --email $EMAIL -d $FQDN --standalone

                      
                    

Instalar la configuración de Nginx

                      
                        $ sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx

$ sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx

                      
                    

Agregar nombre de dominio a la configuración de Nginx

                      
                        $ sudo sed -i "s,example.tld,$FQDN," /etc/nginx/sites-available/pleroma.nginx

                      
                    

Permita que Nginx se inicie en el momento del arranque e inícielo inmediatamente

                      
                        $ sudo systemctl enable --now nginx.service

                      
                    

Instale el archivo de servicio systemd:

                      
                        $ sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service

                      
                    

Permita que Pleroma se inicie en el momento del arranque e inícielo inmediatamente:

                      
                        $ sudo systemctl enable --now pleroma.service

                      
                    

Crear usuario administrativo de Pleroma:

                      
                        $ sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new $USER $EMAIL --admin

                      
                    

El sistema mostrará una URL para establecer la contraseña para el nombre de usuario especificado.

Pasos finales

Establezca una contraseña utilizando el enlace proporcionado y haga clic en “Página de inicio”.

Inicie sesión con el nombre de usuario/contraseña que acaba de crear y vaya al menú “Administración” haciendo clic en el ícono del globo terráqueo en la parte superior derecha de la pantalla, luego elija “Configuración” en el panel izquierdo, luego elija “Instancia”. Desplácese hacia abajo y modifique la configuración “Registros abiertos” para permitir (la opción predeterminada) o rechazar los registros de usuarios públicos y las publicaciones de estado y configure las otras opciones según corresponda. Modifique la configuración “Federación” para permitir (predeterminado) o denegar conexiones a otros servidores en el Fediverso .

Elija el botón “ENVIAR” para enviar los cambios de configuración al servidor. La instalación se ha completado.

Otras lecturas

Más información sobre la administración de un servidor Pleroma está disponible en la documentación oficial .

Es fundamental leer el “ Endurecimiento de su instancia ” de la documentación para obtener instrucciones sobre cómo mantener segura la instancia de Pleroma.

Título del artículo Nombre (opcional) Correo electrónico (opcional) Descripción

Enviar sugerencia

Related Posts