Installer de zéro,
sans rien deviner
Chaque étape est décrite avec la commande à taper, ce que la machine répond, et le signe qui prouve que c’est passé. Aucune connaissance d’IRC n’est supposée. Comptez une heure, dont la moitié à regarder du code se compiler.
Ce que vous installez, et pourquoi il en faut plusieurs
Un réseau de discussion n’est pas un programme mais un empilement. Chaque couche ne parle qu’à sa voisine, et chacune est inutile sans celle du dessous — c’est pour cela que l’installateur impose un ordre et refuse de le sauter.
Un seul serveur à la fois. L’installateur en propose six — Overtchat-Hybrid, UnrealIRCd, ircd-Hybrid, InspIRCd, Bahamut, ircu (Undernet) — mais ils se disputent les mêmes ports : 6667 et 6697. On en choisit un. Le tableau de la page Serveurs compatibles dit ce que chacun autorise ensuite ; en cas de doute, prenez celui qui est proposé par défaut.
Avant de commencer
Une machine Linux
Debian, Ubuntu, Fedora, Rocky, Arch ou openSUSE, avec systemd. L’installateur reconnaît leurs gestionnaires de paquets et traduit lui-même les noms de paquets, qui diffèrent d’une famille à l’autre. Sans systemd — Alpine, par exemple —, il refuse de s’installer.
Un compte ordinaire
Surtout pas root. Le projet s’installe dans votre dossier personnel. Le script demandera une élévation ponctuelle pour les paquets système, les unités systemd et quelques règles système (sudoers, rotation des journaux).
De quoi compiler
Le serveur proposé par défaut, Overtchat-Hybrid, arrive déjà compilé et vérifié par son empreinte ; les autres serveurs IRC se compilent sur place. Comptez 2 Go d’espace libre — le script refuse sous 512 Mo — et quelques minutes de processeur.
Sept outils doivent être présents avant tout : jq, curl, git, openssl, tar, sha256sum et awk. Le script les vérifie et propose de les installer si vous pouvez élever vos droits. S’il ne peut pas, il affiche la commande exacte pour votre distribution et s’arrête là. Il refuse aussi de démarrer sur une machine qu’il sait incompatible : autre système que Linux, pas de systemd, gestionnaire de paquets inconnu, architecture autre que x86_64 ou aarch64, bash antérieur à la version 4, moins de 512 Mo d’espace libre.
Récupérer le script, et vérifier qu’il est intact
Le script est servi par ce site. Téléchargez-le, comparez son empreinte à celle publiée, rendez-le exécutable.
# 1. le télécharger dans votre dossier personnel cd ~ curl -fsSLO https://service-overtchat.hd.free.fr/dl/Bootstrap/overtchat-setup.sh # 2. relever son empreinte sha256sum overtchat-setup.sh # 3. la comparer à celle que le site publie curl -s https://service-overtchat.hd.free.fr/update
Ce que vous devez voir. La commande 2 affiche une longue suite de 64 caractères. La commande 3 renvoie du texte structuré contenant "sha256" suivi de la même suite. Les deux doivent être identiques, caractère pour caractère. Si elles diffèrent, le fichier a été altéré en route ou le téléchargement s’est interrompu : recommencez, n’exécutez rien.
# 4. le rendre exécutable chmod +x overtchat-setup.sh
Aucune sortie : chmod ne dit rien quand il réussit. Pour en avoir le cœur net, ls -l overtchat-setup.sh doit montrer des x dans les permissions.
Vous cherchez le dépôt complet ? Il est privé : ni ses pages ni git clone ne répondent sans accès. Pour installer, le script seul suffit : il va chercher le reste sur ce site.
Le premier lancement
Vous lancez le script sans aucune option. Il traverse alors sept contrôles avant de vous montrer quoi que ce soit — les voici dans l’ordre, pour que rien de ce qui défile ne soit une surprise.
./overtchat-setup.sh
Il annonce sous quels droits il travaille
Trois cas : root, votre-nom + sudo, ou votre-nom (sans élévation). Le troisième n’est pas bloquant : il vous affichera les commandes à lancer vous-même.
Même lancé avec sudo, il installe dans votre dossier personnel et jamais dans /root. Lancé en root sans sudo, il refuse : les services ne tournent jamais en root. Désignez alors le compte qui portera l’installation : OVERTCHAT_COMPTE=votre-nom.
Il reconnaît votre distribution
En cherchant le gestionnaire de paquets. La ligne « Distribution » du cadre doit nommer votre système. Si elle dit inconnu, le script refuse de s’installer : sans gestionnaire reconnu (apt, dnf, yum, pacman, zypper, apk), il ne saurait pas poser ses dépendances.
Il vérifie les sept outils, et s’arrête s’il en manque
Avec une élévation, il les installe. Sans, il écrit la commande exacte pour votre distribution et rend la main. Avec le refus d’une machine incompatible, c’est le seul arrêt volontaire du parcours.
Il crée ses dossiers
Ses répertoires, sous le dossier du projet — le nom choisi au premier lancement, ~/MonReseau par défaut —, listés plus bas, Où tout atterrit. Il vérifie ensuite qu’ils existent vraiment : un mkdir qui échoue ne passe pas pour un succès.
Message attendu : ✔ Arborescence validée (N dossiers)
Il vous fait entrer dans l’assistant
Après un [Entrée pour continuer]. Vous y êtes. Aucun mot de passe ne vous est demandé — voir Ce qui reste à votre charge : ce n’est pas un oubli de votre part.
L’assistant, et pourquoi des lignes sont grisées
Ce n’est pas un questionnaire : c’est une liste de six étapes dont certaines sont verrouillées tant que la précédente n’est pas faite. Une étape verrouillée reste affichée, en gris, avec la raison du blocage — plutôt que de disparaître et de vous laisser chercher.
Prenez-les dans l’ordre, en tapant le chiffre puis Entrée. Chaque installation télécharge des sources, les compile, puis vérifie que le binaire produit existe et démarre. C’est ce dernier contrôle qui compte : une compilation qui se termine sans erreur n’a jamais prouvé qu’un programme fonctionne.
| Étape | Ce qui se passe réellement | Durée |
|---|---|---|
| 1 · Dépendances | Compare les paquets requis par chacun des onze composants à ce qui est présent, puis installe les manquants — ou affiche les commandes si vous n’avez pas les droits. | 1–3 min |
| 2 · Serveur IRC | Pour Overtchat-Hybrid, le serveur proposé par défaut : télécharge le binaire déjà compilé et compare son empreinte à celle du manifeste. Pour les autres : télécharge l’archive officielle, la décompresse, la configure et la compile. Dans les deux cas, le binaire est testé avant d’être déclaré installé. | 3–10 min |
| 3 · Eggdrop | Même principe. Le script vérifie en plus la présence des modules .so : sans eux le robot démarre et ne sait rien faire. |
2–5 min |
| 4 · IriX | Rien n’est compilé : 31 fichiers sont téléchargés depuis ce site, chacun comparé à son empreinte publiée au manifeste et refusé s’il diffère. Puis vous indiquez la base de données et le script écrit la configuration du robot. | 1 min |
| 5 · Anope / Lea | Facultatif. Anope demande le nom du serveur de services, l’hôte, le port du lien et un mot de passe — qui ne peut pas être vide. Lea ne s’installe pas hors du projet : ses sources ne sont pas publiques. | 3–6 min |
| 6 · Services système | Pose les unités systemd du projet dans /etc/systemd/system/ et active les minuteries — sauvegardes, opérateurs, veille. Sans elle, rien ne tourne tout seul. |
— |
Où tout atterrit
Le projet tient sous un seul dossier, au nom choisi au premier lancement (~/MonReseau par défaut). L’installation sème aussi hors de lui : l’instance ~/IriX, les unités systemd, les règles sudoers, polkit et de rotation des journaux, et — si vous acceptez ces étapes — Apache et Postfix. Pour tout retirer, Tools/desinstaller.sh, qui montre d’abord ce qu’il supprimerait.
# ~/MonReseau — la racine de tout ~/MonReseau/ ├── Bootstrap/ l'installateur lui-même ├── Servers/ les serveurs IRC compilés ├── Components/ │ ├── Service/ eggdrop, anope, lea │ └── Serveur/ binaires et archives locales ├── IriX/ les SOURCES des services ├── Config/ tous les fichiers d'état (.json) ├── Runtime/Logs/ les journaux └── Web/ le site et le panel, si installés # et, séparément : ~/IriX/ l'INSTANCE du robot — là où il tourne
Deux dossiers IriX, et ce n’est pas une erreur. ~/MonReseau/IriX contient le code téléchargé, que les mises à jour remplacent. ~/IriX est l’instance qui tourne, avec sa configuration et ses données — elle vous appartient et n’est jamais écrasée.
Le site et le panel
Entrée 12. Six questions, chacune avec une valeur par défaut : Entrée suffit à l’accepter.
| Question | Ce qu’elle décide | Défaut |
|---|---|---|
| Nom du réseau | Le titre affiché partout sur le site. | Mon réseau IRC |
| Nom court | Utilisé dans les menus, où la place manque. | MonReseau |
| Domaine | L’adresse du site. Sert aussi à composer les adresses de courriel. | irc.example.org |
| Adresse d’expédition | L’expéditeur des messages du site. | contact@votre-domaine |
| Adresse de notification | Qui reçoit les demandes et les alertes. | la précédente |
| Salon principal | Le salon que le chat du site ouvre en premier. | #accueil |
L’archive du site est téléchargée puis son empreinte est comparée à celle publiée. Si le manifeste est injoignable, le script demande explicitement l’autorisation de continuer sans vérifier, et refuse par défaut — l’archive se déploie sur votre dossier d’installation, ce n’est pas un contrôle de forme.
Une dernière question, plus loin, porte sur le relais SMTP de votre fournisseur (smtp.free.fr, ssl0.ovh.net…). La laisser vide fonctionne, mais les messages partiront en direct — ce que la plupart des destinataires refusent depuis une adresse résidentielle.
Ce que l’installateur ne fait pas
Trois choses lui échappent. Aucune n’est un défaut, mais les ignorer produit des blocages qu’on ne sait pas nommer.
1 Le serveur MySQL
Il installe le client, jamais le serveur. IriX et le site en ont besoin. À poser vous-même :
sudo apt install mariadb-server
Puis créez une base et un utilisateur avant l’étape 4.
2 Le compte du panel web
Le site s’installe sans aucun compte : personne ne peut s’y connecter tant que vous n’en créez pas un.
php ~/MonReseau/Tools/\
panel-account.php create
3 Aucun mot de passe au départ
L’installateur ne vous en demande pas au premier lancement, et c’est voulu : le fichier des comptes n’existe pas encore. Il est créé la première fois que vous entrez dans Access Manager (entrée 6). Tant que vous n’y êtes pas allé, quiconque a accès au compte Unix a accès au panel.
Vivre avec : les mises à jour
Sept commandes s’utilisent sans passer par le menu, donc aussi depuis une tâche planifiée.
# suis-je à jour ? ./overtchat-setup.sh version # que changerait une mise à jour ? (n'écrit rien) ./overtchat-setup.sh check # l'appliquer ./overtchat-setup.sh update # revenir en arrière ./overtchat-setup.sh rollback
Ce que vous devez voir après version : un cadre à deux lignes, « Installée » et « Publiée », suivi de ✔ À jour. ou d’un avertissement nommant la nouvelle version. Si la seconde ligne dit injoignable, c’est le réseau ou le site qui ne répond pas, pas votre installation.
Chaque fichier est sauvegardé avant d’être remplacé, et son empreinte vérifiée après téléchargement : une archive altérée est refusée plutôt qu’installée. Si une mise à jour échoue, un courriel part vers l’adresse de notification avec le détail des incidents.
Quand ça coince
| Ce que vous voyez | Ce que ça veut dire | Quoi faire |
|---|---|---|
Dépendances manquantes : … |
Un des sept outils de base n’est pas là. | Lancez la commande affichée, puis relancez le script. |
| Une étape reste grise | Son socle n’est pas installé. | Lisez la raison sous l’étape : elle nomme ce qui manque. |
Distribution : inconnu |
Aucun gestionnaire de paquets reconnu. | Le script refuse de s’installer : il ne saurait pas poser ses dépendances. Passez sur une distribution reconnue. |
| La compilation s’arrête | Il manque une bibliothèque de développement. | Entrée 2 du menu : elle liste le manquant par composant. |
| Le site s’affiche, pas de connexion | Aucun compte n’existe. | Créez-le — le compte du panel. |
| Le panel ne trouve pas la base | MySQL n’est pas installé ou pas démarré. | Installez-le — le serveur MySQL. |
Le journal de la session vit dans /var/log/overtchat-setup.log quand l’installateur tourne en root (par sudo), dans ~/.local/state/overtchat/overtchat-setup.log sinon, lisible par vous seul — et garde tout ce qui a défilé, y compris ce qui est passé trop vite. En cas de blocage, c’est le premier endroit à ouvrir — et le contenu à joindre si vous nous écrivez depuis la page de contact.