Comment installer Diaspora Decentralized Social Media sur Debian 10

Diaspora est un réseau social open-source, respectueux de la vie privée et distribué. Il se compose d’un groupe de nœuds déployés et possédés indépendamment qui interagissent pour créer le réseau. Diaspora est un réseau social qui se concentre sur trois philosophies, la décentralisation, la liberté et la vie privée.

Dans ce tutoriel, nous allons te montrer comment installer le réseau social distribué Diaspora sur la Debian Buster 10. Nous installerons Diaspora avec le serveur Web Nginx et le serveur de base de données PostgreSQL. En plus de cela, nous sécuriserons l’installation de Diaspora à l’aide de SSL Letsencrypt.

Conditions préalables

  • Debian Buster 10
  • Min. 2 Go de RAM
  • Privilèges de racine

Que ferons-nous ?

  • Installer les dépendances des paquets
  • Créer un nouvel utilisateur PostgreSQL pour Diaspora
  • Créer un nouvel utilisateur
  • Installer Ruby avec RVM (Ruby Version Manager)
  • Installer et configurer le réseau social décentralisé Diaspora
  • Configurer Diaspora comme un service Systemd
  • Configurer Nginx comme proxy inverse pour Diaspora
  • Tester

Étape 1 – Installer les dépendances des paquets

Tout d’abord, nous allons installer certaines dépendances des paquets pour notre installation de Diaspora, notamment le serveur Web PostgreSQL, Redis et Nginx.

Installe les dépendances des paquets à l’aide de la commande apt ci-dessous.

sudo apt-get install build-essential cmake gnupg2 libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript curl libmagickwand-dev git libpq-dev redis-server nodejs postgresql

Une fois l’installation terminée, démarre les services PostgreSQL, Nginx et Redis, puis ajoute le tout au démarrage du système.

systemctl start redis-server
systemctl enable redis-server

systemctl start postgresql
systemctl enable postgresql

Ainsi, certaines dépendances de paquets pour l’installation de Diaspora ont été installées sur la Debian Buster 10.

Start Redis and PostgreSQL Services

Étape 2 – Créer un nouvel utilisateur PostgreSQL pour Diaspora

Dans cette étape, nous allons changer le mot de passe de l’utilisateur par défaut ‘postgres’ et créer un nouvel utilisateur PostgreSQL pour Diaspora.

Connecte-toi au shell PostgreSQL à l’aide de la commande ‘psql’ ci-dessous.

sudo -i -u postgres psql

Change le mot de passe de l’utilisateur par défaut ‘postgres’ en utilisant la requête suivante.

\password postgres

Tape maintenant ton nouveau mot de passe et répète. Le mot de passe de l’utilisateur par défaut‘postgres‘ a été configuré.

Ensuite, crée un nouvel utilisateur ‘diaspora’ avec le privilège‘CREATEDB‘ pour créer une base de données en utilisant la requête PostgreSQL ci-dessous.

CREATE USER diaspora WITH CREATEDB PASSWORD 'yourpassword';

Tape‘EXIT‘ pour te déconnecter du shell PostgreSQL.

Créer une nouvelle base de données pour la Diaspora

Le nouvel utilisateur PostgreSQL pour Diaspora a été créé.

Étape 3 – Créer un nouvel utilisateur

Après avoir créé l’utilisateur de la base de données PostgreSQL, nous allons créer un nouvel utilisateur système nommé ‘diaspora’ et l’ajouter au groupe sudo.

Crée un nouvel utilisateur nommé ‘diaspora’ et configure son mot de passe à l’aide de la commande suivante.

adduser --disabled-login Diaspora
passwd diaspora

Ajoute maintenant l’utilisateur ‘diaspora’ au groupe ‘sudo’.

usermod -a -G sudo diaspora

Ainsi, l’utilisateur ‘diaspora’ pourra exécuter la commande ‘sudo’ pour obtenir les privilèges de root.

Créer une diaspora d'utilisateurs système

Étape 4 – Installe RVM et Ruby

Avant d’aller plus loin, connecte-toi à l’utilisateur ‘diaspora’ à l’aide de la commande ci-dessous.

su - diaspora

Ensuite, nous allons installer RVM (Ruby Version Manager) et installer Ruby 2.6 pour l’utilisateur ‘diaspora’.

Ajoute la clé GPGP pour les paquets RVM à l’aide de la commande ci-dessous.

gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Clé GPG Impot pour les paquets RVM

Installe maintenant le RVM (Ruby Version Manager) à l’aide de la commande suivante.

curl -sSL https://get.rvm.io | bash -s stable

Saisis ton mot de passe pour l’utilisateur ‘diaspora’ et appuie sur Entrée.

Une fois l’installation terminée, charge le script rvm sur ton serveur.

source /home/diaspora/.rvm/scripts/rvm

Tu pourras alors exécuter la commande rvm pour installer Ruby.

Installer RVM Ruby Version Manager

Installe Ruby 2.6 à l’aide de la commande rvm ci-dessous.

rvm install 2.6

Une fois l’installation terminée, vérifie ta version de Ruby.

ruby -v

Voici le résultat que tu obtiendras.

Installer Ruby 2.6 en utilisant RVM Ruby Version Manager

L’installation de RVM et Ruby sous l’utilisateur ‘diaspora’ est terminée.

Étape 5 – Télécharge et configure Diaspora

Avant d’aller plus loin, assure-toi que tu es connecté avec l’utilisateur ‘diaspora’.

Télécharge le code source de Diaspora à l’aide de la commande git et entre dans celui-ci.

git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora

Copie maintenant l’exemple de configuration de la base de données ‘database.yml’ et la configuration de diaspora ‘diaspora.yml’.

cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml

Ensuite, modifie la configuration de la base de données ‘database.yml’ en utilisant l’éditeur vim.

vim config/database.yml

Dans la section de la base de données ‘PostgreSQL’, modifie le nom d’utilisateur et le mot de passe détaillés avec tes données.

postgresql: &postgresql
  adapter: postgresql
  host: "localhost"
  port: 5432
  username: "diaspora"
  password: "yourpassword"
  encoding: unicode

Sauvegarde et ferme.

Ensuite, modifie la configuration de diaspora ‘diaspora.yml’.

vim config/diaspora.yml

Change la configuration comme ci-dessous, et assure-toi que le nom de domaine est le tien.

configuration: ## Section
...
  environment: ## Section
...
    url: "https://pod.hakase-labs.to/"
    certificate_authorities: '/etc/ssl/certs/ca-certificates.crt'
    require_ssl: true
...
  server: ## Section
    rails_environment: 'production'
...

Sauvegarde et ferme.

Ensuite, installe les bibliothèques gem et ruby nécessaires à Diaspora à l’aide des commandes suivantes.

gem install bundler
script/configure_bundler
bin/bundle install --full-index

Installer les bibliothèques de Diaspora

Après cela, exécute la migration de la base de données pour Diaspora.

RAILS_ENV=production bundle exec rake db:create db:migrate

Une fois que tout est terminé, compile tous les rails asset pipeline à l’aide de la commande suivante.

RAILS_ENV=production bin/rake assets:precompile

Et l’installation de Diaspora est terminée.

Étape 6 – Configurer Diaspora comme un service

Après avoir installé Diaspora, nous allons configurer Diaspora comme un service systemd.

Va maintenant dans le répertoire ‘/etc/systemd/system’ et crée un nouveau fichier de service d’unités de regroupement ‘diaspora.target’ en utilisant l’éditeur vim.

cd /etc/systemd/system/
vim diaspora.target

Colle la configuration suivante dans ce fichier.

[Unit]
Description=Diaspora social network
Wants=postgresql.service
Wants=redis-server.service
After=redis-server.service
After=postgresql.service

[Install]
WantedBy=multi-user.target

Sauvegarde et ferme.

Ensuite, crée un nouveau fichier de service pour Diaspora appelé ‘diaspora-web.service’ en utilisant l’éditeur vim.

vim diaspora-web.service

Colle la configuration suivante dans ce fichier.

[Unit]
Description=Diaspora social network (unicorn)
PartOf=diaspora.target
StopWhenUnneeded=true

