Créer un serveur de conversation à laide de Matrix Synapse et Riot sur CentOS 7

Matrix est un protocole de communication standard ouvert pour la communication décentralisée en temps réel. Matrix est implémenté comme des serveurs domestiques qui sont distribués sur Internet; il n'y a donc pas de point de contrôle ou de défaillance unique. Matrix fournit une API HTTP RESTful pour créer et gérer les serveurs de discussion distribués qui comprend l'envoi et la réception de messages, l'invitation et la gestion des membres de la salle de conversation, la gestion des comptes d'utilisateurs et la fourniture de fonctionnalités de discussion avancées telles que les appels VoIP et vidéo, etc. Matrix établit également une synchronisation sécurisée entre les serveurs domestiques qui sont distribués à travers le monde.

Synapse est l'implémentation du serveur domestique Matrix écrit par l'équipe Matrix. L'écosystème Matrix est constitué du réseau de nombreux serveurs domestiques fédérés répartis à travers le monde. Un utilisateur Matrix utilise un client de chat pour se connecter au serveur domestique, qui à son tour se connecte au réseau Matrix. Homeserver stocke l'historique de discussion et les informations de connexion de cet utilisateur particulier.

Conditions préalables

Dans ce didacticiel, nous utiliserons matrix.example.comle nom de domaine utilisé pour Matrix Synapse. Remplacez toutes les occurrences de matrix.example.compar votre nom de domaine réel que vous souhaitez utiliser pour votre serveur domestique Synapse.

Mettez à jour votre système de base à l'aide du guide Comment mettre à jour CentOS 7 . Une fois votre système mis à jour, installez Python.

Installer les outils de développement

Matrix Synapse a besoin de Python 2.7 pour fonctionner. Python 2.7 est préinstallé dans toutes les instances de serveur CentOS. Vous pouvez vérifier la version installée de Python.

python -V

Vous devriez obtenir une sortie similaire.

[user@vultr ~]$ python -V
Python 2.7.5

Changer la version par défaut de Python peut casser le gestionnaire de référentiel YUM. Cependant, si vous souhaitez la version la plus récente de Python, vous pouvez effectuer une installation alternative, sans remplacer le Python par défaut.

Installez les packages dans le Development toolsgroupe requis pour la compilation des fichiers d'installation.

sudo yum groupinstall -y "Development tools"

Installez quelques dépendances supplémentaires.

sudo yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel 

Installez pip Python. Pip est le gestionnaire de dépendances pour les packages Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Installer Synapse

Créez un environnement virtuel pour votre application Synapse. L'environnement virtuel Python est utilisé pour créer un environnement virtuel isolé pour un projet Python. Un environnement virtuel contient ses propres répertoires d'installation et ne partage pas les bibliothèques avec les environnements virtuels globaux et autres.

sudo virtualenv -p python2.7 /opt/synapse

Fournissez la propriété de l'annuaire à l'utilisateur actuel.

sudo chown -R $USER:$USER /opt/synapse/

Activez maintenant l'environnement virtuel.

source /opt/synapse/bin/activate

Assurez-vous que vous disposez de la dernière version de pipet setuptools.

pip install --upgrade pip 
pip install --upgrade setuptools

Installez la dernière version de Synapse à l'aide de pip.

pip install https://github.com/matrix-org/synapse/tarball/master

La commande ci-dessus prendra un certain temps à exécuter car elle extrait et installe la dernière version de Synapse et toutes les dépendances du référentiel Github.

Installation et configuration de PostgreSQL

Synapse utilise SQLite comme base de données par défaut. SQLite stocke les données dans une base de données qui est conservée sous forme de fichier plat sur le disque. L'utilisation de SQLite est très simple, mais déconseillée pour la production car elle est très lente par rapport à PostgreSQL.

PostgreSQL est un système de base de données relationnelle objet. Vous devrez ajouter le référentiel PostgreSQL dans votre système, car l'application n'est pas disponible dans le référentiel YUM par défaut.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Installez le serveur de base de données PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Initialisez la base de données.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Modifiez le /var/lib/pgsql/9.6/data/pg_hba.confpour activer l'authentification basée sur MD5.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Recherchez les lignes suivantes et passez peerà trustet idnetvers md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            idnet
# IPv6 local connections:
host    all             all             ::1/128                 idnet

Une fois mise à jour, la configuration devrait ressembler à ceci.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Démarrez le serveur PostgreSQL et activez-le pour démarrer automatiquement au démarrage.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Modifiez le mot de passe de l'utilisateur PostgreSQL par défaut.

sudo passwd postgres

S'identifier.

sudo su - postgres

Créez un nouvel utilisateur PostgreSQL pour Synapse.

createuser synapse

PostgreSQL fournit le psqlshell pour exécuter des requêtes sur la base de données. Basculez vers le shell PostgreSQL en exécutant.

psql

Définissez un mot de passe pour l'utilisateur nouvellement créé pour la base de données Synapse.

ALTER USER synapse WITH ENCRYPTED password 'DBPassword';

Remplacez-le DBPasswordpar un mot de passe fort et notez-le car nous utiliserons le mot de passe plus tard. Créez une nouvelle base de données pour la base de données PostgreSQL.

CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;

Sortez du psqlshell.

\q

Basculez vers l' sudoutilisateur depuis l' postgresutilisateur actuel .

exit

Vous devrez également installer les packages requis pour que Synapse communique avec le serveur de base de données PostgreSQL.

sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2

Configuration de Synapse

Synapse nécessite un fichier de configuration avant de pouvoir être démarré. Le fichier de configuration stocke les paramètres du serveur. Basculez vers l'environnement virtuel et générez la configuration de Synapse.

source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes

Remplacez-le matrix.example.compar votre nom de domaine réel et assurez-vous que le nom du serveur peut être résolu par l'adresse IP de votre instance Vultr. Indiquez --report-stats=yessi vous souhaitez que les serveurs génèrent les rapports, --report-stats=nodésactivez la génération de rapports et de statistiques.

Vous devriez voir une sortie similaire.

(synapse)[user@vultr synapse]$ python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
A config file has been generated in 'homeserver.yaml' for server name 'matrix.example.com' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs.
If this server name is incorrect, you will need to regenerate the SSL certificates

Par défaut, le homeserver.yamlest configuré pour utiliser une base de données SQLite. Nous devons le modifier pour utiliser la base de données PostgreSQL que nous avons créée précédemment.

Modifiez le nouvellement créé homeserver.yaml.

nano homeserver.yaml

Recherchez la configuration de base de données existante qui utilise SQLite3. Mettez en commentaire les lignes comme indiqué ci-dessous. Ajoutez également la nouvelle configuration de base de données pour PostgreSQL. Assurez-vous que vous utilisez les informations d'identification de base de données correctes.

# Database configuration
#database:
  # The database engine name
  #name: "sqlite3"
  # Arguments to pass to the engine
  #args:
    # Path to the database
    #database: "/opt/synapse/homeserver.db"


database:
    name: psycopg2
    args:
        user: synapse
        password: DBPassword
        database: synapse
        host: localhost
        cp_min: 5
        cp_max: 10

L'enregistrement d'un nouvel utilisateur à partir d'une interface Web est désactivé par défaut. Pour activer l'enregistrement, vous pouvez définir enable_registrationsur True. Vous pouvez également définir une clé d'enregistrement secrète, qui permet à quiconque d'enregistrer qui possède la clé secrète, même si l'enregistrement est désactivé.

enable_registration: False

registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"

Enregistrez le fichier et quittez l'éditeur. Vous devez maintenant enregistrer votre premier utilisateur. Cependant, avant de pouvoir enregistrer un nouvel utilisateur, vous devez d'abord démarrer l'application.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl start

Vous devriez voir les lignes suivantes.

