Projects:UniComPl
Un article de OpenIHS.org.
Sommaire |
[modifier] Description du projet
Ce projet est destiné à simplifier la programmation et le lancement de plugins.
Dernière version stable : (aucune)
Dernière version bêta : Version 0.8.0b0
- Sources (Linux, FreeBSD, Windows, etc...)
- Win32 (installer)
Dernière révision en développement : svn.
[modifier] Manuels
[modifier] Présentation
Les plugins peuvent se présenter sous deux formes :
- Processus
- Ce genre de plugin peux se lancer avec le lanceur ou non. Il a donc l'avantage de pouvoir se lancer avec un UID et GID différent que celui du lanceur. Exemple : si le lanceur est exécuté en temps que root (Administrateur sous windows) il est possible de demander au lanceur de lancer tel ou tel plugins sous des identifiant différent et bien spécifiques pour accroitre la sécurité du système et éviter des débordements de pouvoirs. Voici un expemple concret.
- Avantages
- Indépendance (lancement, comportement, conséquence d'un crash, etc...)
- Sécurité (UID, GID et ressources séparées)
- Inconvénients
- Programmation plus lourde
- Configuration plus lourde
- Exécution plus lourde
- Bibliothèque dynamique
- Ce genre de plugin est totalement dépendant du lanceur, mais il a l'avantage d'être plus léger, de bénéficier des ressources du lanceur et donc de son fichier de configuration et de sa sortie log, etc... Ce genre de plugin provoque souvent des crashs dans les version récentes du lanceur, donc il n'est pas conseillé de l'utiliser pour l'instant... Voici un expemple concret.
- Avanages
- Programmation plus légère
- Partage des ressources avec le lanceur
- Un seul processus
- Inconvénients
- Dépendance (lancement, comportement, conséquence d'un crash, etc...)
- Sécurité (UID, GID et ressources en commun)
[modifier] Administration
- LIST
- Donne la liste des plugins et leurs états.
- START <plugin>
- Démarrage d'un plugin.
- STOP <plugin>
- Arrêt d'un plugin.
- RESTART <plugin>
- Redémarrage d'un plugin.
- VERSION
- Donne la version.
- REVISION
- Donne la révision (svn).
- BUILD
- Donne la date de compilation.
[modifier] Nouvelles
- 13 mai 2008 : Sortie de la version 0.8.0b0.
- 10 mai 2008 : Sortie de la version 0.7.0b2.
- 23 avril 2008 : Sortie de la version 0.7.0b1.
- 14 avril 2008 : Sortie de la version 0.7.0b0.
- 18 février 2008 : Sortie de la version 0.5.1b0.
- 13 janvier 2008 : Sortie de la version 0.5.0b0.
- 15 octobre 2007 : Sortie de la version 0.4.0b0.
[modifier] Aide::Installation
D'abord prévu pour fonctionner sous Linux, le projet a été porté sous Windows.
[modifier] Linux et FreeBSD
- Désarchivage des sources :
$ tar -xzvf unicompl-x.xx.tar.gz
- Compilation :
$ mkdir bin $ cd bin $ cmake ../unicompl $ make # make install
- Configuration :
# Niveau de la sortie (verbose = très bavard, short = normal, quiet = erreurs uniquement). verbose_level = verbose # Chemin du fichier pour la sortie log. log_path = /var/log/unicomctrl/unicompl.log # Activation de la sortie log. log = false # Chemin du socket Unix du serveur (<= v0.2x). server_unixsock = /tmp/unicomctrl.sock # Nom d'hôte du serveur (<= v0.2x). server_host = localhost # Port du serveur (<= v0.2x). server_port = 3693 # Adresse écrite sous la forme [ssl://]<socket_unix|nom_d_hôte>[:port] (>= v0.3x). server = localhost:3693 # en local sans SSL/TLS server = ssl://localhost:3693 # en local avec SSL/TLS server = /tmp/unicomctrl.sock # connexion sur une socket unix server = ssl:///tmp/unicomctrl.sock # connexion sur une socket unix avec SSL/TLS # Nom d'utilisateur. user = system # Mot de passe. passwd = syspass # Nom d'insertion du lanceur. name = launcher # Chemin du répertoire où sont stocké les plugins. plugin_dir_path = /usr/lib/unicomctrl # Liste des plugins (bibliothèque dynamique). plugin_dlib_list = pluginlib.so # Liste des plugins (processus). plugin_exe_list = pluginpus # Liste des plugins à lancer au démarrage du lanceur. plugin_at_start_list = pluginpus pluginlib.so
Exemple d'utilisateur, de mot de passe, et de nom d'insertion du plugin "pluginlib.so" (cf exemple de plugin (bibliothèque dynamique)). Il s'agit de l'utilisateur et du mot de passe utilisé avec le serveur UniComCtrl.
pluginlib.so_user = pluguser pluginlib.so_passwd = plugpass pluginlib.so_name = pluginlib
Exemple d'utilisateur et de groupe du plugin "pluginpus". Il s'agit de l'utilisateur et du groupe système (rien à voir avec le serveur UniComCtrl).
pluginpus_user = pluginpususer pluginpus_group = pluginpusgroup
Mettons que l'UID de pluginpususer = 1010 et le GID de pluginpusgroup = 1010, on peut écrire les lignes suivantes à la place :
pluginpus_uid = 1010 pluginpus_gid = 1010
[modifier] Windows (32 bits)
UniComPl est compatible avec Windows 2000/XP/2003/Vista. Il fonctionne en temps que service Windows, Donc pour le démarrer, vous pouvez aller dans le gestionnaire de service de Windows, cliquer sur le service "UniCom Plugin Launcher" et le démarrer. Sous Windows Vista, il faut l'exécuter avec l'utilisateur Administrateur.
- Télécharger l'installer (voir rubrique présentation).
- Lancer l'installation.
- Configuration :
La configuration de situe dans le registre de windows (KEY LOCAL MACHINE; Software\UniComPl).
- NB (version <= 0.2x)
- Ne pas oublier d'ajouter le chemin d'installation de UniComCtrl à la variable d'environnement PATH ou de copier les DLLs manquante dans le dossier d'installation de UniComPl.
[modifier] FAQ
- Q: vous rencontrez l'erreur : 1053 "Le service n'a pas répondu assez vite à la demande de lancement ou de contrôle" sous Windows Vista.
- R: Il s'agit d'un problème de droit d'accès quelconque qui peut se résoudre en exécutant le service avec le compte d'Administrateur.
[modifier] Repport de bugs
rien... pour l'instant :)
[modifier] Historique
- 13 mai 2008 : Version 0.8.0b0.
- Adaptation à l'API UniComCtrl 0.8.1.
- 23 avril 2008 : Version 0.7.0b1.
- Adaptation à l'API UniComCtrl 0.8.0.
- 14 avril 2008 : Version 0.7.0b0.
- Quelques modification mineures et adaptation à l'API UniComCtrl 0.7.0.
- 13 janvier 2008 : Version 0.5.1b0.
- Quelques modification mineures et corrections de bugs.
- 13 janvier 2008 : Version 0.5.0b0.
- Adaptation à UniComCtrl 0.5.0.
- 15 octobre 2007 : Version 0.4.0b0.
- Adaptation à UniComCtrl 0.4.0.
- 11 septembre 2007 : Version 0.3.2b0.
- Adaptation à UniComCtrl 0.3.2.
- 3 septembre 2007 : Version 0.31b0.
- Adaptation à UniComCtrl 0.31.
- 30 août 2007 : Version 0.30b0.
- Adaptation au serveur UniComCtrl 0.3x.
- Reconnexion automatique en cas de coupure.
- Corrections de bugs.
- 24 aout 2007 : Version 0.21b1.
- Portage pour FreeBSD.
- 22 aout 2007 : Version 0.21b0.
- Portage pour windows.
- Adaptation à UniComCtrl 0.21.
- 9 aout 2007 : Version 0.10b3.
- Adaptation à UniComCtrl 0.20.
- 1er aout 2007 : Version 0.10b1.
- Première version officielle.
- Linux OK.
- Windows NON.

