Remplacement des informations sur l'hôte de serveur Liberty
La fonction collectiveMember-1.0 permet à un serveur d'être géré par le contrôleur de collectivité. La plupart des informations sur l'hôte du serveur peuvent être détectées automatiquement. Dans certains cas toutefois, vous devez fournir des informations supplémentaires sur l'hôte pour que le contrôleur de collectivité puisse établir une connexion au serveur.


Pour permettre le remplacement des informations sur l'hôte, ajoutez l'élément suivant au fichier server.xml :
<hostAuthInfo rpcPort="ssh_port"
rpcUser="user_ID"
rpcUserPassword="password"
rpcUserHome="user_home"
rpcHost="host_name"
sudoUser="sudo_user"
sudoPassword="sudo_user_password"
sshPublicKeyPath="public_key_path"
sshPrivateKeyPath="private_key_path"
sshPrivateKeyPassword="private_key_password"
useHostCredentials="true_or_false"/>
- rpcPort
- Ce paramètre indique le port du mécanisme RPC, qui est le port SSH 22 par défaut. Si votre système utilise un port non standard, définissez cette valeur en conséquence. Si cette valeur n'est pas spécifiée, la valeur par défaut est 22.
- rpcUser
- Ce paramètre spécifie l'ID utilisateur que le contrôleur de collectivité doit utiliser pour se connecter au serveur. Si l'hôte ne prend pas en charge SSH ou si l'utilisation de clés SSH n'est pas souhaitée, vous pouvez utiliser ce paramètre pour spécifier un utilisateur de connexion au système d'exploitation. Par exemple, si vous vous connectez à l'hôte avec l'utilisateur myID, vous indiquez rpcUser="myID". Si cette valeur n'est pas spécifiée, la valeur par défaut est System.getProperty("user.name").
- rpcUserPassword
- Ce paramètre spécifie le mot de passe associé à l'ID utilisateur spécifié. Par exemple, si vous vous connectez à l'hôte avec l'utilisateur myID et le mot de passe myPwd, vous indiquez rpcUser="myID" et rpcUserPassword="myPwd". Si cette valeur n'est pas spécifiée, le serveur génère une paire de clés SSH ou utilise la paire de clés SSH pour la connexion qui est spécifiée avec les paramètres privateKeyPath et publicKeyPath. Si SSH n'est pas installé sur le serveur (par exemple sur un système d'exploitation Windows ou OS/400), le mot de passe est requis.
- rpcUserHome
- Ce paramètre spécifie le répertoire de base de l'utilisateur. Si cette valeur n'est pas spécifiée, la valeur par défaut est System.getProperty("user.home"). Si rpcUser est spécifié, spécifiez rpcUserHome.
- rpcHost
- Ce paramètre indique l'hôte sur lequel le mécanisme RPC est configuré pour l'écoute. Si cette valeur n'est pas spécifiée, la valeur par défaut est la valeur de la variable defaultHostName. Si votre système utilise un hôte autre que defaultHostName, définissez cette valeur en conséquence.
- sudoUser
- Si cette valeur est spécifiée, elle permet au contrôleur de collectivité d'exécuter des commandes en tant qu'autre utilisateur, ou utilisateur "sudo", à la place de l'ID utilisateur indiqué pour la connexion. Il est applicable uniquement aux serveurs pour lesquels un serveur SSH est installé. Il ne possède pas de valeur par défaut.
- sudoPassword
- Ce paramètre spécifie le mot de passe de l'utilisateur sudo spécifié par le paramètre sudoUser. Il est applicable uniquement aux serveurs pour lesquels un serveur SSH est installé. Il ne possède pas de valeur par défaut.
- sshPublicKeyPath
- Ce paramètre spécifie le chemin et le nom d'un fichier de clé publique spécifié par l'utilisateur. Si cette valeur n'est pas spécifiée, la valeur par défaut est ${server.output.dir}/resources/security/ssh/id_rsa.pub. Si le fichier spécifié (ou le fichier par défaut) n'existe pas, un nouveau fichier de clé publique est généré.
- sshPrivateKeyPath
- Ce paramètre spécifie le chemin et le nom d'un fichier de clé privée spécifié par l'utilisateur. Si cette valeur n'est pas spécifiée, la valeur par défaut est ${server.output.dir}/resources/security/ssh/id_rsa. Si le fichier spécifié (ou le fichier par défaut) n'existe pas, un nouveau fichier de clé privée est généré.
- sshPrivateKeyPassword
- Ce paramètre spécifie le mot de passe pour la clé privée. Il ne possède pas de valeur par défaut.
- useHostCredentials
- Ce paramètre indique si les commandes du serveur de membre de collectivité héritent des données d'identification de l'hôte. La valeur par défaut est false, ce qui signifie que l'utilisateur doit indiquer les données d'identification RPC pour le contrôleur afin de démarrer ou d'arrêter à distance le membre. Lorsque ce paramètre est défini sur true, les commandes du serveur de membre de collectivité héritent des données d'identification RPC d'enregistrement de l'hôte et elles ignorent toutes les autres données d'identification RPC dans l'élément de configuration hostAuthInfo.
Exemples
Scénario 1 : le serveur se trouve sur un système d'exploitation Windows et SSH n'est pas installé
<hostAuthInfo rpcUserPassword="myPassword"/>
Scénario 2 : SSH est installé sur le serveur et s'exécute sur le port 2222
<hostAuthInfo rpcPort="2222"/>
Scénario 3 : Exécution des commandes en tant qu'autre utilisateur
<hostAuthInfo sudoUser="anotherUser" sudoPassword="anotherPassword"/>
Scénario 4 : le serveur est situé sur un système d'exploitation Windows et un service SSH tel que Cygwin est installé. Sous la configuration serveur suivante,
le contrôleur connecte le serveur membre via SSH. Dans ce cas, le besoin de
désactiver Windows User Account Control (UAC) ne s'applique pas. Le paramètre <répertoire_de_base_de_l'utilisateur> correspond au répertoire de base par défaut de
l'utilisateur. Par exemple, C:\cygwin\home\bob:
<hostAuthInfo rpcUserHome="<user's home directory>" />
Scénario
5 : le contrôleur de collectivité et le membre se trouvent sur des
hôtes distincts et non sur le même hôte.
Pour indiquer que le
membre hérite des données d'identification RPC de l'hôte, définissez
useHostCredentials sur true dans
le fichier server.xml du membre. Suivez
les étapes ci-après pour configurer le membre qui doit
hériter des données d'identification RPC de l'hôte en spécifiant
--useHostCredentials dans la commande
join qui permet de rejoindre un serveur en tant
que membre de la collectivité.