Pour construire le gatekeeper vous avez besoin d'au moins PWLib 1.5.0 et OpenH323 1.12.0 ou ultérieur. La version de développement du gatekeeper a généralement besoin de la version de OpenH323 la plus récente disponible. Ces librairies sont disponibles sur la Page de Téléchargement de OpenH323. Voir les instructions sur comment compiler le code de OpenH323.
Ordre de compilation:
Sous Unix faire un configure
et make debug
ou make opt
dans le répertoire du gatekeeper pour construire la version debug ou release, respectivement.
Utiliser make both
pour construire les deux versions.
Il faut noter que vous devez utiliser GCC 3.3.x ou ultérieur. Les versions plus anciennes peuvent ne pas marcher.
Une bonne habitude est de faire un make debugdepend
ou make optdepend
dans le répertoire du gatekeeper avant de commencer la compilation (make debug ou
make opt) - ces commandes construisent les listes de dépendances appropriées, de telle sorte
qu'après avoir mis à jour vos sources depuis CVS, tous les fichiers affectés seront recompilés.
Sinon vous pourriez obtenir un Gatekeeper partiellement compilé avec les vieux
en-têtes et partiellement avec les nouveaux en-têtes - une mauvaise chose.
Sous Windows, ouvrez et compilez simplement la solution fournie (gk.sln
) pour
Microsoft Visual Studio .NET 2003 ou le workspace (gk.dsw
) pour Microsoft
Visual Studio 6.0 SP6. Bien sur, vous devez déjà avoir compilé PWLib
et OpenH323 et configuré les chemins appropriés pour les include/librairies.
Si vous souhaitez le support MySQL ou PostgreSQL, installez/compilez les librairies
clients appropriées et ajoutez HAS_MSQL=1 et/ou HAS_PGSQL=1 dans les macros du
préprocesseur du projet gatekeeper. Vous devez aussi indiquer au compilateur
ou trouver les fichiers include/librairies et indiquer à l'éditeur de liens
de linker avec ces librairies clients.
Taper configure --help
pour voir une liste détaillée de toutes les options
de compilation. Vous pouvez les utiliser pour activer ou désactiver certaines fonctions du gatekeeper.
Par exemple, si vous n'avez pas besoin de RADIUS, taper juste: configure --disable-radius
.
Les versions recommandées de PWLib/OpenH323 sont celles de la version Pandora (1.7.5.2/1.14.4.2) ou plus récente. Les versions plus anciennes ne sont plus supportées et ne sont pas garanties de fonctionner avec le gatekeeper.
Pour construire le gatekeeper qui est lié statiquement avec les librairies système et OpenH323,
il faut utiliser make optnoshared
ou make debugnoshared
.
Pour utiliser le gatekeeper sous une charge lourde, activer la fonction LARGE_FDSET (SEULEMENT POUR LA VERSION UNIX) est recommandé (configure --with-large-fdset=4096). Certains systèmes requièrent aussi l'utilisation de ulimit pour autoriser l'allocation de plus de 1024 sockets pour un seul processus. Il faut noter qu'à partir de la version 1.5.3 la librairie PWLib support aussi une fonction similaire, vous pouvez donc choisir entre les implémentations LARGE_FDSET GnuGk et PWLib. L'implémentation native GnuGk donne de meilleures performances. La valeur maximale LARGE_FDSET devrait êtra calculée en se basant sur l'utilisation maximum prévue de sockets. Un procédé empirique est:
MAX_NUMBER_OF_CONCURRENT_CALLS * 10 * 120%
Où:
10 = 2 sockets pour Q.931 + 2 sockets pour H.245 + 6 sockets pour RTP et autres
Ainsi pour 100 appels simultanés vous n'avez pas besoin de plus d'environ 1024 sockets
dans le LARGE_FDSET.
L'authentification de l'accès à la ligne d'état et le
module SimplePasswordAuth ont besoin que des mots de passe cryptés
soient stockés dans le fichier de configuration du gatekeeper.
Et depuis la version 2.2.2, le gatekeeper supporte le cryptage de tous les
mots de passe dans la configuration. L'utilitaire addpasswd
est
nécessaire pour générer et stocker les mots de passe
cryptés. Cet utilitaire est fourni avec le gatekeeper et peut
être compilé en utilisant:
$ make addpasswd
L'utilisation est la suivante:
$ addpasswd CONFIG SECTION KEYNAME PASSWORD
Exemple 1: l'utilisateur 'gkadmin' avec le mot de passe 'secret' doit être ajouté à la section de configuration [GkStatus::Auth] pour activer l'interface de la ligne d'état:
$ addpasswd gnugk.ini GkStatus::Auth gkadmin secret
Exemple 2: l'utilisateur 'joe' avec le mot de passe 'secret' doit être ajouté à la section de configuration [Password] pour activer l'authentification de terminal:
$ addpasswd gnugk.ini Password joe secret
Exemple 3: Un secret partagé crypté est ajouté à la section de configuration RadAuth:
$ addpasswd gnugk.ini RadAuth SharedSecret VerySecretPassword
IMPORTANT: La variable KeyFilled
définit une initialisation par
défaut pour les clés de cryptage de mot de passe. Il peut être
omis dans le fichier de configuration (il est alors égal à 0), mais
si il est précisé, à chaque fois qu'il change, les mots de passe
cryptés doivent être regénérés (encore cryptés
avec l'utilitaire addpasswd
).
Il n'y a pas de procédure d'installation spéciale.
Copiez juste l'exécutable dans le répertoire que vous voulez
et créez le fichier de configuration.
Il y a plusieurs exemples de configuration dans le répertoire etc/
de l'arborescence des sources. Se reporter à la section
Fichier de Configuration pour de plus amples explications.
Par exemple, sur une plateforme Linux x86, l'exécutable optimisé
gnugk
est créé dans le sous-répertoire obj_linux_x86_r/
.
Vous pouvez le copier dans /usr/sbin/
, créer une configuration dans
/etc/gnugk.ini
et le démarrer avec
$ /usr/sbin/gnugk -c /etc/gnugk.ini -o /var/log/gnugk.log -ttt
Se reporter à la section
Options de la Ligne de Commande pour les détails.
Si vous ne voulez pas compiler le gatekeeper à partir des sources, il y a plusieurs 'packages' préconstruits disponibles sur SourceForge. Toutes les versions ne sont pas disponibles - vérifier ce qui est disponible.
Packages tar (.tgz ou .tar.gz)
Télécharger le fichier tar et saisir la commande suivante en tant que
root
, en substituant le nom du fichier que vous avez téléchargé.
$ tar xvzf gnugk-x.x.x.tar
Packages Debian (.deb)
Debian inclut le gatekeeper en tant que package openh323gk.
Vous pouvez l'installer en utilisation la commande suivante en tant que root
:
$ apt-get install openh323gk