Ubuntu 10.10 - Serveur de développement - Partie 1
- Détails
- Catégorie : Linux
- Créé le mardi 22 février 2011 08:43
- Mis à jour le mardi 8 mars 2011 11:32
- Publié le mardi 22 février 2011 08:43
- Écrit par Jérôme Baudin
- Affichages : 5365
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
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
Ex : http://utilisateur: Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. :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 :
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 :
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)
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 :
$ cp machine_origine.vdi machine_backup.vdi
$ VBoxManage internalcommands sethduuid machine_backup.vdi
On duplique le fichier puis on demande à Virtualbox de lui attribuer un id différent.
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 :
ssh administrateur@192.168.0.70
Voici la première connexion SSH :
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.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. '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
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 :
sudo a2enmod rewrite
Editer le fichier
sudo vi /etc/apache2/sites-available/default
Modifier la ligne 3 :
1 |
<Directory /var/www/> |
Sauvegarder et relancer le serveur apache :
sudo /etc/init.d/apache2 restart
Installation de phpMyAdmin
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 :
sudo adduser ftpuser
Répondre aux questions :
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 :
sudo usermod -g www-data ftpuser
Donner les droits d'écriture au groupe www-data sur le répertoire /var/www :
sudo chown www-data:www-data /var/www
sudo chmod 775 /var/www
Installation du serveur FTP : proFTPD
sudo apt-get install proftpd
Lancement de proftpd : Indépendamment
Configuration de proFTPD
Editer le fichier /var/proftpd/proftpd.conf
sudo vi /etc/proftpd/proftpd.conf
Modifier la ligne :
# DefaultRoot ~
DefaultRoot /var/www
Relancer le serveur ftp :
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
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 :
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 :
home_mailbox = Maildir/
Normalement c'est la dernière ligne.
Sinon, exécuter les commandes suivantes :
sudo postconf -e 'home_mailbox = Maildir/'
sudo /etc/init.d/postfix restart
Instalaltion du serveur IMAP
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 :
cd ~
Exécuter la commande :
maildirmake.dovecot Maildir
Installation de SquirrelMail
SquirrelMail est un client mail IMAP en ligne.
sudo apt-get install squirrelmail
Laisser par défaut les demandes de configuration.
Configuration manuelle :
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 :
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 :
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 : Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
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.

