Il y a quelques semaines, The Rocket Yard a publié un article détaillant les nombreux services qui seront supprimés de macOS Server dans un avenir proche. Aujourd’hui, je vais vous expliquer comment ramener l’un de ces services – l’hébergement web – en utilisant à la fois le serveur web Apache intégré à macOS et la suite complète MAMP.
Serveur web Apache
La plupart des utilisateurs de Mac ne le réalisent pas, mais macOS est livré avec son propre serveur web intégré. Apache est un serveur web open-source disponible depuis 1995, et en 2016, il était le moteur derrière 46% de tous les sites web et 43% du premier million de sites web en termes de trafic.
Avoir un serveur web intégré à macOS est parfait pour ceux qui veulent partager des informations dans un petit groupe de travail ou configurer et tester des sites sur un serveur web de développement avant de les déployer sur un serveur internet. Ces instructions vous montrent comment configurer le serveur Apache dans macOS High Sierra. Vous devrez avoir une certaine connaissance de l’app Terminal et de la façon d’exécuter des programmes en ligne de commande, une compréhension des serveurs web et une familiarité avec l’éditeur vi.
Pour commencer, nous éditons le fichier de configuration Apache en tant que root :
sudo vi /etc/apache2/httpd.conf
Un serveur web est relativement inutile sans un langage de script côté serveur avec lequel gérer les interactions ; les langages les plus populaires sont PHP, Perl et Python. Dans cet exemple, nous allons activer PHP et Perl. Pour ce faire, vous devez décommenter la ligne 176 du fichier de configuration. Dans l’éditeur vi, vous pouvez le faire facilement en tapant 176G pour aller directement à la ligne 176. Ensuite, tapez un x sur le # au début de la ligne suivante pour supprimer le marqueur de commentaire #:
#LoadModule php7_module libexec/apache2/libphp7.so
Nous voulons faire de même pour pouvoir exécuter des scripts Perl, qui se trouve à la ligne 177 du fichier de configuration. Utilisez votre touche fléchée pour descendre au début de la ligne suivante, puis tapez le x sur le # pour supprimer le marqueur de commentaire. Le fichier de configuration devrait alors ressembler à quelque chose comme ceci autour de la ligne 176 (voir la capture d’écran ci-dessous):
Pour enregistrer vos modifications dans l’éditeur, tapez :w !
Nous devons encore activer les sites web personnels en décommentant la ligne 173, donc tapez 173G et appuyez sur retour, puis tapez un x sur le # pour le supprimer. La même chose doit être faite avec la ligne 513 du fichier – tapez 513G et appuyez sur retour, puis tapez un x sur le # pour le supprimer. Maintenant, nous allons enregistrer ces deux dernières modifications et quitter l’éditeur en tapant ZZ.
La dernière commande vient d’activer un fichier nommé http-userdir.conf, et nous devons maintenant l’éditer : Dans le Terminal, entrez :
sudo vi /etc/apache2/extra/httpd-userdir.conf
Dans ce fichier de configuration, nous devons décommenter la ligne 16. Tapez 16G et appuyez sur retour, puis tapez un x sur le # pour le supprimer. Enregistrez et quittez en tapant 16G.
Jusqu’à Mac OS X Lion, il était possible de partager des sites web avec un groupe de travail local et de créer des sites web personnels en un clic ; pour publier des pages web, il suffisait de placer vos fichiers html dans un dossier Sites. Maintenant, nous devons faire beaucoup plus d’efforts. Créons manuellement un dossier Sites dans Terminal et créons un petit fichier de test pour savoir si notre serveur web fonctionne.
Entrez les commandes suivantes:
mkdir ~/Sites
echo « <html><body><h1>Bienvenue sur mon site</h1></body></html> » > ~/Sites/index.html.fr
Puis, nous devons nous assurer que nous avons un fichier de configuration utilisateur. Pour en créer un, tapez
sudo vi /etc/apache2/users/<votre nom d’utilisateur court>.conf
Où <votre nom d’utilisateur court> est votre nom d’utilisateur court Unix. Vous ne savez pas quel est ce nom ? Regardez en haut de la fenêtre du terminal et vous verrez un nom listé – c’est le nom d’utilisateur court. Dans mon cas, c’est stevensande, donc j’entrerais
sudo vi/etc/apache2/users/stevensande.conf (n’utilisez pas ceci pour VOTRE fichier de configuration !)
Dans ce fichier de configuration, nous voulons entrer ce qui suit (couper et coller dans vi fonctionne):
<Directory « /Users/<votre nom d’utilisateur court>/Sites/ »>
AddLanguage en .fr
AddHandler perl-script .pl
PerlHandler ModPerl::Registry
Options Indexes MultiViews FollowSymLinks ExecCGI
AllowOverride None
Require host localhost
</Directory>
Encore une fois, n’oubliez pas de remplacer <votre nom d’utilisateur court> par votre nom d’utilisateur court. Tapez ZZ pour enregistrer le nouveau fichier de configuration et quitter l’éditeur.
Si vous êtes arrivé jusqu’ici… félicitations ! Maintenant, vérifions notre configuration d’Apache en exécutant la commande suivante dans le Terminal:
apachectl configtest
Vous obtiendrez probablement un message d’avertissement qui dit « http : Could not reliably determine the server’s full qualified domain name » avec la façon de résoudre ce problème ; puisque c’est juste pour un serveur web local, ignorez cet avertissement – ce que vous voulez voir est la dernière ligne : Syntaxe OK.
Si tout va bien jusqu’à ce point, vous êtes prêt à démarrer Apache. Si l’une des syntaxes du fichier de configuration est incorrecte, vous recevrez des avertissements sur ce qui doit être corrigé.
Enfin, nous sommes prêts à lancer le service Apache httpd:
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Pour voir notre page web d’une ligne, lancez Safari ou votre navigateur préféré et entrez http://localhost/
Vous devriez voir:
Ca marche!
Pour voir le répertoire personnel de votre utilisateur, entrez http://localhost/~<votre nom d’utilisateur court>, en remplaçant une fois de plus <votre nom d’utilisateur court> par votre nom d’utilisateur court Unix. Il devrait dire:
Bienvenue sur mon site
Si vous décidez de fermer le service Apache, il y a une commande simple en une ligne dans le Terminal pour le faire:
sudo /usr/sbin/apachectl stop
Faire la vie plus facile avec MAMP
C’était beaucoup de travail pour mettre les choses en place et les faire fonctionner, n’est-ce pas ? Il y a un moyen beaucoup plus facile de mettre en place un serveur de test local ! Depuis un certain temps, les développeurs ont compris qu’empaqueter Apache, MySQL (un serveur de base de données) et PHP/Python/Perl était le meilleur moyen d’obtenir un serveur web très puissant. Ajoutez « Mac » au début de cette expression, et vous obtenez MAMP – Mac, Apache, MySQL et PHP/Python/Perl. Les distributions « AMP » (LAMP pour Linux, WAMP pour Windows, MAMP pour Mac) sont l’épine dorsale de la plateforme très populaire WordPress, donc si vous voulez un environnement de développement WordPress très complet sur votre Mac, vous êtes au bon endroit.
MAMP existe en deux variétés ; la solution gratuite MAMP pour un serveur web personnel et MAMP Pro (59 $), qui ajoute des services supplémentaires comme le courrier électronique, le DNS dynamique, et plus encore. Pour ce post, nous allons installer et configurer le MAMP gratuit.
1) Téléchargez MAMP sur le site web de MAMP
2) Ouvrez le fichier .pkg et suivez les instructions d’installation pour installer MAMP sur votre Mac
3) Une fois l’installation terminée, vous trouverez deux dossiers dans votre dossier Applications – un pour MAMP, et un autre qui est un essai gratuit de 14 jours pour MAMP Pro. Ouvrez le dossier nommé MAMP et lancez l’application MAMP. Vous verrez quelque chose qui ressemble à cette capture d’écran :
4) Cliquez sur le bouton « Démarrer les serveurs ».
MAMP démarre à la fois les serveurs Apache et MySQL, puis lance une page web qui confirme que votre installation de MAMP est terminée (voir la capture d’écran ci-dessous):
Le lien « Mon site Web » affiche une page vide, mais vous pouvez changer cela en plaçant un fichier index.html dans le dossier htdocs qui se trouve dans le dossier MAMP. Il est facile de changer le répertoire racine du document en allant dans MAMP >Préférences >Serveur Web.