Suite la récente mésaventure que j’ai eu avec mon MacBook, j’ai dû ré-installer un environnement AMP sur mon ordinateur. L’occasion pour moi d’écrire ce billet et de présenter un outil génial pour Mac…

J’en ai déjà parlé, la version de PHP fournie avec Mac OS X Leopard est assez… épurée : pas de GD ou de PEAR par exemple et la compilation d’extensions ne marchent pas (cf. mon billet sur Runkit). Pour une utilisation (très?) basique de PHP cela suffira mais si vous voulez, par exemple, manipuler des images il faudra utiliser une autre solution…

Parmi les autres solutions possibles, j’ai choisi d’utiliser MacPorts et de compiler « moi-même » PHP. Certains auraient peut-être choisi MAMP qui est une solution plus simple et plus « rapide » mais peut-on compiler des extensions avec ? A priori oui mais je n’en suis pas sûr. L’objectif est aussi de pouvoir installer d’autres packages que le trio Apache-MySQL-PHP et de mettre à jour ces packages très simplement (une ligne de commande).

Pour ceux que cela intéresse, voici la procédure pour installer et configurer Apache-MySQL-PHP avec MacPorts sur Leopard. A noter que je suppose que vous avez déjà installé les “Developper Tools” d’Apple.

Installation de MacPorts

  1. Téléchargez MacPorts sur le site officiel : http://www.macports.org/
  2. Ouvrez l’image disque (.dmg)
  3. Lancez le .pkg et suivez les instructions.
  4. Une fois l’installation terminée, allez dans le terminal et lancez la commande :
    sudo port selfupdate

Installation d’Apache 2.2

  1. Installez Apache 2.2 en exécutant la commande qui suit dans le terminal :
    sudo port install apache2
  2. Une fois l’installation terminée, lancez Apache :
    sudo /opt/local/apache2/bin/apachectl start
  3. Si vous allez à l’adresse http://localhost vous devriez voir « It works! » à l’écran.
  4. Si vous souhaitez qu’Apache soit lancé au démarrage de votre ordinateur, lancez la commande ci-dessous :
    sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

Configuration d’Apache 2

