Tip of the day: Almost every channel mode can be disabled. Don't like halfops? Use blacklist-module chanmodes/halfop;

Inclusions distantes

From UnrealIRCd documentation wiki
Jump to navigation Jump to search
This page is a translated version of the page Remote includes and the translation is 58% complete.
Outdated translations are marked like this.
Other languages:
English • ‎français

Les inclusions distantes sont un bon moyen de partager votre configuration entre plusieurs serveurs.

Il vous suffit de mettre votre configuration partagée à un endroit sécurisé, comme un serveur web de confiance, et les serveurs IRC la chargeront au démarrage ou lorsque /REHASH sera utilisé.

Later on you can change the configuration file on the web server and just run /REHASH -all on IRC. All IRC servers on your network will then reload the configuration, including your changes.

Exemple

Dans l'exemple ci-dessous, nous allons considérer que vous avez un site appelé admin.example.org :

Créer et protéger par mot de passe un répertoire HTTP

Note : les opérations ci-dessous sont exécutées en ligne de commandes et supposent que vous avez un accès au shell de votre serveur. Vous pouvez sans doute atteindre le même résultat avec un panneau d'administration comme cPanel ou via SCP/SFTP.

  • Connectez-vous en SSH sur votre serveur web, allez dans le répertoire WWW et créez un répertoire pour stocker vos fichiers de configuration :
irc@system:~$ cd public_html
irc@system:~/public_html$ mkdir conf
irc@system:~/public_html$ cd conf
irc@system:~/public_html/conf$
  • Créez un fichier .htaccess
irc@system:~/public_html/conf$ nano .htaccess

Mettez ce qui suit dans ce fichier (changez les chemins là où c'est nécessaire) :

AuthType Basic
AuthName "Accès restreint"
AuthUserFile /home/irc/public_html/conf/.htpasswd
Require valid-user
  • Créez un fichier .htpasswd avec le bon mot de passe
irc@system:~/public_html/conf$ htpasswd -c /home/irc/public_html/conf/.htpasswd restricted
New password:
Re-type new password:
Adding password for user 'restricted'
  • Créez et uploadez un fichier appelé opers.conf dans le répertoire ~/public_html/conf/

Utiliser les inclusions distantes pour récupérer la configuration

C'est simple à faire, indiquez juste l'URL dans la directive include. Dans notre exemple, cela donnerait :

HTTPS est plus sécurisé, mais nécessite que votre site ait HTTPS activé (ce qui est rarement le cas par défaut !) :

include "https://restricted:le_mot_de_passe_indique@admin.example.org/conf/opers.conf";

Nginx tips

If you use nginx rather than apache as webserver, the way to configure the location is:

location ~* ^/conf/*$ {
   auth_basic "Remote configuration";
   auth_basic_user_file /home/irc/public_html/conf/.htpasswd;
}

Et si votre serveur tombe en panne ?

Lorsque UnrealIRCd n'arrive pas à charger une inclusion distante, il utilise une copie en cache (stockée dans le répertoire cache/). La copie en cache devrait toujours être disponible, sauf si vous chargez cette inclusion distante pour la toute première fois (ou si vous avez changé l'URL).

Ainsi, vous pouvez utiliser les inclusions distantes sans risque. Même si votre serveur web tombe, vos serveurs IRC pourront toujours redémarrer ou utiliser REHASH. (Avant, ce n'était pas le cas et une panne des serveurs web pouvait causer une situation vraiment problématique).