Instalación en distribuciones basadas en Debian

Traducción cuasi literal de la documentación oficial.

Esta guía asume que tienes Debian 9 (Strecth) con Apache (o Nignx) instalado y en funcionamiento.

Requerimientos de Software

  • postgresql 9.6+ y postgresql-contrib 9.6+
  • elixir 1.7+ (No utilices los repos de Debian)
  • erlang-dev
  • erlang-tools
  • erlang-parsetools
  • erlang-eldap (si quieres activar la autentificación ldap)
  • erlang-ssh
  • erlang-xmerl
  • git
  • build-essential
  • openssh
  • openssl
  • apache o nginx
  • certbot (para certificados Let’s encrypt)

Preparando el sistema

sudo apt update && sudo apt upgrade
sudo apt install git build-essential openssl ssh sudo postgresql-9.6 postgresql-contrib-9.6 certbot python-certbot-apache

Instalar Elixir y Erlang

wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i /tmp/erlang-solutions_1.0_all.deb
sudo apt update
sudo apt install elixir erlang-dev erlang-parsetools erlang-xmerl erlang-tools erlang-ssh

Instalar PleromaBE

  • Crear usuario del sistema para el servicio Pleroma:
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma

Nota: Para ejecutar un solo comando como usuario del sistema Pleroma, use sudo -Hu pleroma comando. También puede cambiar a una bash_ usando sudo -Hu pleroma bash.

  • Clonar el repositorio de PleromaBE y añadir al usuario de Pleroma como propietario del mismo:
sudo mkdir -p /opt/pleroma
sudo chown -R pleroma:pleroma /opt/pleroma
sudo -Hu pleroma git clone -b master https://git.pleroma.social/pleroma/pleroma /opt/pleroma
  • Nos vamos al nuevo directorio:
cd /opt/pleroma
  • Instalamos las dependencias para pleroma. Respondemos yes si nos pregunta por instalar Hex:
sudo -Hu pleroma mix deps.get 
  • Generar el archivo de configuración con –> sudo -Hu mix pleroma.instance gen:
    • Respondemos yes si nos pregunta por instalar rebar3
    • No te preocupes si tarda un poco, se necesita compilar algunas cosillas para que todo funciene.
    • Durante la configuración responderemos a las preguntas que nos hace:
      • Dirección DNS. Ejemplo: pleroma.example.com
      • Nombre de la instancia. Ejemplo: Mi pleroma
      • email del administrador.
    • Al final, tendremos un nuevo archivo config/generated_config.exs
  • Revisa el archivo creado y si parece correcto, renómbralo para que Pleroma lo pueda usar (prod.secret.exs para producción o dev.secret.exs para desarrollo):
mv config/{generated_config.exs,prod.secret.exs}
  • Anteriormente nos habrá creado un archivo nuevo config/setub_db.psql. Con él, crearemos la base de datos:
sudo -Hu postgres psql -f config/setup_db.psql
  • Ejecutaremos la migración de la base de datos:
sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
  • Podemos iniciar Pleroma
sudo -Hu pleroma MIX_ENV=prod mix phx.server

Table of contents