Ouvrir MAMP sur l’extérieur : Vhost, routeur, Domaine et DNS

Cet article est le deuxième de la série :
-  Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP
-  Ouvrir MAMP sur l’extérieur : Vhost, routeur, Domaine et DNS
-  Quelques outils pour développer du SPIP sous Mac

Dans ce deuxième article, nous aborderons comment ouvrir son serveur MAMP vers l’extérieur comme un vrai serveur WEB. Un petit clin d’œil à XDjuj que je remercie :-)

Plan de la deuxième partie : Ouvrir MAMP sur l’extérieur : Vhost, routeur, Domaine et DNS

-  I/ Apache Serveur virtuel : Etc/hosts
-  II/ Configurer son modem routeur
-  III/ Configurer son domaine et ses zones DNS
-  IV/ Un domaine personnalisé pour chaque site avec la modification du fichier de configuration httpd.conf

I/ Apache Serveur virtuel : Etc/hosts

Pour configurer Apache de manière à ce qu’il utilise des noms de domaine, il faut d’abord faire quelques opérations sur le mac.

Par défaut, le serveur Apache de MAMP est sur le port 8888. On peut laisser ce comportement ou obtenir quelque chose de plus standard.
L’adresse web locale est http://localhost:8888 au lieu de http://localhost.
Pour qu’Apache écoute sur le port 80, aller dans les préférences de MAMP, cliquer sur l’onglet Ports. Choisir “Utiliser les paramètres standards” et valider.
Après le redémarrage de MAMP, les serveurs Apache et MySQL fonctionnent de façon classique.

Le fichier hosts du mac se trouve dans le répertoire /etc/hosts. Le répertoire /etc est un dossier caché à la racine du disque dur. Il conviendra d’avoir les droits pour éditer le fichier hosts, sinon les modifications ne seront pas prise en compte.

Voici comment se présente le fichier hosts.
On Ajoute une nouvelle ligne avec l’ip local du serveur web : 127.0.0.1 et le nom de domaine que l’on a retenu monsiteamoi.com
Penser à faire plusieurs espaces entre l’ip et le domaine

# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost
127.0.0.1 	monsiteamoi.com