2017-09-05 11:10:41,921 - twisted - 131 - INFO - - SynapseSite starting on 8008
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - Starting factory <synapse.http.site.SynapseSite instance at 0x44bbc68>
2017-09-05 11:10:41,921 - synapse.app.homeserver - 201 - INFO - - Synapse now listening on port 8008
2017-09-05 11:10:41,922 - synapse.app.homeserver - 442 - INFO - - Scheduling stats reporting for 3 hour intervals
started synapse.app.homeserver('homeserver.yaml')

Enregistrez un nouvel utilisateur Matrix.

register_new_matrix_user -c homeserver.yaml https://localhost:8448

Vous devriez voir ce qui suit.

(synapse)[user@vultr synapse]$ register_new_matrix_user -c homeserver.yaml https://localhost:8448
New user localpart [user]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success.

Enfin, avant de pouvoir utiliser le Homeserver, vous devrez autoriser le port 8448 via le pare-feu. Le port 8448est utilisé comme port de fédération sécurisé. Les serveurs domestiques utilisent ce port pour communiquer entre eux en toute sécurité. Vous pouvez également utiliser le client de chat Web Matrix intégré via ce port.

sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload

Vous pouvez maintenant vous connecter au client de chat Web Matrix en accédant à https://matrix.example.com:8448votre navigateur préféré. Vous verrez un avertissement concernant le certificat SSL car les certificats utilisés sont auto-signés. Nous n'utiliserons pas ce client de chat Web car il est obsolète et n'est plus maintenu. Essayez simplement de vérifier si vous pouvez vous connecter en utilisant le compte utilisateur que vous venez de créer.

Configuration de Let's Encrypt Certificates

Au lieu d'utiliser un certificat auto-signé pour sécuriser le port de fédération, nous pouvons utiliser Let's Encrypt gratuitement SSL. Let's Encrypt SSL gratuit peut être obtenu via le client officiel Let's Encrypt appelé Certbot.

Installez Certbot.

sudo yum -y install certbot

Ajustez vos paramètres de pare-feu pour autoriser la norme HTTPet les HTTPSports à travers le pare-feu. Certbot doit établir une HTTPconnexion pour vérifier l'autorité de domaine.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Pour obtenir des certificats de Let's Encrypt CA, vous devez vous assurer que le domaine pour lequel vous souhaitez générer les certificats est dirigé vers le serveur. Si ce n'est pas le cas, apportez les modifications nécessaires aux enregistrements DNS de votre domaine et attendez que le DNS se propage avant de refaire la demande de certificat. Certbot vérifie l'autorité de domaine avant de fournir les certificats.

Utilisez maintenant le serveur Web intégré dans Certbot pour générer les certificats pour votre domaine.

sudo certbot certonly --standalone -d matrix.example.com

Les certificats générés sont susceptibles d'être stockés dans /etc/letsencrypt/live/matrix.example.com/. Le certificat SSL sera stocké sous fullchain.pemet la clé privée sera stockée sous privkey.pem.

Copiez les certificats.

sudo cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem

sudo cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

Vous devrez modifier le chemin d'accès aux certificats et clés du homeserver.yamlfichier. Modifiez la configuration.

nano /opt/synapse/homeserver.yaml

Recherchez les lignes suivantes et modifiez le chemin.

tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"

# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"

Enregistrez le fichier et quittez l'éditeur. Redémarrez le serveur Synapse pour que les modifications prennent effet.

source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart

Les certificats Let's Encrypt doivent expirer dans 90 jours, il est donc recommandé de configurer le renouvellement automatique des certificats à l'aide de tâches cron. Cron est un service système utilisé pour exécuter des tâches périodiques.

Créez un nouveau script pour renouveler les certificats et copiez les certificats renouvelés dans le répertoire Synapse.

sudo nano /opt/renew-letsencypt.sh  

Remplissez le fichier.

#!/bin/sh

/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem

Fournissez l'autorisation d'exécution.

sudo chmod +x /opt/renew-letsencypt.sh

Ouvrez le fichier de tâche cron.

sudo crontab -e

Ajoutez la ligne suivante à la fin du fichier.

30 5 * * 1 /opt/renew-letsencypt.sh

La tâche cron ci-dessus s'exécutera tous les lundis à 5h30. Si le certificat arrive à expiration, il les renouvellera automatiquement.

