ports:web:diaspora

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ports:web:diaspora [2020/05/03 17:07] – [La jail] davidports:web:diaspora [2022/04/28 16:00] (Version actuelle) – [Installer] david
Ligne 4: Ligne 4:
 [[https://diasporafoundation.org/|Diaspora]]  est un service de réseau social décentralisé. [[https://diasporafoundation.org/|Diaspora]]  est un service de réseau social décentralisé.
  
-Cet article va vous décrire l'installation d'un [[https://matrix.org/|serveur Diaspora]], dans une [[jails:zfs|jail]].+Cet article va vous décrire l'installation d'un [[https://diaspora.lapinbilly.eu/stream|serveur Diaspora]], dans une [[jails:zfs|jail]].
 </jumbotron> </jumbotron>
  
Ligne 38: Ligne 38:
 </callout> </callout>
  
-===== La base de donnée =====+On assure le démarrage au reboot: 
 +<code bash> 
 +root@popeye:# sysrc jail_enable="YES" 
 +root@popeye:# sysrc jail_list+="diaspora" 
 +</code> 
 + 
 +===== La base de données =====
  
 Préparez votre base de donnée pour Diaspora. Préparez votre base de donnée pour Diaspora.
Ligne 118: Ligne 124:
  
 ===== Installer ===== ===== Installer =====
- 
  
 Installez les ports suivants dans la //jail// ''diaspora'': Installez les ports suivants dans la //jail// ''diaspora'':
- 
 <code bash> <code bash>
-root@popeye:# pkg -j diaspora graphics/ImageMagick7-nox11 databases/redis lang/ruby26 sysutils/rubygem-bundler www/node databases/rubygem-pg devel/git textproc/libsass devel/gmake+root@popeye:# pkg -j diaspora graphics/ImageMagick7-nox11 databases/redis lang/ruby27 sysutils/rubygem-bundler www/node databases/rubygem-pg devel/git textproc/libsass devel/gmake
 root@popeye:# sysrc -j  diaspora redis_enable="YES" root@popeye:# sysrc -j  diaspora redis_enable="YES"
 +</code>
 +
 +Attention à préciser la version de ruby à utiliser dans votre ''Make.conf'' ou dans vos [[::ports:poudriere]]s.
 +<code=bash>
 +DEFAULT_VERSIONS+=ruby=2.7
 </code> </code>
  
Ligne 134: Ligne 143:
 </code> </code>
  
 +Préparer l'environnement 'gem/ruby':
 <code bash> <code bash>
 root@diaspora:# gem install certified root@diaspora:# gem install certified
Ligne 149: Ligne 159:
 </code> </code>
  
 +Les deux dernières vont vous éviter bien des ennuis, elles précisent deux paramètres de base utilisé par tous les scripts:
 +  * l'environnement du serveur, ici production par opposition à développement;
 +  * la base de donnée utilisée.
 +
 +<callout type="warning" icon="true">
 +Attention, ceux sont des instructions pour un //shell// ''csh/tcsh''. Utilisez celles qui conviennent à votre //shell//.
 +</callout>
 +
 +Et allons-y pour l'installation du produit proprement dit, à partir des sources:
 <code bash> <code bash>
 diaspora@diaspora:~ % git clone -b master https://github.com/diaspora/diaspora.git diaspora@diaspora:~ % git clone -b master https://github.com/diaspora/diaspora.git
Ligne 162: Ligne 181:
 </code> </code>
  
-Dirigez la connexion vers votre base de données +==== Configurer ==== 
 + 
 +Adaptez le serveur à la //jail// et au serveur de base de données,  
 +c'est à dire permettre au serveur **diaspora** d'écouter les requêtes venant de l'hôte et lui indiquer le chemin vers le serveur **PostgreSQL**. 
 + 
 +Deux fichiers de configuration sont importants à copier depuis les exemples du répertoire ''config'': 
 + 
 +  - ''database.yml'', pour définir les accès à la base de donnée ; 
 +  - ''diapora.yml'', pour tout le reste. 
 + 
 +Dirigez la connexion vers votre base de données:
 <file diff config/database.yml> <file diff config/database.yml>
---- config/database.yml 2020-05-02 21:34:04.844275000 +0200 +--- config/database.yml.example 2020-05-02 21:28:46.158354000 +0200 
-+++ config/database.yml.example 2020-05-02 21:28:46.158354000 +0200++++ config/database.yml 2020-05-02 21:34:04.844275000 +0200
 @@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
  postgresql: &postgresql  postgresql: &postgresql
    adapter: postgresql    adapter: postgresql
--  host: "192.168.0.10+-  host: "localhost
-+  host: "localhost"++  host: "192.168.0.10"
    port: 5432    port: 5432
--  username: "diaspora+-  username: "postgres
--  password: "pwd+-  password: "" 
-+  username: "postgres++  username: "diaspora
-+  password: ""++  password: "pwd"
    encoding: unicode    encoding: unicode
    
  mysql: &mysql  mysql: &mysql
 +
 </file> </file>
  
-Donnez le bon chemin vers les certificats:+Dans le fichier ''diaspora'', effectuez les réglages suivants: 
 + 
 +  - Adresser les certificats  
 +  - Réglez le serveur d'envoi de mail,  ici le ''sendmail'' de la base. 
 +  - Donnez un nom de serveur .
  
 <file diff config/diaspora.yml> <file diff config/diaspora.yml>
 --- config/diaspora.yml.example 2020-05-02 21:28:46.158783000 +0200 --- config/diaspora.yml.example 2020-05-02 21:28:46.158783000 +0200
-+++ config/diaspora.yml 2020-05-03 18:07:04.596741000 +0200++++ config/diaspora.yml 2020-05-04 00:00:32.367677000 +0200
 @@ -36,7 +36,7 @@ @@ -36,7 +36,7 @@
      ## However changing http to https is okay and has no consequences.      ## However changing http to https is okay and has no consequences.
Ligne 213: Ligne 247:
      ## Set the path for the PID file of the unicorn master process (default=tmp/pids/web.pid)      ## Set the path for the PID file of the unicorn master process (default=tmp/pids/web.pid)
      #pid: 'tmp/pids/web.pid'      #pid: 'tmp/pids/web.pid'
-@@ -616,+616,@@+@@ -609,14 +609,14 @@ 
 +   mail: ## Section 
 +  
 +     ## First you need to enable it. 
 +-    #enable: true 
 ++    enable: true 
 +  
 +     ## Sender address used in mail sent by Diaspora. 
 +-    #sender_address: 'no-reply@example.org' 
 ++    sender_address: 'no-reply@lapinbilly.eu'
    
      ## This selects which mailer should be used. Use 'smtp' for a smtp      ## This selects which mailer should be used. Use 'smtp' for a smtp
Ligne 231: Ligne 274:
        ## Use exim and sendmail (default=false)        ## Use exim and sendmail (default=false)
        #exim_fix: false        #exim_fix: false
 +@@ -665,10 +665,10 @@
 +     ## This doesn't make the user an admin but is used when a generic
 +     ## admin contact is needed, much like the postmaster role in mail
 +     ## systems. Set only the username, NOT the full ID.
 +-    #account: "podmaster"
 ++    account: "podmaster"
 + 
 +     ## E-mail address to contact the administrator.
 +-    #podmin_email: 'podmin@example.org'
 ++    podmin_email: 'david@lapinbilly.eu'
 + 
 +   ## Settings related to relays
 +   relay: ## Section
 +</file>
  
 +=== Journaux ===
 +
 +Pour éviter de surcharger vos disques de logs, configurez newsyslog(8)
 +
 +<file shell /etc/newsyslog.conf.d/diaspora.conf>
 +/usr/home/diaspora/diaspora/log/eye_process*.log                  640 7     1000 *     NJ
 </file> </file>
-==== Configurer ==== 
  
-Adaptez le serveur à la //jail// et au serveur de base de données,  +Et, si vous utilisez ''redis'': 
-c'est à dire permettre au serveur **diaspora** d'écouter les requêtes venant de l'hôte et lui indiquer le chemin vers le serveur **PostgreSQL**.+<file shell /etc/newsyslog.conf.d/redis.conf> 
 +/var/log/redis/*.log                  600 7     1000     J /var/run/redis/redis.pid 
 +</file>
  
  
-===== Démarrer ====+===== Démarrer =====
  
 Lancez simplement: Lancez simplement:
Ligne 251: Ligne 315:
 root@popeye:# service nginx restart root@popeye:# service nginx restart
 </code> </code>
 +
 +Connectez vous sur le site et ajoutez un utilisateur. Déclarez le ensuite comme un administrateur à l'aide de son //adresse mail//.
 +
 +<code bash>
 +root@popeye:# jexec diaspora
 +root@diaspora:# su - diaspora
 +diaspora@diaspora:~ cd diaspora
 +diaspora@diaspora:~ bundle exec rails console
 +Role.add_admin User.where(email: "the_email").first.person
 +</code>
 +
 +===== Mettre à jour =====
 +
 +Pour évitez une interruption du service trop longue, préparez la mise à jour dans une autre [[https://wiki.fug-fr.org/doku.php?id=jails:zfs#multiplier |jail]].
 +Cloner votre //jail// courante et mettez à jour tout le système.
 +
 +
 +Suivez les [[https://wiki.diasporafoundation.org/Updating#Updating_a_production_install_to_a_new_minor_version|instructions]], sans tenir compte des variables d'environnement ''RAILS_ENV'' qui sont déjà activées dans ce système.
 +
 +
 +Lancez les opérations jusqu'à la migration de la base de données.Les appels à ''gem'' doivent se faire sous ''root''.
 +
 +Coupez le service de la //jail// de production et dupliquez la base de donnée du [[ports:db:postgresql#tests|serveur SQL]]:
 +
 +<code plsql>
 +CREATE DATABASE diaspora_prodold
 +WITH TEMPLATE diaspora_production
 +OWNER diaspora;
 +</code>
 +
 +Modifiez le nom base de données de production du fichier ''config/database.yml'' en ''diaspora_prodold'' et relancez le service.
 +
 +Dans la nouvelle //jail//, terminez la mise à jour.
 +Si tout s'est bien passé, routez la configuration [[ports:nginx]] vers la nouvelle //jail//.
 +
 +Stoppez l'ancien service, démarrez le nouveau et relancer le serveur web.
  
  • ports/web/diaspora.1588525621.txt.gz
  • Dernière modification : 2020/05/03 17:07
  • de david