Installation d’un serveur de développement COMPLET sur MacOS X avec MacPorts
Heureusement, tout à une fin alors aujourd’hui nous parlerons de l’installation complète d’un serveur d’environnement de développement sur Mac. Ce tutoriel se base sur la dernière version de chacun des logiciels et vous expliquera step-by-step comment installer et configurer votre serveur afin d’obtenir un environnement sain en évitant le maximum de manipulations.
Pré-requis
Le système d’Apple n’ayant pas de gestionnaire de package digne de ce nom, le pré-requis indispensable est l’installation de macports. Il vous faudra télécharger le programme correspondant à votre système qui vous demandera lui-même d’installer Xcode afin de pouvoir compiler tous les binaires.
Première étape : La mise à jour de MacPort
Une fois MacPort installé, la première étape consiste en la mise à jour du programme. Pour cela, rien de bien compliqué puisqu’il vous suffira de taper la commande suivante :
sudo port selfupdate
MacPort devrait se mettre à jour ainsi que sa liste de package. Cela permettra de pouvoir mettre en place les dernières versions des différents serveurs.
Seconde étape : Installation d’Apache
Passons à l’installation d’Apache, à partir de ce moment soyez un peu patient car l’installation ne se fait pas forcément en 5 minutes alors prenez une bière (ou un coca) et profitez un peu des flocons de neige en hiver ou de votre voisine en maillot de bain en été.
sudo port install apache2 sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
Troisième étape : Installation de MySQL
MySQL maintenant, un peu plus d’étapes de configuration mais cela devrait plutôt bien se passer.
sudo port install mysql5-server sudo -u mysql mysql_install_db5 sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist /opt/local/lib/mysql5/bin/mysql_secure_installation
La dernière commande vous invitera à rentrer votre identifiant et mot de passe, soyons clair, même en environnement de développement, il faut toujours un mot de passe à votre compte root. Vous pourrez au passage supprimer les tables test lorsque le script vous le demandera.
Quatrième étape : Installation de PHP
L’étape qui fait mal puisque la moins bien documenté pour MacPort depuis le changement de version. Heureusement tout devrait bien se passer pour nous. Tous les modules que vous allez installer dans la suite ne sont pas forcément indispensables mais disons que vous serez bien équipé pour la suite.
sudo port install php5 +apache2 +pear sudo port install php5-mysql sudo port install php5-eaccelerator sudo port install php5-exif sudo port install php5-gd sudo port install php5-gettext sudo port install php5-iconv sudo port install php5-imagick sudo port install php5-mbstring sudo port install php5-mcrypt sudo port install php5-openssl sudo port install php5-sqlite sudo port install php5-xmlrpc sudo port install php5-xsl sudo port install php5-zip
Configuration de PHP
Maintenant que tout est installé, l’étape de configuration grâce à laquelle nous allons pouvoir bientôt travailler.
cd /opt/local/etc/php5/
sudo cp php.ini-production php.iniPourquoi copier le fichier php.ini de production ? Tout simplement car c’est le plus restrictif et je préfère pour ma part modifier un fichier restrictif qu’un fichier de configuration trop permissif. Travaillant en plus avec Symfony, je n’ai pas trop à me soucier de ça
Nous allons donc éditer notre fichier php.ini. Il vous faudra rechercher la ligne suivante, j’utilise pour ma part vi dont voici les commandes principales :
Ouvrir un fichier : vi <nom du fichier> Rechercher dans le fichier : <appuyer sur echap puis faire> /<occurrence à rechercher> Editer un fichier : <appuyer sur la touche i> Enregistrer un fichier : <appuyer sur echap puis faire>:w Quitter un fichier : <appuyer sur echap puis faire>:q Forcer un quit sur un fichier modifié : <appuyer sur echap puis faire>:q!
sudo vi /opt/local/apache2/conf/httpd.conf <Rechercher> DirectoryIndex index.html <Modifier par> DirectoryIndex index.php index.html <Rechercher>Include conf/extra/ <Ajouter>Include conf/extra/mod_php.conf <Enregister> sudo vi /opt/local/etc/php5/php.ini <Rechercher>mysql.default_socket <Modifier par>mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock <Rechercher>mysqli.default_socket <Modifier par>mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock <Rechercher>pdo_mysql.default_socket <Modifier par>pdo_mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock <Rechercher>date.timezone <Modifier par>date.timezone = Europe/Paris <enregister> sudo /opt/local/apache2/bin/apachectl -k restart
Votre environnement devrait être prêt !
Création d’un fichier phpinfo
sudo vi /opt/local/apache2/htdocs/phpinfo.php <Ajouter><?php phpinfo(); ?> <Enregister>
Votre fichier devrait être accessible à l’adresse http://localhost/phpinfo.php Vous pourrez à ce moment la vérifier vos différents modules et vérifier que vos drivers mysql fonctionnent correctement (ils devraient apparaitre dans la liste, recherchez simplement « pdo »).
Installation de phpMyAdmin
Afin de faciliter votre maintenance MySQL, installons phpMyAdmin.
sudo port install phpmyadmin sudo vi /opt/local/apache2/conf/httpd.conf <Rechercher>Include conf/extra/ <Ajouter>Include conf/extra/httpd-phpmyadmin.conf sudo vi /opt/local/apache2/conf/extra/httpd-phpmyadmin.conf <Ajouter les éléments suivants> AliasMatch ^/phpmyadmin(?:/)?(/.*)?$ "/opt/local/www/phpmyadmin$1" <Directory "/opt/local/www/phpmyadmin"> Options -Indexes AllowOverride None Order allow,deny Allow from all LanguagePriority en de es fr ja ko pt-br ru ForceLanguagePriority Prefer Fallback </Directory> <Enregister> sudo /opt/local/apache2/bin/apachectl -k restart
Utilisations de vhosts
N’importe qui vous le dira, les vhosts, c’est le bonheur. Cette étape est cependant facultative. Nous allons donc mettre le tout en place pour en bénéficier.
sudo vi /opt/local/apache2/conf/httpd.conf <Rechercher> Include conf/extra/ <Ajouter> Include conf/extra/httpd-vhosts.conf <Supprimer la ligne> Include conf/extra/httpd-phpmyadmin.conf <Enregister> sudo vi /opt/local/apache2/conf/extra/httpd-vhosts.conf
Nous allons ajouter deux vhosts principaux afin de pouvoir utiliser le répertoire Sites de l’arborescence Mac. Au passage, modifions le vhost pour phpMyAdmin.
Attention, il s’agit de ma propre configuration, à vous de la personnaliser.
<VirtualHost *:80> ServerAdmin pocky@pockyworld.com DocumentRoot "/Users/Alexandre/Sites/" ServerName www.pockyworld.local <Directory "/Users/Alexandre/Sites/"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from All </Directory> </VirtualHost> <VirtualHost *:80> ServerAdmin pocky@pockyworld.com DocumentRoot "/opt/local/www/phpmyadmin/" ServerName sql.pockyworld.local <Directory "/opt/local/www/phpmyadmin"> Options -Indexes AllowOverride None Order allow,deny Allow from all LanguagePriority en de es fr ja ko pt-br ru ForceLanguagePriority Prefer Fallback </Directory> </VirtualHost>
N’oubliez pas de relancer Apache après avoir effectué cet ajout de vhost.
sudo /opt/local/apache2/bin/apachectl -k restart
Le petit plus : Installation de GIT
Le petit extra spécial geek fan du versioning
sudo port install git-core +svn git config --global user.name "Votre nom" git config --global user.email "Votre adresse mail"
Attention pour Git, tout n’a pas directement fonctionné du premier coup, n’hésitez pas à relancer la commande d’installation.
Conclusion
Votre environnement de travail devrait fonctionner et être idéal pour pouvoir travailler. N’oubliez pas de personnaliser votre fichier de configuration de php (le php.ini) suivant vos besoins. Celui livré par défaut dans ce tutorial n’affichera par exemple pas les erreurs PHP ce qui peut être embêtant en phase de développement
.
Vous ne devriez pas (avec les vhosts) avoir de problème d’autorisations d’écriture dans votre répertoire Sites car il est créé par le système lors de l’installation de MacOS. Dans le cas ou vous utilisiez le répertoire par défaut (sans vhost) il vous faudra modifier les autorisations (pomme + i sur le répertoire) pour vous autoriser l’écriture de fichiers.
- Premier push pour peanut
- WP-o-Matic, Yahoo Pipes et les flux RSS Google
- Gestion des polices exotiques avec CSS3, jQuery et Cufon
- La gestion d’une équipe et de ses projets : Diagrammes de Gantt
- BIC : Le framework CSS arrive en 2.7.1







