Objectif : Créer une machine virtuelle pour développer ou tester les applications web dans un environnement totalement maitrisé.
- Serveur Apache, Php, MySQL
- Serveur proFTPD
- Serveur postfix et courier-imap
Il faut bien sûr télécharger l’iso d’installation de Ubuntu 10.10 Server
Machine hôte
- OpenSuse 11.3 + Virtualbox 4.xx
- Mémoire : 4Go
- Processeur : AMD Turion X2 64
Configuration de Virtualbox 4.04
Système :
- Mémoire : 1024Mo
- Nb de processeurs : 2
- Activer PAE/NX : Oui (uniquement pour un hôte 64 bits)
Affichage :
- Mémoire vidéo : 12Mo
- Nb d’écran : 1
- Accélération 3D et 2D : Non
Stockage :
Cd-Rom : Connecter le disque ISO d’installation de Ubuntu Server.
Disque dur :
- Noter le nom et l’emplacement du disque SATA
- Supprimer le contrôleur SATA
- Ajouter le disque sur le contrôleur IDE.
- Cliquer sur la 2eme icone à coté de « Contrôleur IDE » puis « Choisir un disque existant »
- Sélectionner le disque SATA (eh oui, tout à l’heure c’etait un SATA, et bien maintenant c’est un IDE !)
Son : Non
Réseau :
- Carte 1 : Active –
Mode de connexion : aucune connexion durant l’installation
Après l’installation : accès par pont - Carte 2, 3 et 4 : Désactivée.
La carte 1 ne doit pas avoir de connexion pour pouvoir forcer Ubuntu a proposer une configuration manuelle du réseau durant l’installation.
La connexion sera résactivée plus tard.
Installation de Ubuntu 10.10 Server
Au boot :
- Choisir la langue
- Touche F4 puis « Installer une machine virtuelle minimale »
- Valider « Installer Ubuntu Server »
Clavier :
- « Choose language » : France
- « Détecter l’agencement du clavier » : Non
- « Origine du clavier » : France
- « Disposition du clavier » : France – Autre
Ubuntu informe que la configuration automatique du réseau à échoué.
Normal puisque la carte est déconnectée.
Paramèrtage de la carte :
- Choisir « Configurer vous-même le réseau »
- Adresse IP : Choisir une adresse IP qui n’est pas dans la plage DHCP du réseau sur lequel le serveur est connecté.
Dans mon cas, je regarde la configuration de ma Freebox et je choisi 192.168.0.70 - Valeur du masque réseau : 255.255.255.0
- Passerelle : 192.168.0.254 ( IP de la freebox )
- Adresse du serveur de noms : 208.67.222.222 208.67.220.220
Ce sont les IP du DNS. Je choisis d’utiliser les DNS de OpenDNS séparés par un espace - Nom de la machine : ubsrv001
- Domaine : jbnet.lan
Partitionner le disque :
- Méthode de partitionnement : « Assisté – Utiliser un disque entier »
- Sélectionner le disque et valider
- Appliquer les changements : Oui
Création d’un utilisateur :
- Nom complet du nouvel utilisateur : administrateur
- Identifiant pour le compte utilisateur : administrateur
- Choisir un mot de passe et le confirmer.
- Chiffre votre dossier personnel : Non
Mandataire HTTP : c’est le proxy.
Suivant le réseau, soit laisser vide, soit saisir le proxy.
Si le proxy demande une authentification et un mot de passe, saisir l’adresse comme suit :
http://utilisateur:motdepasse @ipproxy:port
Ex : http://utilisateur:motdepasse@192.168.0.254:8080
Maintenant il va falloir être patient…
Ubuntu recherche des dépôts qu’il ne peut atteindre du fait de la carte réseau déconnectée.
La recherche peut durer une bonne dizaine de minutes.
Consiguration de Tasksel : Pas de mises à jour automatiques
Sélection des logiciels : Sélectionner uniquement « OpenSSH Server » (on verra le reste ensuite)
Configuration de Grub-pc
Installer le programme de démarrage GRUB sur le secteur d’amorçage : Oui
Installation terminée
Valider pour relancer la machine
Premier démarrage
Laisser la machine démarrer puis utiliser l’utilisateur pour se connecter
Arrêter la machine avec la commande suivante :
1 |
sudo halt |
Configuration de la machine dans Virtualbox
Déconnecter l’ISO d’installation
Modifier l’accès réseau « Accès par pont »
Valider et relancer la machine virtuelle.
Mise à jour de la machine
Se connecter puis exécuter les commandes suivantes :
1 2 |
sudo apt-get update sudo apt-get dist-upgrade |
Valider les mises à jour.
Je vous suggère de relancer la machine, mais ce n’est pas une obligation (seulement en cas de mise à jour du kernel)
1 |
sudo reboot |
Sauvegarde du disque de la machine virtuelle
L’objectif est de créer un disque VirtualBox contenant la machine précédemment installée et qui permettra de revenir en arrière sans devoir tout refaire.
En tant de que root sur la machine hôte :
- Se positionner dans le répertoire contenant les machines virtuelles.
- Exécuter les commandes suivantes :
1 2 |
$ cp machine_origine.vdi machine_backup.vdi $ VBoxManage internalcommands sethduuid machine_backup.vdi |
A partir de là, le nouveau fichier peut être utilisé dans une nouvelle machine virtuelle.
Mais je préfère la mettre de coté et de rejouer les commandes précédentes pour mettre en place rapidement une nouvelle machine.
Ou encore en cas d’erreur, pouvoir repartir avec une machine clean.
Relancer la machine et poursuivre.
Installation et paramètrage du serveur LAMP
Se connecter en SSH sur la machine :
1 |
ssh administrateur@192.168.0.70 |
Voici la première connexion SSH :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
geeko@linux-sdna:~ > ssh administrateur@192.168.0.70 The authenticity of host '192.168.0.70 (192.168.0.70)' can't be established. RSA key fingerprint is 2e:eb:da:e6:a4:e0:ce:aa:c5:93:a1:01:28:cc:40:99. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.0.70' (RSA) to the list of known hosts. administrateur@192.168.0.70's password: Linux ubsrv001 2.6.35-25-virtual #44-Ubuntu SMP Fri Jan 21 20:39:04 UTC 2011 x86_64 GNU/Linux Ubuntu 10.10 Welcome to Ubuntu! * Documentation: https://help.ubuntu.com/ Last login: Tue Feb 22 10:21:25 2011 administrateur@ubsrv001:~$ |
Il faut accepter la connexion une première fois.
Ensuite, c’est plus simple.
Installation du serveur LAMP
1 |
sudo tasksel |
Sélectionner « LAMP Server » et valider.
Saisir (et mémoriser !) un mot de passe pour l’accès root à MySQL.
Activer l’URL Rewriting
Exécuter la commande suivante :
1 |
sudo a2enmod rewrite |
Editer le fichier
1 |
sudo vi /etc/apache2/sites-available/default |
Modifier la ligne 3 :
1 2 3 4 5 6 |
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all > |
Sauvegarder et relancer le serveur apache :
1 |
sudo /etc/init.d/apache2 restart |
Installation de phpMyAdmin
1 |
sudo apt-get install phpmyadmin |
« Serveur web à configurer autoamtiquement » : Apache2
« Faut-il configurer la base de données de phpmyadmin avec dbconfig-common ? » : Yes
Mot de passe : celui configuré à l’installation du serveur LAMP
« Mot de passe de connexion MySQL pour phpMyAdmin » : laisser vide (un mot de passe aléatoire sera généré).
Test du serveur
Utiliser l’url http://192.168.0.70 dans un navigateur.
Le message « It works » doit apparaitre.
Utiliser l’url http://192.168.0.70/phpmyadmin dans un navigateur.
L’accueil de phpMyAdmin doit apparaitre.
Tester la connexion avec l’utilisateur root et le mot de passe configuré ci-dessus.
Création d’un utilisateur FTP avec les droits adéquat.
L’objectif est de créer un utilisateur qui pourra se connecter en FTP et qui appartient au groupe www-data.
Ce groupe est le groupe utilisé par le serveur Apache.
L’avantage est qu’on aura pas à exécuter une commande pour autoriser le serveur à lire les fichiers des sites web installés.
Exécuter la commande :
1 |
sudo adduser ftpuser |
Répondre aux questions :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
administrateur@ubsrv001:~$ sudo adduser ftpuser [sudo] password for administrateur: Adding user `ftpuser' ... Adding new group `ftpuser' (1001) ... Adding new user `ftpuser' (1001) with group `ftpuser' ... Creating home directory `/home/ftpuser' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for ftpuser Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y |
Attribuer le groupe principal www-data à l’utilisateur ftpuser :
1 |
sudo usermod -g www-data ftpuser |
Donner les droits d’écriture au groupe www-data sur le répertoire /var/www :
1 2 |
sudo chown www-data:www-data /var/www sudo chmod 775 /var/www |
Installation du serveur FTP : proFTPD
1 |
sudo apt-get install proftpd |
Lancement de proftpd : Indépendamment
Configuration de proFTPD
Editer le fichier /var/proftpd/proftpd.conf
1 |
sudo vi /etc/proftpd/proftpd.conf |
Modifier la ligne :
1 2 |
# DefaultRoot ~ DefaultRoot /var/www |
Relancer le serveur ftp :
1 2 3 |
administrateur@ubsrv001:~$ sudo /etc/init.d/proftpd restart * Stopping ftp server proftpd [ OK ] * Starting ftp server proftpd [ OK ] |
Tester l’accès et la création d’un répertoire avec Filezilla par exemple.
Installation d’un serveur de messagerie
1 |
sudo tasksel |
Sélectionner « Mail Server »
Sélectionner « Site Internet » :
Laisser par défaut et valider :
L’installation se termine.
Il faut relancer la configuration :
1 |
sudo dpkg-reconfigure postfix |
Saisir le nom d’utilisateur configuré lors de l’installation d’Ubuntu Server.
Dans mon cas « administrateur »
Laisser par défaut :
Sélectionner « No » :
Laisser par défaut :
!! IMPORTANT !!
Ne pas utiliser procmail pour la distribution locale.
Sélectionner « No »
Vérifier que le fichier de configuration de Postfix ( /etc/postfix/main.cf ) contient la ligne :
1 |
home_mailbox = Maildir/ |
Normalement c’est la dernière ligne.
Sinon, exécuter les commandes suivantes :
1 2 |
sudo postconf -e 'home_mailbox = Maildir/' sudo /etc/init.d/postfix restart |
Instalaltion du serveur IMAP
1 |
sudo apt-get install courier-imap |
« Faut-il créer les répertoires nécessaires à l’administration web ? » : Non
Terminé pour le serveur de mail !
Configuration du répertoire de stockage des mails pour l’utilisateur « administrateur »
Se positionner dans le répertoire home :
1 |
cd ~ |
Exécuter la commande :
1 |
maildirmake.dovecot Maildir |
Installation de SquirrelMail
SquirrelMail est un client mail IMAP en ligne.
1 |
sudo apt-get install squirrelmail |
Laisser par défaut les demandes de configuration.
Configuration manuelle :
1 |
sudo /usr/sbin/squirrelmail-configure |
Sélectionner l’option 10 et valider
Sélectionner l’option 1 et valider
Saisir « fr_FR » et valider
Taper S et valider
Taper Q et valider
Squirrelmail est configuré.
Apache et SquirrelMail
Indiquons à Apache comment avoir accès à SquirrelMail :
1 2 3 |
sudo cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail sudo a2ensite squirrelmail sudo /etc/init.d/apache2 restart |
Tester l’accès et l’envoi de mail :
1 |
http://192.168.0.70/squirrelmail |
- Utilisateur : administrateur
- Mot de passe : celui de l’utilisateur.
Tester l’envoi et la réception d’e-mail à partir de Squirrelmail en utilisant l’adresse : administrateur@ubsrv001.jbnet.lan
Le mail envoyé doit être dans la boite de réception.
Fin de la première partie.
Faire un backup de la machine virtuelle comme vu plus haut.