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
Prochaine révisionLes deux révisions suivantes
ports:matrix [2020/04/23 11:43] – [Le serveur web] davidports:web:matrix [2022/03/16 20:03] – [Configurer] chown user to logfile david
Ligne 1: Ligne 1:
 +<jumbotron>
 ====== Papoter avec Matrix ====== ====== Papoter avec Matrix ======
- 
  
 **Matrix** est un protocole de bavardage, assez proche de //irc//, qui permet de créer des salons et surtout de chiffrer de bout en bout. **Matrix** est un protocole de bavardage, assez proche de //irc//, qui permet de créer des salons et surtout de chiffrer de bout en bout.
  
 Cet article va vous décrire l'installation d'un [[https://matrix.org/|serveur Matrix]], dans une [[jails:zfs|jail]]. Cet article va vous décrire l'installation d'un [[https://matrix.org/|serveur Matrix]], dans une [[jails:zfs|jail]].
 +</jumbotron>
  
 Vous devez vous préparer à fournir les [[https://www.freebsd.org/doc/handbook/ports.html|ports]] suivants: Vous devez vous préparer à fournir les [[https://www.freebsd.org/doc/handbook/ports.html|ports]] suivants:
Ligne 11: Ligne 12:
   - un mécanisme pour fournir des clefs pour https, ici [[https://www.freshports.org/security/py-certbot-nginx|py-certbot-nginx]];   - un mécanisme pour fournir des clefs pour https, ici [[https://www.freshports.org/security/py-certbot-nginx|py-certbot-nginx]];
  
-Ainsi qu'un serveur de base de données [[https://www.postgresql.org/|PostgreSQL]], installée dans une [[ports::postgresql|jail]], pour cet exemple.+Ainsi qu'un serveur de base de données [[https://www.postgresql.org/|PostgreSQL]], installée dans une [[ports:db:postgresql|jail]], pour cet exemple.
  
 ===== La jail ===== ===== La jail =====
Ligne 17: Ligne 18:
 Préparez une [[jails:zfs|jail]] nommée ''matrix'', dans le répertoire ''/jails/matrix'' avec les paramètres suivants: Préparez une [[jails:zfs|jail]] nommée ''matrix'', dans le répertoire ''/jails/matrix'' avec les paramètres suivants:
  
-<file javasscript /etc/jail.conf>+<file javascript /etc/jail.conf>
 matrix { matrix {
  host.hostname = matrix;            # Hostname  host.hostname = matrix;            # Hostname
  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 34: Ligne 36:
 hostname="matrix" hostname="matrix"
 </file> </file>
 +
 +On assure le démarrage au reboot:
 +<code bash>
 +root@popeye:# sysrc jail_enable="YES"
 +root@popeye:# sysrc jail_list+="matrix"
 +</code>
 +
  
 ===== La base de donnée ===== ===== La base de donnée =====
Ligne 59: Ligne 68:
 Créez une entrée DNS, ici ''kreuz.lapinbilly.eu'', pour votre serveur et rediriger le tout vers la //jail// ''matrix''. Créez une entrée DNS, ici ''kreuz.lapinbilly.eu'', pour votre serveur et rediriger le tout vers la //jail// ''matrix''.
  
-Obtenez un certificat SSL.+Obtenez un certificat **SSL**.
 <code bash> <code bash>
 root@popeye:/jails# certbot certonly --nginx -d kreuz.lapinbilly.eu root@popeye:/jails# certbot certonly --nginx -d kreuz.lapinbilly.eu
 </code> </code>
  
-Rediriger les requètes vers votre //jail//+Rediriger les requêtes vers votre //jail//, pour cela, on va définir un fichier dédié pour //nginx//.
-<code bash /usr/local/etc/nginx/nginx.conf>+
  
 +<file javascript /usr/local/etc/nginx/matrix.conf>
 +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;
 +add_header X-Content-Type-Options nosniff;
 +add_header X-XSS-Protection "1; mode=block";
 +add_header X-Frame-Options "SAMEORIGIN" always;
 +add_header Strict-Transport-Security "max-age=31536000";
 +
 +location /_matrix {
 +        proxy_pass http://192.168.0.11:8008;
 +        proxy_set_header X-Forwarded-For $remote_addr;
 +}
 +</file>
 +
 +Et l'utiliser dans nos [[:ports:nginx#serveur|serveurs nginx]]
 +
 +<file javascript /usr/local/etc/nginx/nginx.conf>
    server {    server {
             listen 443 ssl http2 ;             listen 443 ssl http2 ;
             listen [::]:443 ssl http2 ;             listen [::]:443 ssl http2 ;
             server_name kreuz.lapinbilly.eu;             server_name kreuz.lapinbilly.eu;
-     add_header X-Content-Type-Options nosniff; +            include matrix.conf;
-     add_header X-XSS-Protection "1; mode=block"; +
-     add_header X-Frame-Options "SAMEORIGIN" always; +
-     add_header Strict-Transport-Security "max-age=31536000"; +
-            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; +
- +
-            location /_matrix { +
-                    proxy_pass http://192.168.0.11:8008; +
-                    proxy_set_header X-Forwarded-For $remote_addr; +
-            }+
     }     }
     server {     server {
Ligne 87: Ligne 102:
             listen [::]:8448 ssl http2 default_server;             listen [::]:8448 ssl http2 default_server;
             server_name kreuz.lapinbilly.eu;             server_name kreuz.lapinbilly.eu;
-     add_header X-Content-Type-Options nosniff; +            include matrix.conf;
-     add_header X-XSS-Protection "1; mode=block"; +
-     add_header X-Frame-Options "SAMEORIGIN" always; +
-     add_header Strict-Transport-Security "max-age=31536000"; +
-            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; +
- +
-            location /_matrix { +
-                    proxy_pass http://192.168.0.11:8008; +
-                    proxy_set_header X-Forwarded-For $remote_addr; +
-            }+
     }     }
 +</file>
 +
 +<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.
 +</note>
  
-Le serveur en ''8448'', ne sert que si vous voulez rejoindre une fédération. 
-</code> 
  
 ===== Installer ===== ===== Installer =====
Ligne 161: Ligne 169:
 </code> </code>
  
 +Autorisez le nettoyage des journaux par newsyslog(8):
 +<file shell /etc/newsyslog.conf.d/matrix.conf>
 +/usr/local/etc/matrix-synapse/homeserver.log    synapse:wheel   640  7    1000     J
 +</file>
 ==== Mise en Service ==== ==== Mise en Service ====
  
Ligne 264: Ligne 276:
 </code> </code>
  
 +<note>
 +Une exemple par la pratique: [[https://reuz.lapinbilly.eu/#/room/#bistrot:kreuz.lapinbilly.eu|kreuz.lapinbilly.eu]]
 +</note>
 ===== Papoter ===== ===== Papoter =====
  
-Pour papoter il vous faut un [[https://about.riot.im/|client]] et ajouter des utilisateurs, selon la procédure [[ports: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:riot-web|propre client]].+Tant que vous y êtes, créez votre [[ports:web:element-web|propre client]].
  
  
  • ports/web/matrix.txt
  • Dernière modification : 2022/09/12 21:22
  • de david