Joris novembre 23rd
Bien
Charles décembre 1st
Bonjour Alexandre,
J’aimerais avoir gettext sans le risque de tout réinstaller. Est-ce possible?
J’ai utilisé l’installation par défaut de Apple (OS X 10.5: Apache 2, PHP 5.2.11 et Mysql 5.0) depuis plusieurs mois. J’ai plusieurs sites (version développement) installés sur notre petit serveur G4.
Par conséquent, l’install d’Apache 2 et de Mysql ont été fortement personnalisé (plusieurs BD, vhosts, etc.). Je n’ose pas y toucher.
Est-ce possible, à l’intérieur de ce setup, de recompiler seulement PHP pour y inclure Gettext?
Alexandre décembre 2nd
Bonjour Charles,
Je ne pense pas que macports puisse recompiler un autre apache que le sien étant donné que ce sont deux choses différentes.
Tu peux donc essayer d’installer le serveur en parallèle et de transférer un backup du premier serveur à l’autre (c/c pour les sites et vhosts et transfert via mysqladmin pour la bdd par exemple).
Si le problème se limite à GetText, tu peux aussi aller voir du coté des alternatives comme par exemple XLIFF fonctionnant de la même manière que getText mais avec un fichier xml
Alexandre décembre 13th
A signaler, petite mise à jour du tuto afin d’installer php5-iconv car je me suis heurté à un petit problème suite à l’utilisation de Zend Lucene
@ramis juin 16th
Tip top. Très bon tutoriel rapide et complet pour comprendre l’avantage de macport et obtenir un serveur local prêt pour le développement.
Merci
Add Yours
YOU