Installation et configuration d'un serveur RC sur une VM
Work in progress / Page en construction
Je créer cette page pour servir de tuto sur l'installation de la vm du serveur en local
Même si l'idéal resterai l'utilisation de Spofu, c'est quand meme bon d'avoir une alternative local offline.
Et puis même si tout ne marche pas encore parfaitement au moins ca permet de faire des test sans devoir compiler config et perdre des neuronne sur la config server tant que celle si ne sera pas purger des warning erreur et autre truc qui rendent la tache infernale.
Voir aussi Installer une VM basique pour le début de l'installation.
Ce qui suit a été transféré d'un autre tutoriel “work in progress”. Ne pas hésiter à tout remanier afin de détailler :
- comment préparer une VM avec le serveur de jeu
- comment récupérer une VM déjà faite et s'en servir pour faire ses tests.
Yannk : Je tente de compiler ici les infos que j'ai pour installer une VM de test de Ryzom Core sur un système hôte, d'après les mails que j'ai pu garder et les notes que j'ai prises lors des installations faites par d'autres. Tout ceci demeure hautement théorique pour ma part, et demandera à être validé par une mise à l'épreuve.
La partie la plus délicate est la mise en place de la connection réseau, car il ne faut pas qu'en faisant ce qui est indiqué ci-dessous, une configuration utilisée pour d'autres VM soit effacée.
Il manque encore la partie de la maintenance du serveur Ryzom Core sur une VM (note perso : maintenance_serveur_RC_et_VM.txt )
Nous avons sur le serveur un répertoire /home/khaganat/VM
qui contient un fichier kh-dev.ova
. Il s'agit d'une VM configurée pour VirtualBox (le système de virtualisation retenu) contenant un serveur Ryzom Core fonctionnel. Il s'agit des données établies pour installer un serveur virtuel complètement fonctionnel.
What ? Où ? Cette VM existe-t-elle encore ? est-elle à jour par rapport à notre serveur actuel ?
— zatalyz 2016/11/29 13:23
VirtualBox
Il faut une version récente de Virtualbox, la VM se base sur la 4.2.12, mais ce qui compte ce sont les guest-additions sur la vm qui sont celle de 4.1.18 (stable Debian), donc il faut cette version au moins.
Interface vboxnet0
Il s'agit de l'interface Réseau que cette Vm va tenter d'utiliser. Pour créer cette interface, une solution théorique qui devrait fonctionner :
$ VBoxManage hostonlyif create $ VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1 $ VBoxManage dhcpserver add --ifname vboxnet0 --ip 192.168.56.100 --netmask 255.255.255.0 --lowerip 192.168.56.101 --upperip 192.168.56.254 $ VoxManage dhcpserver modify --ifname vboxnet0 --enable
Signification des commandes :
- ligne 1 : ajout de l'interface “vboxnet0”
- ligne 2 : configuration de l'interface vboxnet0 (ip)
- ligne 3 : ajout de la config DHCP coté invité
- ligne 4 : activation du serveur dhcp coté invité
Au cas où il crée une interface vboxnet1 à la première instruction, il fallait effacer un reliquat d'une autre vboxnet (ou du moins vérifier ce dont il s'agit). SI l'effacement est retenu, il suffit de faire :
$ VBoxManage hostonlyif remove vboxnet0
puis
$ VBoxManage hostonlyif remove vboxnet1
puis, de nouveau
$ VBoxManage hostonlyif create
et on obtient alors :
Interface 'vboxnet0' was successfully created
On enchaîne alors avec les autres commandes (lignes 2 à 4)
SI on obtient un :
VBoxManage: error: DHCP server already exists
à la commande trois, là aussi, c'est dpu à un reliquat et un serveur DHCP déjà existant. Vérifier et dans le cas où un effacement est possible, faire :
$ VBoxManage dhcpserver remove –ifname vboxnet0
puis taper les commandes 3 et 4 de nouveau.
Pour vérifier que tout fonctionne, taper :
$ ifconfig
et on doit obtenir parmi les résultats :
vboxnet0 Link encap:Ethernet HWaddr 0a:00:27:00:00:00
\\ inet adr:192.168.56.1 Bcast:192.168.56.255 Masque:255.255.255.0
Installation de la VM
Pour l'importation de la VM en ligne de commande, taper :
$ VBoxManage import kh-dev.ova --dry-run
Pour afficher les options d'importation, à modifier ainsi :
- garder le même nom ( plus pratique pour les commandes )
--vsys 0 --vmname "kh-dev"
- indiquer la mémoire allouée, 2 Go, c'est bien, mais peut-être possible de tourner avec 1024 Mo voir 512 Mo :
--memory 2048
- indiquer le chemin de l'image disque finale à extraire :
--unit 17 --disk path=/home/khaganat/vm/kh-dev.vmdk
- accepter la licence [ obligatoire ]
--eula accept
Ce qui donne au final :
$ VBoxManage import kh-dev.ova --vsys 0 --vmname "kh-dev" --memory 2048 --unit 17 --disk path=/home/khaganat/vm/kh-dev.vmdk --eula accept
Lancement de la VM
On peut vérifier l'état de la VM avec un :
$ VBoxManage showvminfo "kh-dev" | grep "^State"
et pour lancer la VM si elle ne l'est pas
$ VBoxManage startvm "kh-dev" --type headless
On peut se connecter en local avec
$ ssh identifiant_de_connection@192.168.56.101
On peut stopper la VM :
$ VBoxManage controlvm "kh-dev" acpipowerbutton
Et même le faire sauvagement si rien ne veut obéir (attention, c'est équivalent à arracher la prise secteur) :
$ VBoxManage controlvm "kh-dev" poweroff
La VM n'est pas particulièrement sécurisée. Les services sont: ssh uniquement + apache2/mysql + les services Ryzom Core quant ils sont lancés (le shard, voir le tutoriel dédié). L'identifiant de connection est sudoer.
Utilisation de la VM
On se connecte sur le serveur hébergeant la VM puis on tape (si les ports n'ont pas été remappés différemment, auquel cas on risque d'avoir un timeout en réponse):
$ ssh identifiant_de_connexion@192.168.56.101 -p 22
Puis on entre le mot de passe à la connexion. On est alors sur le serveur où est installé Ryzom Core. On tape :
$ shard start
et les services se lancent, le terminal change d'apparence, c'est normal. On est alors sous Screen. On peut fermer le terminal sans risque.
Pour naviguer dans les services du shard :
- CTRL-A CTRL-D pour quitter la session “screen”
$ shard join ( pour y revenir plus tard )
- CTRL-A n ( pour passer à un autre écran dans screen )
- CTRL-A ? ( pour un écran d'aide à l'utilisation de screen )