Installer depuis l’image
L’image est une VM complète prête à démarrer : Debian 13, PostgreSQL, FreeSWITCH et FusionPBX, le centrex et nginx devant le portail, la voix de synthèse (Piper, voix française et anglaise), ainsi que keepalived et rsync pour l’actif/passif, inactifs tant qu’il n’est pas configuré. C’est la façon recommandée d’installer le centrex.
| Fichier | Pour |
|---|---|
centrex-v3-<version>.qcow2 | KVM, Proxmox, OpenStack. |
centrex-v3-<version>.ova | VMware, VirtualBox (2 vCPU, 4 Go, carte VMXNET3). |
centrex-v3-<version>.sha256 | Empreintes des deux : à vérifier avant l’import. |
Disque de 12 Go, agrandi au premier démarrage à la taille donnée à la VM. Ajoutez un second disque, vide, pour les enregistrements d’appels : voir Volume des enregistrements.
Donner l’accès
L’image n’a aucun compte ouvert ni mot de passe : l’accès se donne au premier démarrage, par cloud-init, comme pour les images Debian ou Ubuntu de ce type.
- OVA (VMware) : l’assistant d’import demande les propriétés de la VM.
- Clé SSH publique : autorisée pour le compte
debian(administrateur, sudo). - Nom de la machine : nom complet (
pbx.operateur.exemple). Il donne l’adresse du portail et le domaine par défaut. - Configuration cloud-init (facultative) : un document
#cloud-configen base64.
- Clé SSH publique : autorisée pour le compte
- qcow2 (Proxmox, OpenStack) : l’onglet ou les champs cloud-init de l’hyperviseur (utilisateur, clé SSH, nom), ou une source NoCloud. Exemple :
#cloud-config
fqdn: pbx.operateur.exemple
prefer_fqdn_over_hostname: true
users:
- name: admin
sudo: "ALL=(ALL) NOPASSWD:ALL"
ssh_authorized_keys:
- ssh-ed25519 AAAA… admin@operateur
Sans clé (VirtualBox, OVA importée sans renseigner la clé), personne ne peut se connecter : réimporter en donnant la clé, ou joindre un CD NoCloud.
Premier démarrage
Une seule fois, après cloud-init, la VM :
- tire ses propres secrets : mots de passe de la base, de l’event socket et des CDR, certificat autosigné, première clé de chiffrement des secrets ;
- crée la base de FusionPBX, avec le nom de la machine comme domaine par défaut ;
- règle FreeSWITCH : event socket local (
sudo fs_clisans mot de passe), CDR vers le centrex, voix française, 100 nouvelles sessions par seconde, SIP en TLS sur 5061 avec le certificat autosigné ; - remplit les réglages du centrex (
/etc/centrex-v3/centrex.env), avechttps://<nom de la machine>comme adresse publique ; - met les enregistrements d’appels sur leur propre volume : le second disque s’il y en a un, sinon un fichier de 50 Go (Volume des enregistrements) ;
- démarre PostgreSQL, FreeSWITCH, le centrex et nginx.
Aucun secret n’est commun à deux VM issues de la même image : clés SSH, identifiant de machine et état de cloud-init sont effacés à la construction.
Ensuite
-
Créer l’opérateur et son premier administrateur :
sudo -u centrex sh -c 'set -a; . /etc/centrex-v3/centrex.env; centrex initialiser \ --operateur "Nom de l'\''opérateur" --admin-courriel admin@operateur.exemple \ --admin-nom "Prénom Nom"'Elle affiche un lien à usage unique pour choisir le mot de passe.
-
Remplacer le certificat autosigné de nginx (
/etc/nginx/sites-available/centrex) et du SIP en TLS : par certbot, avec--deploy-hook /usr/local/sbin/centrex-certificat-sip, ou par le vôtre, quesudo centrex-certificat-sip chaine.pem cle.pemdonne au SIP (Démarrage rapide). -
Corriger l’adresse publique (
CENTREX_URL_PUBLIQUEdans/etc/centrex-v3/centrex.env, puissudo systemctl restart centrex) si le portail n’est pas servi sous le nom de la machine : les liens des invitations et des téléphones l’utilisent. -
Régler les e-mails dans le portail (page Paramètres), avant de créer les utilisateurs.
-
Déclarer le dépôt de mises à jour (Mises à jour) : sans lui, aucune nouvelle version n’est signalée.
Sources des logiciels libres
Les sources de FreeSWITCH (MPL 1.1), sofia-sip et spandsp (LGPL-2.1) et libks, aux versions
compilées, sont dans /usr/share/centrex-pbx/sources ; FusionPBX est installé en source, non
modifié, dans /var/www/fusionpbx. Les mentions des bibliothèques du centrex sont dans
/usr/share/doc/centrex-v3/.