Installation/Fedora/22

De Traduction du Wiki diaspora* (non officiel)
Aller à la navigation Aller à la recherche




}}

Introduction

Bookmark.png »» Note
Vous n'avez pas besoin d'avoir votre propre pod pour utiliser diaspora*.
Gérer son propre serveur diaspora* permet de mieux contrôler ses données, mais cela demande des compétences techniques et du temps. Au lieu de cela, vous pouvez vous inscrire sur l'une des installations ouvertes à tous qui vous permettent d'utiliser diaspora* en quelques clics et sans aucune exigence.


Ce guide décrit la procédure à suivre pour obtenir une installation de diaspora* prête pour la production.

Ce qu'il faut savoir

  • L'installation est un peu complexe, mais nous sommes là pour vous aider.
    Il est extrêmement utile d'avoir déjà une certaine expérience de l'administration de serveurs Linux/Unix ou du déploiement d'applications Rails. Mais ne vous inquiétez pas, si vous rencontrez des problèmes et avez besoin d'aide, il suffit de nous rendre visite sur nos canaux IRC sur Libera Chat.
  • L'exécution d'une configuration commune permettra d'obtenir le plus d'aide, si vous en avez besoin.
    La plupart des gens dans la communauté auront une certaine expérience de l'exécution de diaspora* avec Unicorn comme serveur d'application utilisant Nginx comme serveur web ouvert sur l'extérieur. Bien sûr, vous êtes libre d'utiliser n'importe quel autre serveur d'applications (Thin, Passenger...) ou serveur web (Apache), mais il vous sera peut-être plus difficile d'obtenir de l'aide si vous rencontrez des problèmes inattendus.
  • diaspora* est développé en utilisant les derniers standards du web
    Donc l'UX est meilleur avec des navigateurs récents, donc veuillez mettre à jour votre Firefox, Opera, Chrome ou Safari à la version la plus récente. Nous ne supportons actuellement aucune version d'Internet Explorer, bien que nous ne rejetterons aucune contributions tentant de changer cette situation.
  • diaspora* recommande fortement le HTTPS'
    car nous chiffrons la communication entre les serveurs et vers les navigateurs clients. Vous pouvez obtenir un certificat TLS gratuit sur Let's Encrypt.
    Malheureusement, les certificats auto-signés ou les certificats émis par CACert ne fonctionneront pas.
  • Nous avons besoin de vos commentaires
    pour améliorer et mettre à jour constamment ce guide. Jetez un coup d'œil à Comment nous communiquons.
  • N'exécutez aucune des commandes que vous trouverez dans ce guide en tant que root (sauf si cela vous est demandé).
    Utilisez simplement votre utilisateur normal - ou encore mieux - créez un utilisateur distinct pour (le fonctionnement de diaspora*).


Prérequis

Matériel

Minimum recommandé:

  • Mémoire: 1.5 GB
  • Swap: 1 GB
  • CPU: multicore décent
  • Stockage: L'espace disque requis dépend en grande partie du nombre d'images que vos utilisateurs doivent télécharger.

Il est possible de faire fonctionner un pod sur un Raspberry Pi >= 2. Cependant, cela sera très lent et n'est pas recommandé pour les pods multi-utilisateurs.

Logiciel

Au cours de ce manuel, vous allez installer les logiciels suivants s'ils ne sont pas déjà installés.

  • Outils de compilation - pour compiler les paquets sources
  • Ruby - le langage de programmation Ruby
  • RubyGems - gestionnaire de paquets pour les bibliothèques de code Ruby (comme CPAN pour Perl ou PEAR pour PHP)
  • Bundler - Outil de gestion Gem pour les projets Ruby
  • MySQL ou MariaDB ou PostgreSQL - Système de gestion de base de données pour le stockage
  • OpenSSL - bibliothèque de chiffrement.
  • libcurl - bibliothèque de transfert de fichiers multiprotocole AVERTISSEMENT : En raison de l'erreur sidekiq longjmp, vous avez besoin d'au moins curl 7.32
  • ImageMagick - bibliothèque de traitement des images
  • Git - système de contrôle de version
  • Redis - est un système de gestion de base de données clé-valeur extensible.
  • l'un des moteurs d'exécution JavaScript figurant dans execjs' liste des supports.


Veuillez noter que l'exécution de diaspora* avec d'autres applications qui utilisent Redis sur la même machine peut être dangereuse. Ne le faites que si vous savez absolument ce que vous faites, et si vous savez comment modifier la base de données Redis pour toutes les applications.


Versions de ce guide

Warning.png »» Important
Veillez à utiliser la bonne version du guide, voir ci-dessous.


» Aidez-moi à décider!

En mode Production, votre module est configuré pour gérer une charge élevée pour un usage quotidien. Ceci est recommandé pour un pod que vous souhaitez utiliser réellement.

En mode Développement, votre pod est configuré pour le développement. Ceci n'est recommandé que pour les contributeurs de diaspora* qui n'utilisent le pod que localement à des fins de test.

Le choix de la base de données vous appartient. D'après notre expérience, PostgreSQL offre de meilleures performances mais nécessite plus de ressources.

Le guide actuel est pour un production. avec PostgreSQL comme base de données.

Vous pouvez les modifier ci-dessous :

Mode de fonctionnement : Production | Development
Base de données: MySQL | PostgreSQL | MariaDB


Préparer le système

Installer les paquets

Lancer en tant que root :

dnf install tar make automake gcc gcc-c++ git net-tools libcurl-devel libxml2-devel libffi-devel libxslt-devel wget redis ImageMagick nodejs postgresql-devel

Installer la base de données

Si vous en avez déjà une, passez cette étape.

Lancer en tant que root :

dnf install postgresql-server
postgresql-setup initdb
systemctl enable postgresql
systemctl start postgresql
systemctl enable redis
systemctl start redis

Créer un utilisateur pour Diaspora

Lancer en tant que root :

adduser --disabled-login diaspora
# Si vous avez déjà créé un utilisateur et que vous voulez désactiver la connexion pour celui-ci :
usermod -L diaspora
# Ajoutez le nouvel utilisateur au groupe wheel afin de pouvoir accéder à la fonctionnalité sudo.
usermod -aG wheel diaspora
# Ensuite, basculez sur l'utilisateur :
su diaspora
cd ~

Le reste du guide devrait se dérouler avec cet utilisateur !

Création d'un utilisateur pour DB

Si vous souhaitez avoir un utilisateur DB séparé pour votre installation diaspora*, connectez-vous à votre serveur PostgreSQL en tant qu'utilisateur principal 'postgres'. Une façon de procéder est la suivante :

sudo -u postgres psql

Vous avez besoin d'un utilisateur ayant le privilège de créer des bases de données.

CREATE USER diaspora WITH CREATEDB PASSWORD '<mot_de_passe>';


RVM

Nous vous conseillons d'utiliser Ruby Version Manager. Cela vous permettra d'être toujours sur la version de Ruby recommandée et séparera proprement votre installation de diaspora* de toutes les autres applications Ruby sur votre machine. Si vous choisissez de ne pas l'utiliser, assurez-vous que votre version de Ruby est au moins 2.3.0, les versions antérieures sont incompatibles. Nous recommandons d'utiliser la dernière version de la série 2.6.

Installer RVM

En tant qu'utilisateur avec lequel vous voulez exécuter diaspora*, c'est-à-dire pas en tant que root, exécutez :

curl -L https://s.diaspora.software/1t | bash

et suivez les instructions. Si vous rencontrez des problèmes de signature GPG, suivez les instructions affichées par la commande. L'exécution de la commande 'gpg --recv-keys' avec 'sudo' ne devrait pas être nécessaire. Si ces commandes vous donnent des erreurs de permission refusée, changez-les en 640 pour tous les fichiers et 750 pour tous les dossiers dans le dossier .gnupg.

Configurer RVM

Assurez-vous que la ligne suivante se trouve dans votre ~/.bashrc:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

Exécutez maintenant source ~/.bashrc dans le(s) terminal(s) que vous utilisez pour ce guide.

Si vous n'avez pas installé sudo ou si votre utilisateur actuel n'a pas les privilèges pour l'exécuter, exécutez :

rvm autolibs read-fail