[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec unicorn -c config/unicorn.rb -E production"
Restart=always

[Install]
WantedBy=diaspora.target

Sauvegarde et ferme.

Ensuite, crée un nouveau fichier de service ‘diaspora-sidekiq.service’ pour le service de surveillance à l’aide de la commande vim ci-dessous.

vim diaspora-sidekiq.service

Colle la configuration suivante.

[Unit]
Description=Diaspora social network (sidekiq)
PartOf=diaspora.target
StopWhenUnneeded=true

[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec sidekiq"
Restart=always

[Install]
WantedBy=diaspora.target

Sauvegarde et ferme.

Maintenant, recharge le gestionnaire systemd et ajoute tous les services diaspora au démarrage du système.

sudo systemctl daemon-reload
sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service

Configurer Diaspora comme un service Systemd

Puis démarre le service Diaspora à l’aide de la commande ci-dessous.

systemctl start diaspora.target

Le service ‘diaspora.target’ démarrera automatiquement les autres services ‘diaspora-web.service’ et ‘diaspora-sidekiq.service’.

Vérifie les services diaspora à l’aide de la commande suivante.

systemctl status diaspora-web
systemctl status diaspora-sidekiq

Voici le résultat que tu obtiendras.

Lance le Service Diaspora

En conséquence, Diaspora est maintenant opérationnel en tant que service systemd. Et enfin, la configuration de Diaspora est terminée.

Étape 7 – Générer le SSL Letsencrypt

Pour ce tutoriel, nous allons sécuriser notre installation Diaspora à l’aide de SSL Letsencrypt. Dans cette étape, nous allons installer l’outil certbot et générer SSL Letsencrypt pour notre installation de domaine Diaspora.

Installe Certbot à l’aide de la commande apt ci-dessous.

sudo apt install certbot

Une fois l’installation terminée, génère le SSL Letsencrypt pour ton nom de domaine Diaspora à l’aide de la commande certbot ci-dessous.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d pod.hakase-labs.to

Ton certificat sera maintenant disponible dans le répertoire ‘/etc/letsencrypt/live/yourdomain.com/’.

Étape 8 – Créer un nouvel utilisateur et télécharger Diaspora

Dans cette étape, nous allons installer et configurer le serveur Web Nginx comme proxy inverse pour Diaspora.

Installe Nginx à l’aide de la commande apt ci-dessous.

sudo apt install nginx

Une fois l’installation terminée, va dans le répertoire ‘/etc/nginx/sites-available’ et crée une nouvelle configuration d’hôte virtuel ‘diaspora’ à l’aide de l’éditeur vim.

cd /etc/nginx/sites-available/
vim diaspora

Change le nom de domaine et le chemin d’accès de SSL Letsencrypt avec les tiens, puis colle-les dans cette configuration.

upstream diaspora_server {
 server unix:/home/diaspora/diaspora/tmp/diaspora.sock;
}

server {
  listen 80;
  listen [::]:80;
  server_name pod.hakase-labs.to;
  return 301 https://pod.hakase-labs.to$request_uri;

  access_log /dev/null;
  error_log /dev/null;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name pod.hakase-labs.to;

  access_log /var/log/nginx/dspr-access.log;
  error_log /var/log/nginx/dspr-error.log;

  ssl_certificate /etc/letsencrypt/live/pod.hakase-labs.to/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/pod.hakase-labs.to/privkey.pem;

  ssl_protocols TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES;
  ssl_ecdh_curve X25519:P-521:P-384:P-256;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;

  root /home/diaspora/diaspora/public;

  client_max_body_size 5M;
  client_body_buffer_size 256K;

  try_files $uri @diaspora;

  location /assets/ {
    expires max;
    add_header Cache-Control public;
  }

  location @diaspora {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://diaspora_server;
  }
}

Sauvegarde et ferme.

Active maintenant la configuration Diaspora et teste la configuration Nginx.

ln -s /etc/nginx/sites-available/diaspora /etc/nginx/sites-enabled/
nginx -t

Assure-toi qu’il n’y a pas d’erreur, puis redémarre le service Nginx et ajoute-le au démarrage du système.

systemctl restart nginx
systemctl enable nginx

La configuration du serveur Web Nginx en tant que proxy inverse pour Diaspora est terminée.

Configurer Nginx en tant que Reverse Proxy pour Diaspora

Étape 9 – Test

Ouvre ton navigateur Web et tape le nom de ton domaine Diaspora dans la barre d’adresse.

http://pod.hakase-labs.to/

Et tu obtiendras la page d’accueil par défaut de Diaspora comme ci-dessous.

Page d'accueil de la diaspora

Clique sur le lien de la section« Créer un compte« .

Tape maintenant ton adresse e-mail, ton nom d’utilisateur et ton mot de passe pour le premier compte Diaspora, puis clique sur‘Créer un compte‘.

Créer un compte Diaspora

Télécharge ta photo de profil, etc., puis clique sur« Génial ! Emmène-moi sur Diaspora‘.

Paramètres du profil de la diaspora

Et tu obtiendras le tableau de bord Diaspora comme ci-dessous.

Tableau de bord de la diaspora

Comme tu peux le voir, l’installation de Diaspora avec Nginx Reverse Proxy sur Debian Buster 10 s’est déroulée avec succès.

Vous aimerez aussi...