====== Installation dans VirtualBox ======
Pour le développement, il est conseillé (et très pratique) d'installer CouchDB dans une machine virtuelle dédiée tournant avec [[http://fr.wikipedia.org/wiki/VirtualBox|VirtualBox]].
===== Installation de VirtualBox =====
C'est pas compliqué, si vous n'avez pas Ubuntu, trouvez un tutoriel qui va bien, et revenez ici une fois l'installation de base terminée.
==== Pour Ubuntu ====
Dans votre terminal, faites :
sudo aptitude install virtualbox-ose
Et ajoutez votre utilisateur au groupe **vboxusers** :
sudo adduser LE_NOM_DE_VOTRE_USER vboxusers
===== Création d'une machine virtuelle dédiée =====
On télécharge Ubuntu 9.10 Karmic Koala édition serveur à l'adresse [[http://ubuntu.mirrors.proxad.net/karmic/]] et choisissez la version "Intel x86" (oui même si vous avez un processeur AMD).
==== Création de la machine virtuelle ====
Lancez VirtualBox.
Là encore, c'est pas compliqué, cliquez sur nouveau :
* 1er écran :
* Nom : CouchDB 0.10 (par exemple)
* Système d'exploitation : Linux
* Version : Ubuntu
* 2ème écran :
* Mémoire vive de base : 384 Mo est suffisant
* 3ème écran :
* Disque dur d'amorçage : cliquez sur Nouveau
* Sélectionnez "Image à taille dynamique", puis "Suivant"
* Emplacement : laissez le nom donné
* Taille : 8 Go (ne vous inquiétez pas, ça n'ira pas jusque là), puis Suivant
* Cliquez sur Terminer
* Le disque dur d'amorçage créé a été choisi, cliquez sur suivant
* 4ème écran, cliquez sur Terminer.
Lancez cette machine virtuelle. Il va falloir installer Ubuntu dessus.
Un assistant se lance et vous propose de choisir le média d'installation. Choisissez "Disque optique" et "Fichier image" et choisissez le fichier ISO d'Ubuntu que vous venez de télécharger (via le petit bouton à droite du menu déroulant, dans la fenêtre s'ouvrant, cliquez sur "Ajouter"). Une fois fini, continuez dans l'assistant.
Le système virtuel boot sur l'image disque que vous venez d'entrer pour installer Ubuntu.
==== Installation d'Ubuntu ====
Dans le menu du CD :
* Choisissez "Français"
* Choisissez "Installer un serveur Ubuntu"
//L'installation commence//
* Choisissez à chaque fois les choix par défaut jusqu'au nom de la machine (mettez ce que vous voulez ici)
* Méthode de partitionnement : choisissez "Assisté - utiliser un disque entier" (le premier)
* Choisissez le seul disque dur (virtuel) présent
* Répondez "Oui" à la demande d'application des changements sur le disque
//Installation du système de base :// On patiente
* Nom complet du nouvel utilisateur : Ce que vous voulez
* Identifiant pour le compte utilisateur : ce que vous voulez (en minuscule)
* Mot de passe pour le nouvel utilisateur : ce que voulez (notez le)
* Confirmation du mot de passe : le même que saisi juste avant
* (cela peut arriver : Utiliser ce mot de passe faible : sélectionnez "Oui", il n'y a aucun risque)
* Chiffrer votre dossier personnel : Non (peu utile ici, consommera des ressources pour rien)
* Mandataire HTTP (le proxy) : laissez vide (sauf si vous savez ce que vous faites)
* Mises à jour : Pas de mises à jour automatiques
* Logiciels à installer : vous ne sélectionnez rien
// Choisir et installer des logiciels :// On patiente
Quand il vous informe que l'installation est terminée, cliquez sur "Continuer". Cela redémarrera la machine virtuelle.
Pendant que ça redémarre, cliquez dans le menu en haut sur "Périphériques" et "Éjecter le disque optique".
Une fois la machine redémarrée, vous tombez sur l'invite de login. Tapez votre nom d'utilisateur et mot de passe choisis plus haut.
Mettons à jour le système, tapez (il vous demandera votre mot de passe utilisateur) :
sudo aptitude update
Puis :
sudo aptitude safe-upgrade
Ubuntu est installé, et à jour.
===== Finalisation =====
==== Installation de CouchDB ====
Connectez vous à la machine virtuelle.
On installe CouchDB :
sudo aptitude install couchdb
Ensuite, on va permettre à CouchDB d'écouter depuis le réseau :
Ouvrez le fichier **/etc/couchdb/local.ini** :
sudo vim /etc/couchdb/local.ini
Décommentez les lignes suivantes en enlevant le point virgule au début et en leur donnant les valeurs ci-dessous. Pour activer le mode édition de vim, appuyez sur la touche **Insert** de votre clavier jusqu'à voir marqué "--INSERTION--" en bas à gauche et vous pouvez modifier :
[httpd]
port = 5984
bind_address = 0.0.0.0
Enregistrez et quittez en faisant **Échap** puis **:wq** et **Entrée**.
Redémarrez CouchDB :
sudo /etc/init.d/couchdb restart
==== Redirection des ports ====
Éteignez la machine virtuelle et dans votre terminal local, faites :
VBoxManage setextradata "NOM EXACT DE VOTRE MACHINE VIRTUELLE" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata "NOM EXACT DE VOTRE MACHINE VIRTUELLE" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 5984
VBoxManage setextradata "NOM EXACT DE VOTRE MACHINE VIRTUELLE" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 5984
===== Conclusion =====
==== On essaye ====
Lancez la machine virtuelle, et accédez y sur votre système via 127.0.0.1 sur le port 5984.
Tapez dans votre terminal :
curl http://127.0.0.1:5984/
Cela vous donne :
{"couchdb":"Welcome","version":"0.10.0"}
Accédez à l'adresse **http://127.0.0.1:5984/** dans votre navigateur vous donne le même résultat.
Futon est accessible à l'adresse **http://127.0.0.1:5984/_utils** dans votre navigateur.
==== Le mot de la fin ====
Cela permet de ne pas encombrer votre système avec une base de donnée, mais surtout de pouvoir tester plusieurs versions différentes de CouchDB.
Quand la 0.11 sortira, créez vous une nouvelle machine virtuelle mais en y installant la 0.11, et lancez là pour tester votre application. Puis vous passerez à temps plein sur la 0.11, et de temps en temps, vous lancerez la machine avec la 0.10 dessus pour tester si ça marche bien...
Vous pouvez même compiler des versions de développement pour l'essayer, aider la communauté à la déboguer, le tout dans une machine virtuelle, sans bousculer votre système principal par toutes ces manips.
Créez autant de machine virtuelle que vous avez besoin.