La commande suivante va vérifier si toutes les dépendances pour construire Ruby sont installées. Si elles ne sont pas satisfaites, vous verrez une liste de paquets précédée de "Missing required packages:" (Paquets requis manquants). En tant que root, installez tous les paquets qui y sont listés pour votre système d'exploitation. Puis réexécutez la commande install.

Assurez-vous que la version de Ruby actuellement recommandée est installée :

rvm install 2.6



Obtenir la source

Il est temps de télécharger diaspora* ! En tant qu'utilisateur de diaspora, exécutez :

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

Ne pas oublier le cd diaspora, toutes les commandes à venir demandent à être exécutées à partir de ce répertoire !

Configuration

Copier les fichiers

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

Now open config/database.yml and config/diaspora.toml in your favorite text editor and carefully review them, they are extensively commented.

Valeurs importantes dans config/database.toml

  • username Assurez-vous d'utiliser le nom d'utilisateur que vous avez créé pour diaspora.
  • password Assurez-vous d'utiliser le bon mot de passe pour l'utilisateur que vous avez créé pour diaspora.

Valeurs importantes dans config/diaspora.toml

  • configuration.environment.url: Définissez l' adresse publiquede l'URL de votre pod ici, par exemple pour https://pod.geraspora.de ce serait https://pod.geraspora.de
  • configuration.environment.certificate_authorities: Vous devez le définir, l'un des exemples devrait convenir. Si le fichier de l'exemple n'existe pas, il vous manque un paquet, dans la plupart des cas il est nommé ca-certificates.
  • configuration.server.rails_environment: Vous devez donner la valeur production à ce paramètre. La section server est lue par ./script/server et par la plupart des méthodes de démarrage alternatives pour configurer l'environnement correct.
  • environment.require_ssl: Si, pour une raison quelconque, vous ne pouvez pas exécuter votre pod sur HTTPS (nous vous encourageons vivement à le faire !), définissez ce paramètre à false pour empêcher une redirection de http:// vers https://.

Reverse proxy

Vous avez très probablement déjà un serveur web fonctionnant sur les ports 80 (http) et 443 (https). Il devrait également servir le contenu statique de Diaspora et transmettre toutes les autres demandes à Diaspora. Voici quelques exemples de configuration pour y parvenir :

Bundle

Il est temps d'installer les bibliothèques Ruby requises par diaspora* :

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

Cela prend un certain temps. Quand c'est terminé, vous devriez voir un message similaire à : Bundle complete! 137 Gemfile dependencies, 259 gems now installed.(Bundle terminé ! 137 dépendances Gemfile, 259 gems maintenant installées). Si ce n'est pas le cas, vous devriez chercher de l'aide sur la liste de diffusion ou le canal IRC.

L'exécution de la commande manuelle gem install indiquée dans le message d'erreur peut parfois afficher un message d'erreur plus clair si la commande bundle échoue.

Configuration de la base de données

Vérifiez que votre config/database.yml semble correct et exécutez :

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

Pré-compilation des actifs

RAILS_ENV=production bin/rake assets:precompile

Lancer la diaspora*.

Il est temps de lancer diaspora* :

./script/server

Dans le cas le plus simple, vous devez effectuer cette opération dans une session screen ou tmux dont vous pouvez vous détacher en toute sécurité.

Votre serveur diaspora est maintenant en marche, soit sur un socket unix (défaut actuel) ou sur le port http 3000. La méthode d'écoute peut être configurée dans diaspora.toml, cherchez '3000' ou 'listen' pour trouver la ligne correcte.

Vous devrez probablement installer un proxy inverse (exemple sur github pour apache2) afin qu'il soit accessible au public. Si vous êtes novice dans l'exécution d'applications rails, vous trouverez peut-être la page composants diaspora utile pour vous guider.

Sauvegarde

Warning.png »» Important
Vous devez faire des sauvegardes de vos données de pods. Si vous perdez vos données, vous ne pourrez plus jamais utiliser la combinaison de votre ancien nom d'utilisateur et de votre ancien domaine. Assurez-vous de stocker les sauvegardes sur un serveur différent, ou au moins sur un disque dur différent.
Pour plus de détails sur la façon de faire des sauvegardes, voir Sauvegarde des données du pod.


Autres lectures

(À faire : définir les liens vers les autres pages)