Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

FichierPour
centrex-v3-<version>.qcow2KVM, Proxmox, OpenStack.
centrex-v3-<version>.ovaVMware, VirtualBox (2 vCPU, 4 Go, carte VMXNET3).
centrex-v3-<version>.sha256Empreintes 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-config en base64.
  • 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 :

  1. 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 ;
  2. crée la base de FusionPBX, avec le nom de la machine comme domaine par défaut ;
  3. règle FreeSWITCH : event socket local (sudo fs_cli sans mot de passe), CDR vers le centrex, voix française, 100 nouvelles sessions par seconde, SIP en TLS sur 5061 avec le certificat autosigné ;
  4. remplit les réglages du centrex (/etc/centrex-v3/centrex.env), avec https://<nom de la machine> comme adresse publique ;
  5. 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) ;
  6. 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

  1. 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.

  2. 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, que sudo centrex-certificat-sip chaine.pem cle.pem donne au SIP (Démarrage rapide).

  3. Corriger l’adresse publique (CENTREX_URL_PUBLIQUE dans /etc/centrex-v3/centrex.env, puis sudo 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.

  4. Régler les e-mails dans le portail (page Paramètres), avant de créer les utilisateurs.

  5. 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/.