GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Mastodon sur Debian 9

Dans ce tutoriel, nous vous guiderons et vous guiderons tout au long du processus d'installation de Mastodon sur un VPS Debian 9.

Mastodon est un réseau social gratuit open source basé sur le protocole Web ouvert. Il utilise Ruby on Rails pour le back-end, et React.js et Redux pour le front-end. Cette plate-forme de médias sociaux ressemble beaucoup à Twitter, avec un accent sur le partage de texte et de médias. Cette plate-forme étant open-source signifie que vous pouvez gérer un réseau social privé que vous et vos amis pouvez utiliser en privé et sans publicité.

Ce guide devrait également fonctionner sur d'autres systèmes VPS Linux, mais il a été testé et écrit pour un VPS Debian 9. Le processus d'installation ne devrait pas prendre trop de temps, la partie la plus longue étant le processus de compilation. Commençons par l'installation.

Prérequis :

  • Un VPS Debian 9.
  • Un compte utilisateur avec des privilèges sudo, ou un accès à l'utilisateur "root" lui-même.

Étape 1 :Installez les packages requis

Connectez-vous à votre VPS via SSH en tant que root ou en tant qu'utilisateur sudo :

ssh userame@IP_Address -p Port_Number

Remplacez "IP_Address" et "Port_Number" par l'adresse IP et les numéros de port SSH respectifs de votre serveur. De plus, remplacez "nom d'utilisateur" par "root" pour l'utilisateur root ou par le nom du compte administrateur que vous prévoyez d'utiliser.

Une fois connecté, exécutez les commandes suivantes pour mettre à jour tous les packages installés vers leurs dernières versions disponibles :

sudo apt-get update
sudo apt-get upgrade

Installez les packages requis à l'aide de la commande suivante :

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

Ces packages couvrent toutes les exigences de Mastodon, de la conversion multimédia aux services de streaming.

Étape 2 :Installez Node.js et Yarn

Nous installerons Node.js et Yarn à partir de leurs dépôts officiels.

Activez le référentiel NodeSource avec la commande curl suivante :

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

Pour installer Node.js 8.x LTS Carbon et npm, exécutez la commande suivante :

sudo apt-get install nodejs

Importez la clé GPG du référentiel Yarn APT et activez-la en exécutant :

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

Installez Yarn à l'aide de la commande suivante :

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

Étape 3 :Installez PostgreSQL

Mastodon peut utiliser PostgreSQL comme back-end de sa base de données.

Si le serveur PostgreSQL n'est pas déjà installé sur votre serveur, vous pouvez installer la dernière version de PostgreSQL en exécutant la commande suivante :

sudo apt-get install postgresql postgresql-contrib

Une fois l'installation terminée, connectez-vous au shell PostgreSQL :

sudo -u postgres psql

Créez un nouvel utilisateur pour l'instance Mastodon :

CREATE USER mastodon CREATEDB;

Étape 4 :Installer Redis

L'installation de Redis est assez simple, il suffit d'exécuter la commande suivante :

sudo apt-get install redis-server

Étape 5 :Créer un nouvel utilisateur système

Créez un nouvel utilisateur système qui exécutera le serveur Mastodon :

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

Étape 6 :Installer Ruby

Nous allons installer Ruby en utilisant le script Rbenv.

Avant de cloner le référentiel rbenv, passez au nouvel utilisateur mastodonte que nous avons créé à l'étape précédente :

sudo su - mastodon

Configurez 'rbenv' et 'ruby-build' avec les commandes suivantes :

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

Une fois "rbenv" et "ruby-build" définis, installez la dernière version de Ruby avec :

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

Mettez à jour le gem et installez le bundler afin qu'ils fonctionnent avec la version de rbenv que nous venons d'installer. :

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

Pour vérifier que tout est fait correctement, utilisez la commande ruby --version .

Le résultat doit ressembler à ce qui suit :

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

Étape 7 :Configurer Mastodon

Les commandes suivantes sont également exécutées en tant qu'utilisateur Mastodon.

Clonez le dépôt mastodon git dans le ~/live répertoire et paiement vers la dernière branche stable 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)

Installez les dépendances ruby ​​avec la commande suivante :

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

Installez les dépendances node.js avec :

yarn install --pure-lockfile

Accédez au répertoire d'installation de Mastodon et exécutez la commande suivante pour démarrer l'installation :

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

Le programme d'installation vous posera plusieurs questions, générera un nouveau secret d'application, configurera le schéma de la base de données et compilera les actifs. Cela peut prendre un certain temps, selon le matériel de votre serveur :

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.

Une fois terminé, revenez à votre utilisateur sudo en exécutant :

exit

Étape 8 :Configurer Nginx

Installez Nginx et Certbot à l'aide de la commande suivante :

sudo apt-get install nginx certbot

Une fois Nginx installé, copiez le modèle de configuration Nginx depuis le répertoire d'installation 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

Exécutez la commande suivante pour modifier le chemin du répertoire d'installation de Mastodon et le nom de domaine. N'oubliez pas de remplacer "votre-domaine.com" par votre nom de domaine enregistré :

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

Redémarrez Nginx pour que les modifications prennent effet :

sudo systemctl restart nginx

Ensuite, utilisez certbot pour obtenir un certificat SSL gratuit en utilisant Let's Encrypt :

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

Le péage obtiendra un certificat SSL Let's encrypt gratuit et reconfigurera la configuration Nginx.

Étape 9 :Configurer les services systemd

Copiez les fichiers d'unité systemd depuis le répertoire Mastodon :

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

Exécutez la commande suivante pour modifier le chemin du répertoire d'installation de Mastodon :

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

Enfin, démarrez et activez les nouveaux services systemd :

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

À ce stade, vous pouvez ouvrir votre domaine dans le navigateur et terminer l'installation de Mastodon.

C'est ça. Vous avez installé avec succès Mastodon sur votre VPS Debian 9. Pour plus d'informations sur la gestion de votre installation Mastodon, veuillez vous référer à la documentation officielle de Mastodon.

Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de le configurer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS . Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les raccourcis de partage ci-dessous, ou laissez simplement un commentaire dans la section des commentaires. Merci.


Debian
  1. Comment installer Tomcat 8.5 sur Debian 9

  2. Comment installer Nextcloud sur Debian 9

  3. Comment installer PostgreSQL 11 / 10 sur Debian 9 et Debian 8

  4. Comment installer MongoDB 4.4 / 4.2 sur Debian 9

  5. Comment installer PostgreSQL sur Debian 11 / Debian 10

Comment installer MariaDB sur Debian 11

Comment installer Nginx sur Debian 11

Comment installer Nagios sur Debian 10 / Debian 9

Comment installer LibreNMS sur Debian 11 / Debian 10

Comment installer Yclas sur Debian 11

Comment installer Go sur Debian 11