Bonjour tout l'monde ! Aujourd'hui c'est mon tour de solliciter l'aide de la communauté, sauf que mon "problème" ressemble plus à un projet perso qui peine plutôt qu'à un sujet ciblé. Permettez-moi d'exposer d'abord la situation et mes objectifs. Note : j'appliquerai des *edit* à ce message au fur et à mesure que la discussion avancera... en espérant qu'elle avance bien.
Projet : VM de dev, la vue d'ensemble
Je cherche à mettre en place une machine virtuelle me servant de serveur de développement, de façon à centraliser l'installation technique sur de type d'environnement et le manipuler comme je manipulerais (et manipulerai, même) un serveur dédié à distance. Les objectifs sont nombreux et multiples, autant dire qu'il y a du boulot ! Voici la liste courte des besoins auxquels je souhaite répondre à travers cette VM :
Disponibilité réseau : la VM doit être accessible par SSH (Putty) depuis une IP réseau locale ou un nom de domaine local
Disponibilité internet : la VM doit être accessible sur internet de la même façon
Serveur web HTTP : la VM doit offrir un serveur frontal Apache HTTPD. Ce serveur doit répondre à la plupart des demandes (vhosts), et en fonction de ces demandes les gérer lui-même (typique : applications PHP) ou passer le relai à un serveur JBoss (typique application J2EE)
Serveur web : la VM doit aussi proposer des serveurs FTP et Mail (tant qu'à faire).
Services de versionning
Serveur Packagist : un des gros intérêts de cette VM : héberger mon propre dépôt Composer.
Voici la liste, susceptible d'évolue (grossir) avec le temps. Je vais donc discuter ci-dessous des différents points, ce que j'ai fait, ce qui coince, etc...
Disponibilité réseau et internet
La VM est de type VirtualBox et tourne sous Debian, sans serveur X. Le système hôte est Windows, et je dispose par ailleurs d'une autre VM sous LUbuntu Desktop pour d'autres usages.
Les 2 VM ont une configuration réseau quasi identique : une carte réseau eth0 de type "NAT" qui leur permet de voir l'internet à travers l'hôte sans voir ou être vûe de l'hôte, et une carte réseau eth1 de type "Host-Only" qui permet la connexion entre l'hôte et la VM (mais pas internet). Les 2 sont configurées pour également voir les autres VM de ce même réseau local : 10.0.0.0/24. La VM qui nous intéresse a d'ailleurs pour adresse 10.0.0.2.
Le paragraphe ci-dessus n'est plus d'actualité (mais je ne sais pas comment marquer du texte comme barré dans cette version du forum). Ma VM serveur dispose désormais d'une seule carte réseau, type Bridge, qui se base sur le DHCP pour obtenir sa carte réseau et autorise les autres machines du même réseau. Elle est donc visible depuis n'importe quel ordinateur du réseau de la maison.
La VM est par ailleurs configurée pour se lancer d'elle-même au démarrage de Windows à travers VmService, un service Windows conçu pour lancer les VM de VirtualBox sans aucune fenêtre (pas même la console laissée par VBoxHeadless) et ce même au démarrage automatique.
A l'installation, Debian m'a proposé différents outils à installer automatiquement, le seul que j'ai accepté à part "les outils usuels" étant le gestionnaire SSH, de façon à pouvoir rapidement utiliser Putty pour accéder à la VM plutôt que de passer par son écran. La commande ssh depuis l'autre VM me permet également d'accéder à ma VM Debian.
Cependant, avec cette configuration, pas possible d'atteindre la vm depuis l'extérieur. Mon adresse IP internet étant celle du routeur, je pense qu'il faille faire un réglage à son niveau, mais j'y connais rien... xD
Apache 2.4.12
Que du bonheur avec l'installation d'Apache 2.4... Debian ne propose pas de paquet, mais c'est pas plus mal ça me permet de l'installer via sources directement et de personnaliser ma commande. Oui seulement voilà, lors de mes premières tentatives, j'ai essayer de mettre certains modules en statique, d'autres en shared. L'idée était d'avoir les modules importants toujours disponibles, et ceux moins importants, obscurs à mes yeux, voir problématique en shared de façon à commenter ou décommenter leur LoadModule à tout moment.
./configure --prefix=/etc/apache2 --with-included-apr \
--enable-mods-static='ma liste de modules importants' \
--enable-mods-shared='autres modules'
Oui seulement voilà, si je fais ça, il y aura toujours un module qui refusera de compiler, et parfois des modules qui me semblent importants comme mod_privileges. Peu importe que je les enlève, d'autres planteront. J'ai fini par utiliser cette commande plus simple, mais elle ne me satisfait pas car tous les modules sont "shared" :
Je suis encore en en train de préparer la commande de configuration, en voyant pour chaque extension non-PECL la commande à inclure au configure. J'en suis aux extensions commençant par 'G' et il y a encore de quoi faire. Je préviendrai si j'ai un os.
Quelles bases de données choisir ?
Je pensais à MySQL comme incontournable du monde PHP, mais peut-être pas seulement ? Lesquels conseilleriez-vous ? J'ai vu que CUBRID semble pas mauvais mais côté PHP c'est une extension PECL. Il y a les classiques Oracle et Postgre (ce dernier jamais manipulé d'ailleurs), et peut-être d'autres que vous connaissez...
Apache et JBoss
En attendant que j'arrive à cette étape, des documentations ou tutos que vous conseilleriez ? J'avoue ne pas avoir commencé vraiment la recherche sur ce sujet, je sais que c'est faisable (et même fréquent) mais j'en sais pas plus ^^'
FTP
à venir...
Mail
à venir...
Versionning
J'ai prévu de mettre en place les clients SVN et Git, j'ignore encore si je vais mettre en place des dépôts associés. A voir quand on y arrivera.
Packagist
Le mode opératoire m'a déjà été conseillé sur un autre topic, cependant la procédure ne peut être démarrée tant que je n'ai pas Apache, PHP et MySQL qui tournent, ainsi que Composer. A venir, donc.
Autres ?
Si d'autres outils vous paraissent important pour un serveur de dev privé (car c'est le rôle de cette VM quelque part), n'hésitez pas à me conseiller, svp.
J'ai un contrôle sur ce qui est activé à la compilation, puisque je compile moi-même. Et puis, je ne sais pas quel dépôts tu as dans ton sources.list, mais le miens ne connait pas Apache 2.4 ; son package "apache2" pointe sur un Apache 2.2
Je sais pas trop à vrai dire sous quel Debian je suis. Je l'ai DL ya pas très longtemps pourtant. L'ISO marque Debian 7.8.0 Quand je fais ta même commande, ça me donne les versions 2.2.22-13+deb7u3 et 2.2.22-13+deb7y4
Mais bon, ça ne m'avance pas trop : dans le package la compilation est déjà faite, donc la liste de modules est écrite pour moi, certains en statique et d'autres en shared. Je n'ai aucun contrôle là-dessus.
La version 8 vient de sortir, je dis ça parce que tant qu'à installer un serveur de dev, autant ne pas se prendre la tête avec de vieilles versions de paquets, mais puisque dans ton cas précis tu as besoin de gérer toi-même la compilation, pourquoi pas ...
En espérant que tu ne sois pas emmerdé avec des dépendances
En espérant que tu ne sois pas emmerdé avec des dépendances
Bah en même temps j'ai fixé certains objectifs en sachant pertinemment que j'allais prendre le taureau par les cornes. Merci pour la v8 au passage. Je vais juste formater ma VM (j'ai pas grand chose à sauvegarder : 2 fichiers .bashrc ) et basta.
Bon bah réinstallé avec Debian 8.0, et pour le coup j'ai mis une seule carte réseau, de type Bridge. Normalement ça permet de déclarer la vm sur le réseau réel comme un ordinateur à part, sauf que jusqu'ici j'obtenais des VM isolées (erreur de dhcp ? c'est quoi ce truc ?) mais ce coup-ci c'est passé.
Par contre, autant mon hôte peut pinger ma vm, autant la connexion SSH foire alors que j'ai demandé l'installation d'openSSH dans la foulée de l'installation, comme je faisais avant. Message d'erreur :
Fatal: Couldn't agree a client-to-server cipher (available: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com)
Moi pas comprendre. Si quelqu'un a une idée, je suis preneur...
Edit : j'ai essayé via ma VM linux desktop : je peux pinger ma vm serveur, mais la commande ssh fail (déjà elle pré-suppose que le login est en tant que root, wtf ?) sur le mot de passe alors que je suis formel : j'ai pas fait d'erreur dessus.
Edit2 : second problème : halt n'éteint pas ma vm. Je comprends pas vraiment pourquoi il en serait autrement. J'avais eu le problème lorsque je voulais choisir entre Debian 7.8 et Ubuntu Server (14.10 je crois), ce dernier l'éteignait pas la vm au halt non plus...
Edit : j'ai essayé via ma VM linux desktop : je peux pinger ma vm serveur, mais la commande ssh fail (déjà elle pré-suppose que le login est en tant que root, wtf ?) sur le mot de passe alors que je suis formel : j'ai pas fait d'erreur dessus.
Il me semble qu'il faut que tu ajoutes les clés toi-même sur ton client.
Edit2 : second problème : halt n'éteint pas ma vm. Je comprends pas vraiment pourquoi il en serait autrement. J'avais eu le problème lorsque je voulais choisir entre Debian 7.8 et Ubuntu Server (14.10 je crois), ce dernier l'éteignait pas la vm au halt non plus...
systemctl poweroff
systemctl reboot
J'y ai passé un peu de temps, vienvenue chez systemd
Edit : j'ai essayé via ma VM linux desktop : je peux pinger ma vm serveur, mais la commande ssh fail (déjà elle pré-suppose que le login est en tant que root, wtf ?) sur le mot de passe alors que je suis formel : j'ai pas fait d'erreur dessus.
Il me semble qu'il faut que tu ajoutes les clés toi-même sur ton client.
J'avais pas eu à l'ajouter quand j'avais essayé avec une précédente "version" de ma vm serveur. Il me disait simplement "clé inconnue, ajouter ?". Pareil pour putty sous Windows d'ailleurs.
Du coup je ne sais pas comment récupérer cette clé et l'ajouter au client...
Rednax a écrit:
Edit2 : second problème : halt n'éteint pas ma vm. Je comprends pas vraiment pourquoi il en serait autrement. J'avais eu le problème lorsque je voulais choisir entre Debian 7.8 et Ubuntu Server (14.10 je crois), ce dernier l'éteignait pas la vm au halt non plus...
systemctl poweroff
systemctl reboot
J'y ai passé un peu de temps, vienvenue chez systemd
Roptain nan... Oui parce qu'entre temps j'ai vu des explications sur systemd... Bah tu sais quoi ? Je rétrograde à Debian 7.8 juste pour ça.
Bon j'ai remis Debian 7.8, et mis en place une seule carte réseau (type Bridge). Ce coup-ci, l'accès SSH fonctionne niquel, et j'ai même pu ping ma VM depuis un autre ordinateur réel du réseau de la maison. Maintenant il reste à voir comment la rendre accessible depuis l'extérieur (internet). Pour l'instant, l'adresse IP internet est celle de notre routeur si bien qu'on arrive pas à taper sur la VM. Il y a quelque chose à y faire mais je n'y connais rien... :')
Topic mis à jour, du coup.
J'ai encore de questions ouvertes, et pas que celles où je demandes des idées à la fin. Notamment, comment résoudre mon soucis des modules statiques et shared pour Apache ?
Edit : par ailleurs, d'où et comment je modifie le bashrc générique utiliser pour créer le .bashrc d'un nouvel utilisateur ?
Edit : par ailleurs, d'où et comment je modifie le bashrc générique utiliser pour créer le .bashrc d'un nouvel utilisateur ?
Tu trouveras ton bonheur dans /etc/skel
Darth Killer a écrit:
Maintenant il reste à voir comment la rendre accessible depuis l'extérieur (internet). Pour l'instant, l'adresse IP internet est celle de notre routeur si bien qu'on arrive pas à taper sur la VM. Il y a quelque chose à y faire mais je n'y connais rien... :')
Alors ça s'appelle du NAT, et c'est à configurer directement sur ton routeur/box, sur l'interface ça doit s'appeler "redirection de ports".
en attendant la NAT, la config réseau de ma VM ne fonctionne plus.
Au départ il y avait ça :
allow-hutplug eth0
iface eth0 inet dhcp
C'est ce qui permettait à ma vm d'apparaître hier sous une IP de mon réseau réel, mais n'apparait plus aujourd'hui. J'ai essayé de changer pour ça :
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
Là, eth0 se charge dans ma vm mais reste absent aux yeux des autres ordinateurs...
Et si je reviens sur le réglage précédent, eth0 ne se charge plus du tout, j'ai une warning mais impossible de la lire, le texte est écrasé par le label "warning"...
Bon il s'avère que c'est la commande pour recharger la config réseau qui merde. Si je redémarre carrément la vm, ça passe normalement. J'ai donc ceci comme configuration :
ça semble marcher au détail près que la vm n'apparait pas dans la liste des adresses mac de confiance du routeur... Ce qui ne m'empêche pas de la voir en ping broadcast ainsi qu'y accéder par ssh depuis l'hôte. Mais elle apparaissait dans la liste de confiance quand je laissais DHCP m'attribuer une IP.
Bon ça à la rigueur c'est secondaire, tant que ça marche... Je vais demander à un poto qui peut m'assister en "live" pour cette histoire de NAT, j'ai été voir dans mes réglages de routeur et il n'y a pas ce type de réglage par contre il y a 2 réglages qui semblent s'en approcher : un qui permet d'associer l'IP internet à une des IP réseau, via une plage de ports précis, et une autre qui (si j'ai bien compris) associe un port d'une machine du réseau à un autre port du routeur.
En attendant, j'ai Apache à me farcir, 'faudrait voir s'il n'y a pas moyen de ne pas avoir à compiler tous les modules comme DSO pour pouvoir avoir leur liste sous la main. xD
Edit : ah ouais mais non en fait : ma vm ne voit plus internet...
Edit2 : en remettant comme c'était, ma vm voit de nouveau internet. Mais du coup c'est le DHCP du routeur qui défini l'IP, j'espère juste qu'il ne va pas s'amuser à la changer de temps en temps...
Je reformate à nouveau ma vm pour remettre Debian 8, maintenant que j'ai trouvé une procédure (étape 1 et étape 2) pour virer systemd et empêcher sa réinstallation sournoise.
Je tiens cependant à souligner, pour ceux qui jugent qu'il suffit de "s'habituer" à systemd (tels que Rednax ici ), que vous devriez lire un peu ce qui se dit au sujet de cet outil catastrophique...
Systemd apporte l'apocalypse sur linux (page 1 et page 2)
@Rednax : et dire que je ne connaissais même pas systemd avant que tu n'en parles ici-même... Bah p'tain, merci de l'avoir fait !
Edit (bien que je suis franchement tenté de faire un nouveau message là...) : A nouveau, et malgré le fait que systemd ne soit plus là, je n'arrive plus à me connecter à ma vm par SSH.
Putty plante instantanément (même pas de timeout, donc il trouve l'IP) avec ce message :
Fatal: Couldn't agree a client-to-server cipher (available: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com)
Quelqu'un a-t-il une explication ou une piste ? Parce que là, je vois pas pourquoi... Avec Debian 7 dans les mêmes conditions ça passait crème. Et oui, j'ai openssh-server et openssh-client installés.
Edit2 : quand ça me le faisait avant, j'avais testé aussi via la commande ssh de mon autre vm linux. Cette fois, depuis l'intérieur de la même vm j'ai essayé "ssh 127.0.0.1", et même résultat qu'avec l'autre vm linux : après 3 mots de passe ça échoue avec "Permission denied (publickey, password)". Et pourtant il m'a proposé la clé SSL avant ces échecs...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?