Personnellement, dans mon vhost, j’ai quelque chose comme ceci

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost
127.0.0.1  88.161.2xx.2xx (mon adresse ip free sortante qui est fixe, et donc qui ne change pas toute les 24 h. Dans le cas d'une ip dynamique pensez à utiliser les dyndns.org)
127.0.0.1   mondomaine.info (mon domaine pour l'ensemble de mon MAMP)
192.168.0.50 mondomaine.info (l'ip interne de mon mac, équivalente à 127.0.0.1 mais qui me permet d'accéder au MAMP depuis mon émulation windows avec IE)

Quand je tape http://mondomaine.info:8888/MAMP, j’accède à mon MAMP parce que j’utilise le port 8888 sur le Document Root htdocs, et http://mondomaine.info renvoie sur le serveur web Apache du mac, activé quand on coche partage web depuis les préférences mac et le bouton partage.

Ouvrir un terminal en compte root, et taper cd /etc

On édite le fichier hosts avec l’éditeur pico

alexmacapple:etc alex$ pico hosts

On descend avec les flèches du clavier pour se positionner au bon endroit ; Contrôle X pour quitter le mode édition ; Et on sauve les modifications en tapant Y pour Yes.

Pour les récalcitrants du terminal, ou pour ceux qui n’ont pas de compte super admin sur leur mac, on peut prendre l’éditeur gratuit Textwrangler, récupérable à cette adresse : http://www.barebones.com/products/t...

Puis dans le fin-der du mac, dans le menu Aller, cliquer sur Aller au dossier

-  Et taper dans la fenêtre : Aller au dossier /etc/ puis valider en appuyant sur le bouton Aller
-  Une fenêtre s’ouvre avec le contenu de /etc/
-  Clic droit sur le fichier hosts
-  Ouvrir avec TextWrangler
-  Éditer son hosts
-  Une petite fenêtre s’ouvre avec le message savant : « Are you sure you want to unlock »hosts" .
-  This document is owned by « root ».
-  Cliquer sur Unlock
-  Faire un pomme s pour enregistrer sa modification du vhost
-  Une autre fenêtre apparaît qui nous demande le mot de passe de notre compte admin mac.
-  On valide et c’est tout bon.

Dans ce cas de figure donc on a donc 1 domaine pour l’ensemble des sites web sous MAMP
-  http://mondomaine.info:8888/site1
-  http://mondomaine.info:8888/site2
-  http://mondomaine.info:8888/site3

site1, site2, et site3 étant des sous-répertoires de htdocs définis comme mon Document Root.

II/ Configurer son modem routeur

Les réglages pourront différer selon le type de modem : box, freebox netgear etc … mais les principes de base restent identiques. À vous de vous balader dans l’interface de votre routeur pour paramétrer et cocher les options qui conviennent.

En gros il vous faudra :
-  Cocher le DMZ sur pour votre ip local ce qui peut simplifier les choses : Serveur DMZ sur 192.168.0.2 (ip local de mon mac) mais ce n’est pas forcément très sécurisé d’ouvrir sur tout.
-  Sinon on pourra faire du spécifique avec mappage de port 80 ou 8888 de votre ip local du mac vers l’ip sortante du routeur.
-  Réserver toujours la même ip local à votre mac qui fait office de serveur web avec MAMP (réservation de plage ip)
-  Actualisation du dyndns.org depuis le routeur si vous utilisez un domaine chez eux en cas d’ip dynamique. Certains modems offre ce type d’option
-  On pourra également selon le type de routeur ajouter des services personnalisés et régler certains paramètres de pare-feu

Du temps ou j’utilisais un modem routeur Netgear chez Orange voici les réglages que je faisais depuis l’interface du routeur (http://192.168.0.1) pour vous donner une petite idée. À vous d’adapter selon votre routeur et les options qu’il vous propose :

-  Toujours attribuer ip 192.168.0.2 d’après adresse mac Adresse MAC : d4:9a:20:5b:df:01 (Cf menu pomme/plus d’info/réseau pour avoir son ip local)
-  Router les ports web 80 et 8888 sur 192.168.0.2
-  Sinon option DMZ
# Activer Nom du service Action Adresse IP serveur LAN Utilisateurs WAN Journal
HTTP Toujours AUTORISER 192.168.0.2 Tous Toujours
MAMP Toujours AUTORISER 192.168.0.2 Tous Toujours

Depuis que je suis passée sur la freebox avec Free, voici les réglages que j’ai cochés dans l’interface freebox accessible en ligne depuis ce lien

https://subscribe.free.fr/login/

-  Activer le mode routeur de la freebox qui n’est pas actif par défaut
-  Mappage des port 80 et 8888
-  DMZ pour l’ip local de mon mac 192.168.0.10
-  Notons que free offre aussi une page de personnalisation de reverse DNS que nous n’avons pas utilisé, car nous avons gérer notre zone DNS depuis notre registar de domaine.

III/ Configurer son domaine et ses zones DNS

Chez mon registrar de domaine, je gère les DNS du domaine mondomaine.info de la sorte
-  A mondomaine.info 88.161.2xx.2xx (mon ip free)
-  A *.mondomaine.info 88.161.2xx.2xx (mon ip free pour gérer éventuellement n’importe quel sous domaine)
-  CNAME www.mondomaine.info mondomaine.info

IV/ Un domaine personnalisé pour chaque site avec la modification du fichier de configuration httpd.conf

Ce fichier se trouve dans /Applications/MAMP/conf/apache/httpd.conf

Il faut ajouter les lignes correspondantes au virtualhost du domaine qui doit planter sur un répertoire site bien précis.

Attention penser à mettre le même port que celui défini dans les options : 8888 ou 80
« monsite » correspond au répertoire du dit site qui pointe sur le domaine.

Pensez à remplacer « monsite » par le nom de votre répertoire site et « monsite.com » par votre domaine choisi

<VirtualHost 127.0.0.1:80>
     DocumentRoot /Applications/MAMP/htdocs/
     ServerName localhost
</VirtualHost>
<VirtualHost 127.0.0.1:80>
     DocumentRoot  /Applications/MAMP/htdocs/monsite/
     ServerName monsite.com
     ServerAlias *.monsite.com
     <Directory "/Applications/MAMP/htdocs/monsite/">   
        Options Indexes FollowSymLinks MultiViews   
        DirectoryIndex index.php index.html
        AllowOverride All
        Order allow,deny   
        Allow from all   
    </Directory>   
</VirtualHost>

Enregistrez httpd.conf puis Arrêter et Démarrer les Serveurs MAMP.

Lire la suite :
Quelques outils pour développer du SPIP sous Mac

Lire l’article précédent :
Comment créer un environnement de travail pour développer du SPIP sur un MAC avec MAMP

Discussion

3 discussions

  • Guy Frery

    Bonjour,

    je voulais savoir juste une chose : est-ce que quand on a configuré tout ça comme ça, le site est ouvert sur internet (en appelant le domaine dans le navigateur) ou est-ce qu’il reste privé ?
    Moi ça m’intéresserait, mais pour continuer mon site local spip, en voyage par exemple, mais que le site reste privé (accessible librement seulement depuis mon réseau local) .
    En tout cas bravo pour ce tuto !

    Répondre à ce message

  • 1

    Je suis dans le 3è cas (IP dynamique) et je bloque sans doute sur la façon de déclarer mon domaine principal et/ou les vhosts


    Situation actuelle

    • Ma ferme à SPIP est installée dans le répertoire www/maferme/
    • J’ai créé un domaine noisetier au niveau de mon serveur

    Mes sites sont sagement rangés ainsi :
    - www/maferme/site1.maferme.noisetier
    - www/maferme/site2.maferme.noisetier

    En local, j’appelle les différents sites en invoquant l’url
    http://site1.maferme.noisetier, http://site2.maferme.noisetier etc...

    Quelques constats
    Si un internaute tente d’accéder à mon serveur depuis une de ses machines

    Je n’arrive pas à comprendre ce qu’il faut faire pour que des adresses du type
    http://mondyndns.org/site1.maferme.noisetier ou http://mondyndns.org/site1.noisetier ou quelque chose du genre permettent de consulter les différents sites mutualisés !

    C’est au niveau de la déclaration du tld noisetier ? Ou celle des vhosts (un par répertoire ?) ?
    Comme on dit, je suis un peu largué dans ces notions-là... Un p’tit éclairage ? Des liens ou un tuto à m’indiquer ?

    • Maieul a écrit un article sur la mutualisation dans MAMP. Cf http://geekographie.maieul.net/Gere...
      Peut-être y trouverez-vous l’information qu’il vous manque
      Coté routeur et /etc/hosts, c’est ok puisque http://mondyndns.org accède à bien www
      Après c’est au Vhost de chaque site mutualisé d’indiquer, il me semble, son DocumentRoot (à savoir le répertoire de la mutualisation)

    Répondre à ce message

  • 1

    Ouvrir une ferme à SPIP vers l’extérieur
    Pour prolonger cet article, comment ouvrir vers l’extérieur une ferme à SPIP ? Je veux dire par là, quelles manips faut-il faire pour que www/maferme/site/monsite1, www/maferme/site/monsite2 soient accessibles depuis l’extérieur ?
    Merci d’avance du coup de main !

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom