Se monter un environnement de developpement LAMP rapidement

Bonjour à tous et bonne fêtes de fin d’années …

Rapidement, le thème du jour : se monter un environnement de développement LAMP (pour dev en PHP ou …) proprement, avec une config DNS qui claque sa race ^^, juste histoire de revoir les « basiques » des serveurs DNS et d’un serveur apache.

L’idée étant que l’on ai des sous-domaines par projet du genre :

http://projet1.monpc.lan ou http://projet2.monpc.lan

Généré de façon dynamique, sans avoir à toucher à la config de son serveur à chaque nouveau projet, histoire de développer de façon rapide et propre, au lieu de tous stocker à la barbare pour accéder à ses sites en développement via http://localhost/projet1/module2/fichier3.php ou des urls à rallonge … Quoique l’on déporte le contenu du premier / au sous-domaine, mais bon, faut avouer qu’accéder à son site via http://localhost/projet au lieu de http://projet.monsite.org c’est moins sexy!!

(L’idée étant repiqué de mon environnement de travail chez advisa, que j’ai adopté pour développer mes projets perso,et aussi histoire de faire croire que j’ai le net dans le train).

Donc voilà … sous un système debian, on installe apache2, le module PHP, une base de données mysql, le serveur de NDD Bind9, ce qui donne la commande :

apt-get install phpmyadmin mysql-server bind9

Les dépendances de phpmyadmin étant le serveur apache et … ça raccourci pas mal la commande ;).

Pour ma part, je veux accéder à mon environnement de dev sur le nom de domaine : portable.lan, je modifie donc le fichier /etc/bind/named.conf pour rajouter :

zone « portable.lan » {
type master;
file « /etc/bind/db.portable.lan »;
};

avant la ligne contenant : include « /etc/bind/named.conf.local »;

et je créer le fichier /etc/bind/db.portable.lan contenant ce qui suit :

$TTL 3h
@       IN      SOA     ns.portable.lan. hostmaster.portable.lan. (
2005090201
8H
2H
1W
1D )

@       IN      NS      ns.portable.lan.

A       127.0.0.1
ns              A       127.0.0.1
*.portable.lan. IN      A       127.0.0.1

Qui aura pour effet de rediriger toutes les requêtes DNS à destination de portable.lan (www.portable.lan, …) à l’adresse IP 127.0.0.1, mais pour utiliser ce serveur de nom, il faut tout d’abort recharger la zone DNS :

/etc/init.d/bind9 reload

et modifier le fichier /etc/resolv.conf et rajouter ce qui suit :

nameserver 127.0.0.1

et malheureusement là … ce fichier est réécrit à chaque redémarrage, il faut donc modifier le fichier /etc/dhcp3/dhclient.conf et dé-commenter la ligne (en enlevant le # devant) :

prepend domain-name-servers 127.0.0.1;

qui aura pour effet de rajouter le serveur DNS 127.0.0.1 à chaque démarrage de la machine.

Maintenant, il faut configurer le serveur apache, très rapidement, on fait un :

a2enmod vhost_alias

pour rajouter le mod vhost_alias. Puis on modifie le fichier /etc/apache2/sites-enabled/000-default en changeant la ligne :

DocumentRoot /var/www

par :

VirtualDocumentRoot /var/www/%1

qui permettra, lorsque l’on se connecte à http://projet1.portable.lan d’utiliser le répertoire /var/www/projet1comme répertoire par défaut, par contre, il ne faut pas oublier de créer le répertoire www et portable, car si l’on tente de se connecter à http://www.portable.lan, le serveur apache cherchera le dossier /var/www/www ou pour http://portable.lan de chercher le dossier /var/www/portable … logique ^^.

et enfin, on redémarre le serveur apache :

/etc/init.d/apache2 restart

Voilà … c’est terminé ;), par contre, vous remarquerez que pour se connecter à phpmyadmin, on ne doit pas faire http://phpmyadmin.portable.lan, mais bien http://portable.lan/phpmyadmin, pourquoi??

Dans la config d’apache, il on généré un <Location> lors de l’installation, à la place d’un simple dossier dans le dossier /var/www, ce qui a pour effet d’ignorer notre superbe configuration, si ça vous dérange, vous pouvez créer un lien symbolique vers le dossier de phpmyadmin (/usr/share si mes souvenirs sont bon) depuis /var/www.

Voilà … c’était votre cadeaux de noël 😉

3 réflexions sur “ Se monter un environnement de developpement LAMP rapidement ”

  1. Je pense que configurer bind9 est trop compliqué.
    Pour faire pointer un domaine sur un serveur local, la modification du fichier hosts sur le poste local serait plus simple.

  2. C’est une possibilité, mais cela signifie qu’à chaque projet que tu va créer, tu devra modifier le fichier hosts (flemmard comme je suis …), à part si l’on peut utiliser des wildcards dans le fichier hosts, mais je ne crois pas que ça marche.

Les commentaires sont fermés.