Vous pouvez maintenant visiter https://matrix.example.com:8448. Vous verrez qu'il n'y a pas d'avertissement SSL avant la connexion.

Configurer Nginx avec Let's Encrypt

Outre le port de fédération sécurisé 8448, Synapse écoute également le port client non sécurisé 8008. Nous allons maintenant configurer Nginx comme proxy inverse de l'application Synapse.

sudo yum -y install nginx

Créez un nouveau fichier de configuration.

sudo nano /etc/nginx/conf.d/synapse.conf

Remplissez le fichier avec le contenu suivant.

server {
    listen 80;
    server_name matrix.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name matrix.example.com;

    ssl_certificate           /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/matrix.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /var/log/nginx/synapse.access.log;

    location /_matrix {

      proxy_pass          http://localhost:8008;
      proxy_set_header X-Forwarded-For $remote_addr;

    }
  }

Redémarrez et activez Nginx pour démarrer automatiquement au démarrage.

sudo systemctl restart nginx
sudo systemctl enable nginx

Enfin, vous pouvez vérifier si Synapse est accessible via le proxy inverse.

curl https://matrix.example.com/_matrix/key/v2/server/auto

Vous devriez obtenir une sortie similaire.

[user@vultr ~]$ curl https://matrix.example.com/_matrix/key/v2/server/auto
{"old_verify_keys":{},"server_name":"matrix.example.com","signatures":{"matrix.example.com":{"ed25519:a_ffMf":"T/Uq/UN5vyc4w7v0azALjPIJeZx1vQ+HC6ohUGkTSqiFI4WI/ojGpb2763arwSSQLr/tP/2diCi1KLU2DEnOCQ"}},"tls_fingerprints":[{"sha256":"eorhQj/kubI2PEQZyBZvGV7K1x3EcQ7j/AO2MtZMplw"}],"valid_until_ts":1504876080512,"verify_keys":{"ed25519:a_ffMf":{"key":"Gc1hxkpPmQv71Cvjyk+uzR5UtrpmgV/UwlsLtosawEs"}}}

Configuration du service Systemd

Il est recommandé d'utiliser le service Systemd pour gérer le processus du serveur Synapse. L'utilisation de Systemd garantit que le serveur démarre automatiquement au démarrage et en cas d'échec du système.

Créez un nouveau fichier de service Systemd.

sudo nano /etc/systemd/system/matrix-synapse.service

Remplissez le fichier.

[Unit]
Description=Matrix Synapse service
After=network.target

[Service]
Type=forking
WorkingDirectory=/opt/synapse/
ExecStart=/opt/synapse/bin/synctl start
ExecStop=/opt/synapse/bin/synctl stop
ExecReload=/opt/synapse/bin/synctl restart
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=synapse

[Install]
WantedBy=multi-user.target

Vous pouvez maintenant démarrer rapidement le serveur Synapse.

sudo systemctl start matrix-synapse

Pour arrêter ou redémarrer le serveur à l'aide des commandes suivantes.

sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse

Vous pouvez vérifier l'état du service.

sudo systemctl status matrix-synapse

Utiliser Riot

Le serveur Matrix Synapse est maintenant installé et configuré sur votre serveur. Le client Web intégré pour Matrix étant obsolète, vous pouvez choisir parmi la variété des applications clientes disponibles pour le chat. Riot est le client de chat le plus populaire, disponible sur presque toutes les plateformes. Vous pouvez utiliser la version hébergée du client de chat Web de Riot, ou vous pouvez également en héberger une copie sur votre propre serveur. En dehors de cela, vous pouvez également utiliser les clients de chat et de bureau de Riot, disponibles pour Windows, Mac, Linux, IOS et Android.

