Installer votre réseau,
en sept questions
Overtchat Setup, l’installateur officiel, vous pose les questions dans sa fenêtre, puis installe le réseau sur cet ordinateur ou sur votre serveur Linux, par SSH, avec l’installateur du projet, overtchat-setup.sh, qu’il embarque et vérifie : le serveur IRC, les services, le site et la base de données. Sur la machine, ce même installateur reste ensuite votre tableau de bord — démarrer, arrêter, mettre à jour — et, lancé dans un terminal, il sait aussi installer en sept questions.
Deux serveurs IRC. L’installateur pose Overtchat-Hybrid, le serveur du projet, livré déjà compilé par ce site. Sur une machine qui ne peut pas le faire tourner, il pose UnrealIRCd à sa place, avec les services Anope, et le dit. Ce que chaque serveur autorise ensuite est donné fonction par fonction sur la page Serveurs compatibles.
Deux façons d’installer
Le dépôt GitHub du code est privé : c’est ce site qui sert de quoi installer. Le code est sous licence MIT : serveur, services, panel et scripts se reprennent librement, y compris pour monter votre propre réseau. Les textes de ce site, son nom et sa charte graphique restent en revanche réservés — ils font l’identité de ce réseau-ci, pas du logiciel. Les composants tiers gardent leur propre licence (licences tierces). Deux façons de récupérer l’installateur, qui ira ensuite chercher le reste sur ce même site.
Sous Windows : Overtchat Setup
Une application avec une fenêtre : elle installe le réseau sur cet ordinateur, dans WSL, ou sur votre serveur, puis le démarre et le surveille. Elle embarque l’installateur et vérifie son empreinte avant de s’en servir.
Sous Linux : Overtchat Setup aussi
La même application, pour un bureau Linux (Debian, Ubuntu) : elle installe le réseau sur cette machine, pour votre compte, ou sur votre serveur par SSH. Les droits administrateur sont demandés par la fenêtre de mot de passe du système ; l’application ne voit jamais ce mot de passe.
| Ressource | Adresse |
|---|---|
| Installateur | Overtchat Setup — l’installateur officiel, servi par ce site |
| Empreintes | manifeste.json — SHA-256 de chaque fichier distribué |
| Version publiée | /update — numéro, empreinte et journal |
| Dépôt git | https://github.com/SerVuS033/Overtchat.git
— privé : ni les pages web ni git clone ne répondent sans accès. L'installateur ci-dessus n'en a pas besoin. |
| Signaler un problème | Formulaire de contact |
| Licence | Code MIT, nom et textes réservés — fichier LICENSE à la racine du dépôt ; composants tiers sous leur propre licence (licences tierces) |
Le dépôt et cette documentation peuvent différer. Le script publié porte la version indiquée dans le fichier VERSION à la racine du dépôt — actuellement 4.82.0. En cas d'écart, c'est le comportement du script que vous exécutez qui fait foi.
Ce que l'installateur pose, et depuis où
Chaque version est épinglée : l'installateur va chercher une archive précise, pas la dernière en date. Une URL versionnée se rejoue à l'identique dans six mois, là où un lien « latest » installe un jour autre chose sans qu'une ligne ait changé. Ces numéros sont lus dans le script — cette page ne les recopie pas.
| Composant | Version | Rôle | Source officielle |
|---|---|---|---|
| UnrealIRCd | 6.2.6 | Serveur IRC de secours, quand Overtchat-Hybrid ne convient pas à la machine — c’est son dialecte que parle Overtchat-Hybrid. | https://www.unrealircd.org/downloads/unrealircd-6.2.6.tar.gz |
| Anope | 2.1.25 | Services optionnels : NickServ, ChanServ, OperServ… Branche 2.1, celle qui a renommé son module de protocole. | https://github.com/anope/anope/archive/refs/tags/2.1.25.tar.gz |
Overtchat-Hybrid ne figure pas dans ce tableau : c'est le serveur du projet, et celui que l'installateur pose par défaut, depuis ce site. Il télécharge le serveur déjà compilé (Linux x86_64, glibc 2.34 ou plus récente, OpenSSL 3) et en vérifie l'empreinte ; le site ne sert que ce binaire. Sur une machine qui ne convient pas, l'installation pose UnrealIRCd à sa place et le dit — ou refuse, si Overtchat-Hybrid a été demandé expressément. Dans une copie du dépôt, il compile les sources présentes. OverCore, les services du réseau, arrive avec l'archive du site : il n'a besoin que du paquet Node.js de votre distribution.
Prérequis
Une machine Linux avec systemd, un compte ordinaire et un terminal. Tout le reste est vérifié, listé ou installé par le script lui-même.
Ce que le script vérifie avant d'écrire quoi que ce soit
- La distribution et son gestionnaire de paquets (apt, dnf, yum, pacman, zypper, apk), pour traduire les noms génériques (
ssl-dev) en noms réels de la distribution. - Que la machine peut faire tourner Overtchat : Linux avec systemd, processeur x86_64, bash 4 ou plus récent, au moins 512 Mo libres (2 Go conseillés). Sinon il refuse, en disant pourquoi, sans rien écrire.
- Les droits administrateur, demandés au démarrage — voir ci-dessous.
- Les sept outils de base :
jq,curl,git,openssl,tar,sha256sumetawk. Ceux qui manquent sont installés.
Les droits administrateur
Lancé depuis votre compte, sans option, le script explique qu’il lui faut les droits administrateur pour poser des paquets et des services, puis demande Continuer avec sudo ? [O/n]. Vous tapez le mot de passe de votre compte, pas celui de root ; il vérifie que sudo l’accepte, puis se relance tout entier avec ces droits. Il ne les redemande plus ensuite.
Si sudo n'existe pas sur la machine, ou refuse votre compte, il s'arrête sans rien écrire et affiche les commandes exactes à taper une seule fois, depuis root : poser sudo s'il manque, usermod -aG sudo votre-compte, puis fermer et rouvrir votre session. Autre voie, depuis root : désigner le compte qui portera l'installation, OVERTCHAT_COMPTE=votre-compte bash overtchat-setup.sh.
| Invocation | Mode | Usage |
|---|---|---|
| ./overtchat-setup.sh | défaut | Demande les droits administrateur au démarrage, puis l'installation simple au premier lancement ; ensuite, le menu de votre réseau. |
| ./overtchat-setup.sh --root | root | Se relance tout de suite avec sudo, sans poser la question. L'arborescence reste dans votre home. |
| ./overtchat-setup.sh --user | forcé | Force le mode sans droits administrateur — seulement si tous les paquets sont déjà installés. |
| ./overtchat-setup.sh --projet=NOM | nom | Nomme l'installation (le dossier ~/NOM) sans passer par la question du premier lancement. |
| sudo -E ./overtchat-setup.sh --auto --projet=NOM | sans question | Installe sans rien demander : les réponses viennent de l'environnement (--help les liste). C'est ce que lance Overtchat Setup. La base de données n'est préparée sur la machine qu'avec OVERTCHAT_BASE=preparer ; sinon, elle doit exister, avec son compte. |
| ./overtchat-setup.sh --debug | trace | Active la trace set -x pour diagnostiquer un comportement. |
| ./overtchat-setup.sh --help | aide | Affiche les options disponibles et quitte. |
Rien n'est jamais installé dans /root. Même relancé avec sudo, le script crée l'arborescence dans le home de votre compte, sous le nom choisi au premier lancement (~/MonReseau est proposé, ou --projet=NOM) et lui rend ses fichiers. Lancé en root sans compte d'origine, il refuse : les services ne tournent jamais en root. Les droits administrateur ne servent qu'aux paquets système (dont MariaDB), aux unités systemd et à quelques règles de /etc (sudoers, polkit, rotation des journaux) ; le reste — binaires, configuration, données — vous appartient.
L'installation simple : sept questions, puis tout se fait seul
Au premier lancement, une fois les droits obtenus, le script annonce ce qu'il va poser — le serveur IRC, les services du réseau, le site avec son panneau d'administration, la base de données — puis pose ses questions. Chacune est expliquée et propose une valeur entre crochets : la touche Entrée la garde. Une réponse impossible est refusée tout de suite, et la question reposée.
| N° | Question | Ce qu’elle décide | Proposé |
|---|---|---|---|
| 1 | Le nom de votre réseau | Le nom que verront les visiteurs, sur le site et dans le chat. Les noms du réseau d’origine sont refusés. | Mon réseau IRC |
| 2 | Un nom court, sans espace | Pour les menus et les noms de groupes : lettres, chiffres, point, tiret ou souligné, de 2 à 32 caractères. | le nom du réseau, sans espaces ni accents |
| 3 | L'adresse internet du réseau (nom de domaine) | Le nom qui mènera à cette machine, par exemple irc.mondomaine.fr. Pour un essai sur cette seule machine : localhost — le serveur IRC s’appelle alors irc.localhost. | le nom de la machine, sinon localhost |
| 4 | Votre adresse e-mail | Les messages du site (inscriptions, alertes) partent en son nom, et vous y recevez les notifications. | contact@votre-domaine |
| 5 | Le salon où arrivent les visiteurs | Le salon que le chat du site ouvre en premier : un #, puis 1 à 31 caractères sans espace. | #accueil |
| 6 | La base de données | Le site et les services rangent tout dans une base MariaDB nommée « Service_Overtchat », que le compte SQL « irix » est seul à ouvrir : deux noms fixés par le logiciel, qui ne changent rien au nom de votre réseau. 1 : la préparer sur cette machine — MariaDB est installé, la base et son compte créés, le mot de passe engendré pour vous. 2 : vous avez déjà cette base et ce compte — son mot de passe est demandé, sans s'afficher. Toute autre réponse est redemandée. | 1 |
| 7 | Démarrer le réseau tout seul quand la machine s'allume ? | Sinon, il faudra le relancer à la main après chaque redémarrage — depuis le menu de ce script. | oui |
Vient ensuite un récapitulatif — réseau, adresse, e-mail, salon d’accueil, base, démarrage avec la machine, dossier d’installation — et une dernière question : Lancer l’installation ? Comptez de 10 à 30 minutes selon la machine et la connexion. Tant que vous n’avez pas dit oui, rien n’est installé.
Ce qui se passe ensuite, en six étapes
1 · Dépendances système
Les paquets du site et du serveur IRC sont posés, puis le Node.js de votre distribution pour OverCore. Sans Node.js 14.14 ou plus récent, l'installation s'arrête et le dit : un réseau sans services n'est pas un réseau.
2 · Site et identité du réseau
L'archive du site est téléchargée depuis ce site, son empreinte comparée à celle publiée, puis déployée. Vos réponses deviennent l'identité du réseau : nom, domaine, adresses, salon d'accueil.
3 · Serveur IRC
Overtchat-Hybrid, déjà compilé, est téléchargé et vérifié par empreinte, puis configuré à l'identité de votre réseau : certificat auto-signé pour le port 6697, opérateur « admin » avec un mot de passe tiré au hasard. Sur une machine qui ne peut pas le faire tourner, UnrealIRCd est compilé à sa place, et le récapitulatif final le rappelle.
4 · Services du réseau
OverCore, les services écrits en Node.js — enregistrement des pseudonymes et des salons, modération —, est configuré et son lien déclaré dans le serveur. Avec UnrealIRCd, ce sont les services Anope qui sont construits, et laissés arrêtés : leur mise en route se fait depuis le mode expert.
5 · Base de données
Les tables du site et des services sont créées dans la base, par des migrations rejouables : les relancer n'efface rien.
6 · Services système
Les unités systemd sont posées dans /etc/systemd/system/, les fichiers système aussi (sudoers, rotation des journaux, Apache sans l'activer), puis le serveur, le site et OverCore sont démarrés — le script attend que le lien d'OverCore soit actif, 150 secondes au plus. Si vous avez répondu oui à la question 7, ils sont activés : ils repartiront seuls au démarrage de la machine.
Deux mots de passe sont créés pour vous, et aucun n'est affiché. Celui de la base est engendré, éprouvé par une vraie connexion, puis écrit dans le fichier d'accès à la base (IriX.json, lisible par vous seul). Celui de l'opérateur IRC « admin » est écrit dans ~/.overtchat/oper-admin.txt, lisible par vous seul ; le script en donne le chemin à la fin. Un compte « irix » déjà présent dans MariaDB n'est jamais réécrit : choisissez alors le 2 à la question 6.
À la fin
Votre réseau « … » est installé. Vient alors une huitième question : créer tout de suite votre compte d’administration du site (niveau owner), par l’outil Tools/panel-account.php — identifiant, puis mot de passe saisi masqué, jamais affiché. Refusée, ou en échec, la commande pour le faire plus tard est dite. Puis le script donne l’adresse du site depuis cette machine (http://127.0.0.1:8080) si son unité tourne, et le chemin du journal complet. Si quelque chose n’a pas pu être fait — une base qui ne répond pas, un service qui n’a pas démarré —, l’installation se termine avec réserves : chacune est listée avec le geste qui la règle. Si elle s’interrompt, ce qui précède reste en place : relancez le script, l’installation simple reprend.
Paquets requis, composant par composant
Les noms ci-dessous sont génériques : le script les traduit selon votre gestionnaire de paquets. L'installation simple pose ceux dont elle a besoin ; le menu Dépendances du mode expert affiche pour chaque composant s'il est complet, et sinon la liste de ce qui manque.
| Composant | Paquets |
|---|---|
| Anope | build · gcc · make · cmake · ssl-dev |
| UnrealIRCd | build · gcc · make · ssl-dev · zlib-dev · pkgconfig · curl-dev · pcre2-dev · argon2-dev · sodium-dev |
| Overtchat-Hybrid (compilé depuis une copie du dépôt) | build · gcc · make · ssl-dev · zlib-dev · autoconf · automake · libtool |
| Overtchat-Hybrid (binaire servi par le site) | openssl |
| Site et panel web | php · php-mysql · php-mbstring · php-gd · mysql-client · tar · curl · postfix |
| OverCore (les services du réseau) | nodejs |
Le menu Dépendances a deux entrées. L'option 1, « Installer toutes les dépendances manquantes », est elle-même verrouillée si aucune élévation n'est possible — elle ne peut pas tenir sa promesse sans droits. L'option 2, « Afficher les commandes d'installation », reste toujours accessible et vous donne la commande exacte à recopier.
Après l'installation
Où vivent les fichiers, et comment ouvrir le panel web.
L'arborescence
Le projet est regroupé dans votre home, sous le nom choisi au premier lancement (ici ~/MonReseau, le nom proposé). Hors du home ne vont que les unités systemd, les règles sudoers, polkit et de rotation des journaux, le journal de l'installateur (/var/log), et — si vous les configurez par le mode expert — le site Apache et le relais Postfix.
~/MonReseau/ Bootstrap/ # overtchat-setup.sh, le point d'entrée unique Config/ # fichiers JSON — identité du réseau et état Robots/ # OverCore, les services du réseau Runtime/ # état, journaux, fichiers d'exécution Servers/ # le serveur IRC Web/ # le panel web et le site public ~/IriX/cmds/IriX.json # l'accès à la base, lisible par vous seul
Le site et le panel web
Le site tourne par l'unité overtchat-web.service, démarrée à la fin de l'installation : http://127.0.0.1:8080 depuis la machine. Le panel d'administration est à /admin.php ; on y entre avec le compte créé à la question 8 — ou, plus tard, par l'entrée 6 du menu (« Comptes du site »), ou php ~/MonReseau/Tools/panel-account.php create.
Le panel web et le menu du script ne font pas la même chose. overtchat-setup.sh installe, démarre, arrête et met à jour les éléments du réseau ; l'interface web administre le réseau une fois qu'il tourne — membres, salons, modération. L'un ne remplace pas l'autre.
Piloter les services
Une fois OverCore en place, les cinq pseudo-clients des services répondent en message privé sur IRC. Leur catalogue complet est détaillé sur la page dédiée.
Toutes les commandes des services →
Mettre à jour, sans le menu
Les mêmes gestes existent en commandes, utilisables depuis une tâche planifiée : version, check (n'écrit rien), update, status, history, rollback. Chaque fichier est sauvegardé avant d'être remplacé, et son empreinte vérifiée.
check et version rendent 0 si tout est à jour, 1 si une mise à jour attend, 2 en cas d’erreur. Seule rollback pose une question (la sauvegarde à restaurer, puis une confirmation) : jamais depuis une tâche planifiée.
Symptômes et causes probables
Le script dit presque toujours la cause à l'écran, et le journal garde tout ce qui a défilé.
| Symptôme | Cause probable et remède |
|---|---|
| sudo a refusé, ou la commande sudo n’existe pas |
Votre compte n'a pas le droit d'utiliser sudo. Le script affiche les commandes à taper une fois depuis root (su -) : poser sudo s'il manque, usermod -aG sudo votre-compte, puis fermer et rouvrir votre session. Rien n'a été installé : relancez ensuite. |
| « Node.js absent ou trop ancien » | OverCore exige Node.js 14.14 ou plus récent, pris dans les paquets de votre distribution (jamais un dépôt tiers). Installez-le, puis relancez le script : l'installation simple reprend. |
| « Un compte irix existe déjà dans MariaDB » | Une base a déjà été préparée sur cette machine, peut-être pour une autre installation. Le script ne réécrit jamais ce compte : relancez et choisissez le 2 à la question 6, avec son mot de passe. |
| Terminée avec réserves | Tout est posé, mais quelque chose n'a pas pu être fait : chaque réserve est listée avec le geste qui la règle. Réglez-les, puis vérifiez l'état depuis le menu de votre réseau. |
| Relancé, le script repose la question du nom de l’installation |
Il ne sait pas laquelle prendre : vous avez plusieurs installations dans votre dossier personnel (avant le 24/10/2026, il ne retrouvait même pas la seule). Interrompez-le (Ctrl+C), puis relancez avec --projet=NOM, le nom du dossier de votre installation. Un dossier ~/Service-Overtchat créé par erreur, avec seulement Config/ et Runtime/, peut être retiré. |
| Un élément est « en panne » dans le menu | Son unité systemd a échoué. Gérer un élément → Voir son journal donne ses 50 dernières lignes ; Redémarrer le relance. |
| Le site s’affiche, mais personne ne peut entrer dans le panneau d’administration |
Aucun compte du site n'a été créé — vous avez dit non à la question 8, ou l'installation vient de --auto. Entrée 6 du menu, « Comptes du site », ou php ~/MonReseau/Tools/panel-account.php create. |
| Un comportement du script reste inexplicable |
Relancez avec --debug : la trace set -x montre chaque commande exécutée. Le journal de l'installateur (entrée 4 du menu, dernière ligne) garde tout ce qui a défilé : /var/log/overtchat-setup.log quand il tourne avec sudo, ~/.local/state/overtchat/overtchat-setup.log sinon. |
Un refus n'est jamais un bug. Le script préfère s'arrêter avant d'écrire, en disant pourquoi, plutôt que d'installer à moitié. Si une entrée est grisée, la réponse est écrite entre les chevrons qui la suivent.