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
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.
Dans ce didacticiel, nous utiliserons matrix.example.com
le nom de domaine utilisé pour Matrix Synapse. Remplacez toutes les occurrences de matrix.example.com
par 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.
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 tools
groupe 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
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 pip
et 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.
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.conf
pour 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
à trust
et idnet
vers 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 psql
shell 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 DBPassword
par 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 psql
shell.
\q
Basculez vers l' sudo
utilisateur depuis l' postgres
utilisateur 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
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.com
par 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=yes
si vous souhaitez que les serveurs génèrent les rapports, --report-stats=no
dé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.yaml
est 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_registration
sur 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 8448
est 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:8448
votre 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.
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 HTTP
et les HTTPS
ports à travers le pare-feu. Certbot doit établir une HTTP
connexion 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.pem
et 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.yaml
fichier. 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.
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"}}}
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
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 ID
dans le menu déroulant de l' Sign In
option 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 server
et utilisez le nom de domaine de votre instance Synapse. Comme nous avons déjà configuré Nginx, nous pouvons simplement l'utiliser https://matrix.example.com
comme serveur domestique et https://matrix.org
comme URL de serveur d'identité.
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.com
comme domaine pour l'application Riot. Remplacez toutes les occurrences deriot.example.com
par 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éé.
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
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
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
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
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
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,
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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, 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.
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+
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.
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 d'extraction de données de Big Data
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
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 d'analyse des mégadonnées : partie 1
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.