Si vous souhaitez héberger votre propre copie du client Web Riot, vous pouvez lire la suite pour les instructions d'installation de Riot sur votre serveur. Pour les clients hébergés, de bureau et mobiles, vous pouvez utiliser votre nom d'utilisateur et votre mot de passe pour vous connecter directement à votre serveur domestique. Choisissez simplement my Matrix IDdans le menu déroulant de l' Sign Inoption et indiquez le nom d'utilisateur et le mot de passe que vous avez créés lors de l'inscription d'un nouvel utilisateur. Cliquez sur Custom serveret utilisez le nom de domaine de votre instance Synapse. Comme nous avons déjà configuré Nginx, nous pouvons simplement l'utiliser https://matrix.example.comcomme serveur domestique et https://matrix.orgcomme URL de serveur d'identité.

Exemple de connexion à Riot

Installez Riot sur votre propre serveur.

Riot est également open source et gratuit pour héberger sur votre propre serveur. Il ne nécessite aucune base de données ou dépendances. Comme nous avons déjà un serveur Nginx en cours d'exécution, nous pouvons l'héberger sur le même serveur.

Le domaine ou le sous-domaine que vous utilisez pour Synapse et Riot doivent être différents pour éviter les scripts intersites. Cependant, vous pouvez utiliser deux sous-domaines du même domaine. Dans ce didacticiel, nous utiliserons riot.example.comcomme domaine pour l'application Riot. Remplacez toutes les occurrences de riot.example.compar votre domaine ou sous-domaine réel pour l'application Riot.

Téléchargez Riot sur votre serveur.

cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz

Vous pouvez toujours trouver le lien vers la dernière version sur Riot's Github .

Extraire l'archive.

sudo tar -xzf riot-v*.tar.gz

Renommez le répertoire pour plus de commodité.

sudo mv riot-v*/ riot/

Comme nous avons déjà installé Certbot, nous pouvons générer directement les certificats. Assurez-vous que le domaine ou le sous-domaine que vous utilisez est dirigé vers le serveur.

sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com

Les certificats générés sont susceptibles d'être stockés dans le /etc/letsencrypt/live/riot.example.com/répertoire.

Créez un hôte virtuel pour l'application Riot.

sudo nano /etc/nginx/conf.d/riot.conf

Remplissez le fichier.

server {
    listen 80;
    server_name riot.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name riot.example.com;

    ssl_certificate           /etc/letsencrypt/live/riot.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/riot.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    root /opt/riot;
    index index.html index.htm;

    location / {
            try_files $uri $uri/ =404;
    }

    access_log    /var/log/nginx/riot.access.log;

  }

Copiez l'exemple de fichier de configuration.

sudo cp /opt/riot/config.sample.json /opt/riot/config.json

Modifiez maintenant le fichier de configuration pour apporter quelques modifications.

sudo nano /opt/riot/config.json

Trouvez les lignes suivantes.

"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",

Remplacez la valeur de l'URL du serveur domestique par défaut par l'URL de votre serveur Matrix. Pour l'URL du serveur d'identité, vous pouvez utiliser l'option par défaut, ou vous pouvez également fournir sa valeur au serveur d'identité Matrix, qui est https://matrix.org.

"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",

Enregistrez le fichier et quittez. Attribuez la propriété des fichiers à l'utilisateur Nginx.

sudo chown -R nginx:nginx /opt/riot/

Redémarrez Nginx.

sudo systemctl restart nginx

Vous pouvez accéder à Riot sur https://riot.example.com. Vous pouvez maintenant vous connecter en utilisant le nom d'utilisateur et le mot de passe que vous avez créés précédemment. Vous pouvez vous connecter en utilisant le serveur par défaut car nous avons déjà changé le serveur Matrix par défaut pour notre application.

Vous disposez désormais d'un serveur domestique Matrix Synapse opérationnel. Vous disposez également d'une copie hébergée de Riot, que vous pouvez utiliser pour envoyer un message à d'autres personnes à l'aide de leur ID matriciel, de leur adresse e-mail ou de leur numéro de mobile. Commencez par créer un salon de discussion sur votre serveur et invitez vos amis sur Matrix à rejoindre le salon de discussion que vous avez créé.



Leave a Comment

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Comment installer MODX Revolution sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i

Configurez votre propre réseau privé avec OpenVPN

Configurez votre propre réseau privé avec OpenVPN

Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Comment installer et configurer CyberPanel sur votre serveur CentOS 7

Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que

Installer eSpeak sur CentOS 7

Installer eSpeak sur CentOS 7

Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin

Comment installer Thelia 2.3 sur CentOS 7

Comment installer Thelia 2.3 sur CentOS 7

Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i

Comment déployer Google BBR sur CentOS 7

Comment déployer Google BBR sur CentOS 7

BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,

Comment installer YOURLS sur CentOS 7

Comment installer YOURLS sur CentOS 7

YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation

Configurer Nginx-RTMP sur CentOS 7

Configurer Nginx-RTMP sur CentOS 7

Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i

Comment installer LimeSurvey sur CentOS 7

Comment installer LimeSurvey sur CentOS 7

LimeSurvey est un outil de sondage en ligne gratuit et open source qui est largement utilisé pour publier des sondages en ligne et recueillir des commentaires sur les sondages. Dans cet article, je vais

Installer Java SE sur CentOS

Installer Java SE sur CentOS

Introduction Java est une plate-forme logicielle populaire qui vous permet de développer et dexécuter des applications et des applets Java dans divers environnements matériels. Il y a

Comment installer Vanilla Forum sur CentOS 7

Comment installer Vanilla Forum sur CentOS 7

Vous utilisez un système différent? Le forum Vanilla est une application de forum open source écrite en PHP. Il est entièrement personnalisable, facile à utiliser et prend en charge externa

Installation de Netdata sur CentOS 7

Installation de Netdata sur CentOS 7

Vous utilisez un système différent? Netdata est une étoile montante dans le domaine de la surveillance des métriques système en temps réel. Par rapport à dautres outils du même type, Netdata:

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Comment installer le serveur Just Cause 2 (JC2-MP) sur CentOS 7

Dans ce didacticiel, découvrez comment configurer un serveur multijoueur Just Cause 2. Prérequis Veuillez vous assurer que le système est entièrement mis à jour avant de commencer

Comment installer Starbound Server sur CentOS 7

Comment installer Starbound Server sur CentOS 7

Vous utilisez un système différent? Dans ce tutoriel, je vais vous expliquer comment configurer un serveur Starbound sur CentOS 7. Prérequis Vous devez posséder ce jeu sur vous

Installation et configuration de ZNC sur CentOS 7

Installation et configuration de ZNC sur CentOS 7

ZNC est un videur IRC gratuit et open-source qui reste connecté en permanence à un réseau afin que les clients puissent recevoir des messages envoyés lorsquils sont hors ligne. Thi

Comment installer Django sur CentOS 7

Comment installer Django sur CentOS 7

Django est un framework Python populaire pour lécriture dapplications Web. Avec Django, vous pouvez créer des applications plus rapidement, sans réinventer la roue. Si tu veux

Comment configurer ionCube Loader sur CentOS 7

Comment configurer ionCube Loader sur CentOS 7

ionCube Loader est une extension PHP qui permet à un serveur Web dexécuter des fichiers PHP qui ont été encodés à laide dionCube Encoder et qui est requis pour exécuter e

Comment installer Reader Self 3.5 RSS Reader sur un VPS CentOS 7 LAMP

Comment installer Reader Self 3.5 RSS Reader sur un VPS CentOS 7 LAMP

Vous utilisez un système différent? Reader Self 3.5 est un lecteur RSS auto-hébergé simple et flexible, gratuit et open source et une alternative à Google Reader. Reader Sel

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Comment installer PufferPanel (Panneau de configuration Minecraft gratuit) sur CentOS 7

Introduction Dans ce tutoriel, installez bien PufferPanel sur notre Vultr VPS. PufferPanel est un panneau de contrôle open source et gratuit pour vous gérer

Comment installer BoltWire CMS sur CentOS 7

Comment installer BoltWire CMS sur CentOS 7

Vous utilisez un système différent? Introduction BoltWire est un système de gestion de contenu gratuit et léger écrit en PHP. Comparé à la plupart des autres gestionnaires de contenu

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.