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.