Maintenant qu’Apache 2 est installé, nous allons le configurer pour qu’il fonctionne comme la version d’Apache fournie avec Mac OS X Leopard.

  1. Ouvrez le fichier /opt/local/apache2/conf/httpd.conf avec votre éditeur préféré.
  2. Recherchez la ligne
    #Include conf/extra/httpd-userdir.conf

    et enlevez le caractère # au début.

  3. Editez le fichier /opt/local/apache2/conf/extra/httpd-userdir.conf et ajoutez à la fin les lignes ci-dessous :
    #
    # Include user configurations
    #
    Include /etc/apache2/users/*.conf
  4. Si vous souhaitez accéder au manuel d’Apache à l’adresse http://localhost/manual/ :
    1. Editez le fichier /opt/local/apache2/conf/httpd.conf
    2. Recherchez la ligne ci-dessous et enlevez le # au début.
      #Include conf/extra/httpd-manual.conf
  5. Si vous souhaitez afficher la liste des éléments d’un dossier lorsqu’il n’y a pas de fichier index dedans :
    1. Editez le fichier /opt/local/apache2/conf/httpd.conf
    2. Recherchez la ligne la ligne ci-dessous et enlevez le # au début.
      #Include conf/extra/httpd-autoindex.conf
  6. Relancez Apache :
    /opt/local/apache2/bin/apachectl restart

Installation et configuration de Mysql 5

  1. Dans le terminal, lancez la commande suivante :
    sudo port install mysql5 +server
  2. Une fois l’installation terminée, exécutez la commande :
    sudo -u mysql mysql_install_db5
  3. Démarrez le serveur MySQL :
    sudo /opt/local/bin/mysqld_safe5 &
  4. Sécurisez votre installation de MySQL :
    sudo /opt/local/bin/mysql_secure_installation5
  5. Si vous voulez que MySQL soit automatiquement lancé au démarrage, lancez la commande suivante :
    sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

Installation de PHP 5

  1. Lancez l’installation de php5 :
    sudo port install php5 +apache2 +mysql5 +sqlite +pear
  2. Une fois l’installation terminée, créez un fichier de configuration pour php (le php.ini) :
    sudo cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
  3. Installez le module php pour Apache :
    cd /opt/local/apache2/modules
    sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
  4. Editez le fichier /opt/local/apache2/conf/httpd.conf, recherchez
    DirectoryIndex index.html

    et remplacez par

    DirectoryIndex index.html index.php
  5. Editez le fichier /opt/local/apache2/conf/httpd.conf et ajoutez à la fin les lignes suivantes :
    # Load the PHP module
    LoadModule php5_module modules/libphp5.so
    
    #
    # Include PHP configurations
    #
    Include conf/extras-conf/mod_php.conf
  6. Relancez Apache :
    /opt/local/apache2/bin/apachectl -k restart
  7. Vous pouvez maintenant créer dans votre dossier Sites (/Users/votrePseudo/Sites/) un fichier phpinfo.php

Voilà, votre environnement de développement AMP est installé et prêt à acceuillir vos scripts et applications ! Pour aller un peu plus loin, vous pouvez installer phpmyadmin et xdebug, avec MacPorts bien sûr.

Concernant MacPorts, je l’utilise depuis maintenant plusieurs mois et j’en suis très content. J’ai pu installer tous les packages dont j’avais besoin très simplement et sans problème. Je regrette juste de ne pas l’avoir découvert plus tôt…


10 commentaires

Erwin · 7 mars 2009 à 03:12

Désolé mais je vais faire un vilain hors-sujet : dans ton blog, il semble que les commentaires de chaque billet ont tous la même date… (exemple : http://www.blogafab.com/compiler-installer-runkit-php-mac/comment-page-1/#comment-6087 tous du mardi 22 – quoi – 2008)

Fabien · 10 mars 2009 à 19:04

Effectivement ! C’est la date du billet qui est affiché. Je regarderais pour corriger dès que possible.

Erwin · 14 mars 2009 à 16:47

Ok. Certains trucs ne sont pas traduits non plus (Continue reading, comments, le formulaire de commentaire, …)

Rom · 21 juin 2009 à 12:38

Bonjour,

Après avoir tenté de suivre ta procédure d’install, MacPorts ne me laisse pas continuer, car il semblerait que j’ai deja une version présente sur mon système (?).

L’erreur est la suivante :

arning: apache2 requests to install files outside the common directory structure!
—> Installing apache2 @2.2.11_0+darwin_9
Error: Target org.macports.install returned: Registry error: apache2 @2.2.11_0+darwin_9 already registered as installed. Please uninstall it first.
Error: Status 1 encountered during processing.

Du coup je sais pas comment supprimer cette version existante proprement. Une idée?

Merci d’avance!

    Fabien · 21 juin 2009 à 13:54

    Tu peux essayer de mettre à jour le package avec cette commande : sudo port upgrade -u apache2
    Je suis pas certain que cela fonctionne si le package n’est pas « enregistré » dans macport mais là, d’après le message, ça à l’air d’être le cas.

Laurent · 26 juin 2009 à 10:39

Bonjour,
:(
Pour ma part j’ai une erreur :
Error: Target org.macports.fetch returned: fetch failed
Error: The following dependencies failed to build: apr apr-util db46 expat libiconv gperf sqlite3 ncurses ncursesw readline openssl zlib pcre bzip2
Error: Status 1 encountered during processing.
Quelqu’un aurait une idée ?

merci,
LT

Tewfik · 16 août 2009 à 02:55

Petite correction sur l’install de mysql.
macport vient de m’avertir que le l’utilisation de +server est obsolète et qu’il vaut mieux utiliser mysql-server.

le log ci dessous :)

Enjoy!

imac-de-tewfik:~ tewfik$ sudo port install mysql5 +server
—> Fetching mysql5
—> Attempting to fetch mysql-5.0.83.tar.gz from http://ftp.plusline.de/mysql/Downloads/MySQL-5.0/
—> Verifying checksum(s) for mysql5
—> Extracting mysql5
—> Applying patches to mysql5
—> Configuring mysql5
The +server variant is obsolete. Please install the mysql5-server port instead.

dom · 7 décembre 2009 à 15:42

De mon coté, pour mysql, j’ai du faire

2. Une fois l’installation terminée, exécutez la commande :
sudo mkdir /opt/local/var/db
sudo chown mysql: /opt/local/var/db
sudo -u mysql mysql_install_db5

3. Démarrez le serveur MySQL :
sudo mkdir /opt/local/var/run
sudo /opt/local/bin/mysqld_safe5 &

Bruce · 19 mai 2010 à 18:55

Bonjour, :(
Pour ma part j’ai une erreur :
Error: Target org.macports.fetch returned: fetch failed
Error: The following dependencies failed to build: apr apr-util db46 expat libiconv gperf sqlite3 ncurses ncursesw readline openssl zlib pcre bzip2
Error: Status 1 encountered during processing.
Quelqu’un aurait une idée ?

merci,
LT

Installer Apache, MySQL et PHP sur Mac OS 10.5 avec MacPorts · 25 avril 2009 à 11:34

[…] Ce blog nous décrit précisement une solution bien efficace avec MacPorts : Installer Apache, MySQL et PHP sur Mac OS 10.5 avec MacPorts […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

:D :) :o :eek: :( :lol: :wink: :arrow: :idea: :?: :!: :evil: :p

Articles similaires

Mac

Créer une clé USB bootable de macOS High Sierra

La nouvelle version de macOS, nommé High Sierra, vient de sortir ce lundi 25 septembre 2017. Le programme d’installation de macOS 10.13 est disponible dans le Mac App Store d’Apple. Le programmation d’install dispose d’une Lire la suite…

Mac

Remplacer la batterie d’un MacBook Pro 2010

Il y a quelques jours, la batterie de mon MacBook Pro a complètement cessée de fonctionner. Cela faisait déjà plus de 6 mois qu’elle était à l’agonie avec une capacité autour de 1% mais Mac Lire la suite…

Développement

Installer et utiliser NodeJS et le module Less sur Mac OS X

Connaissez-vous LESS ? Il s’agit d’une sur-couche de CSS apportant son lot d’améliorations pour faciliter l’écriture de feuille de styles. LESS vous permettra par exemple de définir des fonctions ou des variables que vous pourrez Lire la suite…