ports:web:matrix

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:matrix [2020/05/02 18:56] – [Le serveur web] davidports:web:matrix [2023/06/03 21:59] (Version actuelle) – [Le serveur web] david
Ligne 23: Ligne 23:
  ip4.addr = "lo1|192.168.0.11";          # IP address of the jail  ip4.addr = "lo1|192.168.0.11";          # IP address of the jail
         mount.devfs;  # /dev/random pour SSL         mount.devfs;  # /dev/random pour SSL
 +        mount.fdescfs;          # améliore les performances de python
  path ="/jails/matrix";                  # Path to the jail  path ="/jails/matrix";                  # Path to the jail
  exec.start = "/bin/sh /etc/rc";         # Start command  exec.start = "/bin/sh /etc/rc";         # Start command
Ligne 33: Ligne 34:
  
 <file ini matrix/etc/rc.conf.local> <file ini matrix/etc/rc.conf.local>
-hostname="matrix"+hostname = "matrix"
 </file> </file>
 +
 +On assure le démarrage au reboot:
 +<code bash>
 +sysrc jail_enable  = "YES"
 +sysrc jail_list   += "matrix"
 +</code>
 +
  
 ===== La base de donnée ===== ===== La base de donnée =====
Ligne 67: Ligne 75:
 Rediriger les requêtes vers votre //jail//, pour cela, on va définir un fichier dédié pour //nginx//. Rediriger les requêtes vers votre //jail//, pour cela, on va définir un fichier dédié pour //nginx//.
  
-<file javascript /usr/local/etc/nginx/matrix.conf>+<file nginx /usr/local/etc/nginx/matrix.conf [highlight_lines_extra="8"]>
 ssl_certificate /usr/local/etc/letsencrypt/live/kreuz.lapinbilly.eu/fullchain.pem; ssl_certificate /usr/local/etc/letsencrypt/live/kreuz.lapinbilly.eu/fullchain.pem;
 ssl_certificate_key /usr/local/etc/letsencrypt/live/kreuz.lapinbilly.eu/privkey.pem; ssl_certificate_key /usr/local/etc/letsencrypt/live/kreuz.lapinbilly.eu/privkey.pem;
Ligne 74: Ligne 82:
 add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Frame-Options "SAMEORIGIN" always;
 add_header Strict-Transport-Security "max-age=31536000"; add_header Strict-Transport-Security "max-age=31536000";
- +location ~ ^(/_matrix|/_synapse/client) 
-location /_matrix { +        proxy_pass http://192.168.0.20:8008;
-        proxy_pass http://192.168.0.11:8008;+
         proxy_set_header X-Forwarded-For $remote_addr;         proxy_set_header X-Forwarded-For $remote_addr;
 +        proxy_set_header X-Forwarded-Proto $scheme;
 +        proxy_set_header Host $host; 
 +        client_max_body_size 50M;
 +        proxy_http_version 1.1;
 } }
 </file> </file>
Ligne 83: Ligne 94:
 Et l'utiliser dans nos [[:ports:nginx#serveur|serveurs nginx]] Et l'utiliser dans nos [[:ports:nginx#serveur|serveurs nginx]]
  
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf [highlight_lines_extra="5,11"]>
    server {    server {
             listen 443 ssl http2 ;             listen 443 ssl http2 ;
Ligne 100: Ligne 111:
 <note important> <note important>
 Le serveur en ''8448'', ne sert que si vous voulez rejoindre une fédération. N'oubliez pas d'ouvrir le pare-feu sur ce port. Le serveur en ''8448'', ne sert que si vous voulez rejoindre une fédération. N'oubliez pas d'ouvrir le pare-feu sur ce port.
 +Par exemple, en l'ajoutant dans les ''tcp_services'' de pf.conf(5)
 </note> </note>
  
  
 ===== Installer ===== ===== Installer =====
- 
  
 Installez le port [[https://www.freshports.org/net-im/py-matrix-synapse/|net-im/py-matrix-synapse]] dans la //jail// ''matrix'': Installez le port [[https://www.freshports.org/net-im/py-matrix-synapse/|net-im/py-matrix-synapse]] dans la //jail// ''matrix'':
Ligne 112: Ligne 123:
 root@popeye:# sysrc -j matrix synapse_enable="YES" root@popeye:# sysrc -j matrix synapse_enable="YES"
 </code> </code>
 +
 +Vous allez probablement devoir [[https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/|administrer ce serveur]], le chemin le plus court est d'utiliser [[https://www.freshports.org/ftp/curl/|curl]]. 
  
 Le port va créer un utilisateur et groupe ''synapse'', ainsi qu'un [[https://www.freebsd.org/doc/handbook/configtuning-starting-services.html|script de démarrage]] du même nom. Le port va créer un utilisateur et groupe ''synapse'', ainsi qu'un [[https://www.freebsd.org/doc/handbook/configtuning-starting-services.html|script de démarrage]] du même nom.
- 
  
 Construisez le  serveur: Construisez le  serveur:
Ligne 122: Ligne 134:
 python3.7 -m synapse.app.homeserver --server-name kreuz.lapinbilly.eu --config-path homeserver.yaml --generate-config --report-stats=no python3.7 -m synapse.app.homeserver --server-name kreuz.lapinbilly.eu --config-path homeserver.yaml --generate-config --report-stats=no
 </code> </code>
 +
 +Assurez vous l'utilisateur ''synapse'' ait la permission de lire ces fichiers et d'écrire dans ce répertoire.
 +Au besoin, créer la hierarchie ''media_store'':
 +<code bash>
 +mkdir -p /usr/local/etc/matrix-synapse/media_store/local_content
 +mkdir -p /usr/local/etc/matrix-synapse/media_store/local_thumbnails
 +mkdir -p /usr/local/etc/matrix-synapse/media_store/remote_content
 +mkdir -p /usr/local/etc/matrix-synapse/media_store/remote_thumbnail
 +chown -R synapse /usr/local/etc/matrix-synapse/media_store
 +chown synapse /usr/local/etc/matrix-synapse
 +</code>
 +
  
 ==== Configurer ==== ==== Configurer ====
Ligne 161: Ligne 185:
 </code> </code>
  
 +Réglez la [journalisation](https://github.com/matrix-org/synapse/blob/develop/docs/sample_log_config.yaml) pour que le fichier soit produit dans ''/var/log/''
 +<file ini serveur-name.log.config>
 +filename: /var/log/matrix-synapse/homeserver.log
 +</file>
 +
 +Autorisez le nettoyage des journaux par newsyslog(8):
 +<file bash /etc/newsyslog.conf.d/matrix.conf>
 +/var/log/matrix-synapse/homeserver.log    synapse:wheel   640  7    1000     J
 +</file>
 ==== Mise en Service ==== ==== Mise en Service ====
  
Ligne 243: Ligne 276:
 root     syslogd    58747 5  dgram  /var/run/log root     syslogd    58747 5  dgram  /var/run/log
 root     syslogd    58747 6  dgram  /var/run/logpriv root     syslogd    58747 6  dgram  /var/run/logpriv
 +</code>
 +
 +=== Chef ===
 +
 +
 +Déclarez vous en tant qu'administrateur sur le serveur, une fois votre compte créé:
 +<code bash>
 +$ psql 
 +psql (11.17)
 +Type "help" for help.
 +
 +
 +postgres=# \c synapse
 +You are now connected to database "synapse" as user "postgres".
 +synapse=# UPDATE users SET admin = 1 WHERE name ='patron:kreuz.lapinbilly.eu'
 +synapse-# 
 </code> </code>
  
Ligne 271: Ligne 320:
 Pour papoter il vous faut un [[https://about.riot.im/|client]] et ajouter des utilisateurs, selon la procédure [[ports:web:matrix#Démarrage|indiquée précédemment]]. Pour papoter il vous faut un [[https://about.riot.im/|client]] et ajouter des utilisateurs, selon la procédure [[ports:web:matrix#Démarrage|indiquée précédemment]].
  
-Tant que vous y êtes, créez votre [[ports:web:riot-web|propre client]].+Tant que vous y êtes, créez votre [[ports:web:element-web|propre client]].
  
  
Ligne 289: Ligne 338:
 Donnez le à manger à Nginx, sous votre serveur ''https'' (443) par défaut. Il ne s'agit pas nécessairement de votre serveur **matrix**. Donnez le à manger à Nginx, sous votre serveur ''https'' (443) par défaut. Il ne s'agit pas nécessairement de votre serveur **matrix**.
  
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf>
                  location /.well-known/matrix/ {                  location /.well-known/matrix/ {
                         root /usr/local/www/;                         root /usr/local/www/;
Ligne 315: Ligne 364:
 } }
 </file> </file>
 +
 +===== Administrer =====
 +
 +L'[[https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/|API]] est une interface Web à laquelle vous faites digérer du ''Json''. Par exemple, supprimer un salon:
 +
 +<code bash>
 + curl --header "Authorization: Bearer Token_en_general_super_long" -X DELETE 'http://127.0.0.1:8008/_synapse/admin/v2/rooms/\!AYMErYZsVkpvmBlNkg:kreuz.lapinbilly.eu' -d '{"room_name":"newtest", "message":"salon precedent supprime."}'
 +</code>
 +
 +Le token est donné par votre profil utilisateur, sous ''element-web'', il se trouve à la rubrique ''aide et a propos''.
 +
 +
 +
 +
 +
  
  
  • ports/web/matrix.1588445789.txt.gz
  • Dernière modification : 2020/05/02 18:56
  • de david