GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Mastodon en Debian 9

En este tutorial, lo guiaremos a través del proceso de instalación de Mastodon en un VPS Debian 9.

Mastodon es una red social gratuita de código abierto basada en el protocolo web abierto. Utiliza Ruby on Rails para el back-end y React.js y Redux para el front-end. Esta plataforma de redes sociales se parece mucho a Twitter, con un enfoque hacia el intercambio de texto y medios. El hecho de que esta plataforma sea de código abierto significa que puede ejecutar una red social privada para que usted y sus amigos la usen de forma privada y sin anuncios.

Esta guía también debería funcionar en otros sistemas Linux VPS, pero fue probada y escrita para un VPS Debian 9. El proceso de instalación no debería llevar mucho tiempo, siendo la parte más larga el proceso de compilación. Comencemos con la instalación.

Requisitos previos:

  • Un VPS Debian 9.
  • Una cuenta de usuario con privilegios de sudo o acceso al propio usuario "raíz".

Paso 1:Instale los paquetes necesarios

Inicie sesión en su VPS a través de SSH como root o como usuario sudo:

ssh userame@IP_Address -p Port_Number

Reemplace "IP_Address" y "Port_Number" con la dirección IP y los números de puerto SSH respectivos de su servidor. Además, reemplace "nombre de usuario" con "raíz" para el usuario raíz, o con el nombre de la cuenta de administrador que planea usar.

Una vez que haya iniciado sesión, emita los siguientes comandos para actualizar todos los paquetes instalados a sus últimas versiones disponibles:

sudo apt-get update
sudo apt-get upgrade

Instale los paquetes requeridos usando el siguiente comando:

sudo apt-get install curl gcc g++ make \
imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \
libprotobuf-dev protobuf-compiler pkg-config autoconf \
bison build-essential libssl-dev libyaml-dev libreadline-dev \
zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \
libidn11-dev libicu-dev libjemalloc-dev

Estos paquetes cubren todos los requisitos para Mastodon, desde la conversión de medios hasta los servicios de transmisión.

Paso 2:Instalar Node.js e Yarn

Instalaremos Node.js y Yarn desde sus repositorios oficiales.

Habilite el repositorio de NodeSource con el siguiente comando curl:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

Para instalar Node.js 8.x LTS Carbon y npm, ejecute el siguiente comando:

sudo apt-get install nodejs

Importe la clave GPG del repositorio APT de Yarn y actívela ejecutando:

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

Instale Yarn usando el siguiente comando:

sudo apt-get update && sudo apt-get install yarn

Paso 3:Instalar PostgreSQL

Mastodon puede usar PostgreSQL como back-end de su base de datos.

Si el servidor PostgreSQL aún no está instalado en su servidor, puede instalar la última versión de PostgreSQL ejecutando el siguiente comando:

sudo apt-get install postgresql postgresql-contrib

Una vez completada la instalación, inicie sesión en el shell de PostgreSQL:

sudo -u postgres psql

Cree un nuevo usuario para la instancia de Mastodon:

CREATE USER mastodon CREATEDB;

Paso 4:Instalar Redis

Instalar Redis es bastante sencillo, simplemente ejecute el siguiente comando:

sudo apt-get install redis-server

Paso 5:Cree un nuevo usuario del sistema

Cree un nuevo usuario del sistema que ejecutará el servidor Mastodon:

sudo adduser --home /opt/mastodon --disabled-login --gecos 'Mastodon Application' mastodon

Paso 6:Instalar Rubí

Instalaremos Ruby usando el script Rbenv.

Antes de clonar el repositorio rbenv, cambie al nuevo usuario mastodon que creamos en el paso anterior:

sudo su - mastodon

Configure 'rbenv' y 'ruby-build' con los siguientes comandos:

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec bash
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Una vez que se hayan configurado tanto 'rbenv' como 'ruby-build', instale la última versión de Ruby con:

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.1
rbenv global 2.6.1

Actualice la gema e instale el paquete para que funcionen con la versión de rbenv que acabamos de instalar.:

gem update --system
gem install bundler --no-document

Para verificar que todo se haya hecho correctamente, use el comando ruby --version .

El resultado debe ser similar al siguiente:

ruby --version
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-linux]

Paso 7:Configuración de Mastodon

Los siguientes comandos también se ejecutan como usuario mastodon.

Clone el repositorio git de mastodon en el ~/live directorio y salida a la última rama estable de Mastodon:

cd
git clone https://github.com/tootsuite/mastodon.git ~/live
cd ~/live
git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)

Instale las dependencias de Ruby con el siguiente comando:

bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without development test

Instale las dependencias de node.js con:

yarn install --pure-lockfile

Cambie al directorio de instalación de Mastodon y ejecute el siguiente comando para iniciar la instalación:

cd ~/live
RAILS_ENV=production bundle exec rake mastodon:setup

El instalador le hará varias preguntas, generará un nuevo secreto de aplicación, configurará el esquema de la base de datos y compilará los activos. Esto puede tomar un tiempo, dependiendo del hardware de su servidor:

Your instance is identified by its domain name. Changing it afterward will break things.
Domain name: your-domain.com

Single user mode disables registrations and redirects the landing page to your public profile.
Do you want to enable single user mode? No

Are you using Docker to run Mastodon? no

PostgreSQL host: /var/run/postgresql
PostgreSQL port: 5432
Name of PostgreSQL database: mastodon_production
Name of PostgreSQL user: mastodon
Password of PostgreSQL user:
Database configuration works! 🎆

Redis host: localhost
Redis port: 6379
Redis password:
Redis configuration works! 🎆

Do you want to store uploaded files on the cloud? No

Do you want to send e-mails from localhost? yes
E-mail address to send e-mails "from": Mastodon <[email protected]>
Send a test e-mail with this configuration right now? no

This configuration will be written to .env.production
Save configuration? Yes

Now that configuration is saved, the database schema must be loaded.
If the database already exists, this will erase its contents.
Prepare the database now? Yes
Running `RAILS_ENV=production rails db:setup` ...

Created database 'mastodon_production'

...

Done!

The final step is compiling CSS/JS assets.
This may take a while and consume a lot of RAM.
Compile the assets now? Yes
Running `RAILS_ENV=production rails assets:precompile` ...

yarn install v1.9.4

...

Using /opt/mastodon/live/config/webpacker.yml file for setting up webpack paths
Compiling…
  Compiled all packs in /opt/mastodon/live/public/packs
  Rendering errors/500.html.haml within layouts/error
  Rendered errors/500.html.haml within layouts/error (2596.9ms)
Done!

All done! You can now power on the Mastodon server 🐘

Do you want to create an admin user straight away? Yes
Username: admin
E-mail: [email protected]
You can login with the password: 7594c5bab89c1f0b0e47438f6074fb02
You can change your password once you login.

Cuando haya terminado, vuelva a su usuario sudo ejecutando:

exit

Paso 8:Configuración de Nginx

Instale Nginx y Certbot usando el siguiente comando:

sudo apt-get install nginx certbot

Una vez que Nginx esté instalado, copie la plantilla de configuración de Nginx del directorio de instalación de Mastodon:

sudo cp /opt/mastodon/live/dist/nginx.conf /etc/nginx/sites-available/mastodon.conf
sudo ln -s /etc/nginx/sites-available/mastodon.conf /etc/nginx/sites-enabled/mastodon.conf

Ejecute el siguiente comando para cambiar la ruta del directorio de instalación de Mastodon y el nombre de dominio. No olvide reemplazar 'su-dominio.com' con su nombre de dominio registrado:

sudo sed -i 's/home/opt/g' /etc/nginx/sites-enabled/mastodon.conf
sudo sed -i 's/example.com/your-domain.com/g' /etc/nginx/sites-enabled/mastodon.conf

Reinicie Nginx para que los cambios surtan efecto:

sudo systemctl restart nginx

Luego, use certbot para obtener un certificado SSL gratuito usando Let's Encrypt:

sudo certbot --nginx -d your-domain.com

El peaje obtendrá un certificado Let's encrypt SSL gratuito y reconfigurará la configuración de Nginx.

Paso 9:Configurar los servicios de systemd

Copie los archivos de la unidad systemd del directorio Mastodon:

sudo cp /opt/mastodon/live/dist/mastodon-*.service /etc/systemd/system/

Ejecute el siguiente comando para cambiar la ruta del directorio de instalación de Mastodon:

sudo sed -i 's/home/opt/g' /etc/systemd/system/mastodon-*.service

Finalmente, inicie y habilite los nuevos servicios systemd:

for i in mastodon-web mastodon-sidekiq mastodon-streaming; do
   sudo systemctl start $i
   sudo systemctl enable $i
done

En este punto, puede abrir su dominio en el navegador y finalizar la instalación de Mastodon.

Eso es todo. Ha instalado correctamente Mastodon en su Debian 9 VPS. Para obtener más información sobre cómo administrar su instalación de Mastodon, consulte la documentación oficial de Mastodon.

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento VPS de Linux, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD . Si le gustó esta publicación, compártala con sus amigos en las redes sociales utilizando los accesos directos para compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.


Debian
  1. Cómo instalar Tomcat 8.5 en Debian 9

  2. Cómo instalar Nextcloud en Debian 9

  3. Cómo instalar PostgreSQL 11/10 en Debian 9 y Debian 8

  4. Cómo instalar MongoDB 4.4 / 4.2 en Debian 9

  5. Cómo instalar PostgreSQL en Debian 11 / Debian 10

Cómo instalar MariaDB en Debian 11

Cómo instalar Nginx en Debian 11

Cómo instalar Nagios en Debian 10 / Debian 9

Cómo instalar LibreNMS en Debian 11 / Debian 10

Cómo instalar Yclas en Debian 11

Cómo instalar Go en Debian 11