Tutoriel N° 11e
Installation php mysql sur mac osx lion
Si vous aviez une version de php/mysql qui fonctionnait sur osx snow leopard mais qui ne fonctionne plus sur mac osx lion rendez vous sur ce tutorial
http://www.shareannonce.com/david/tutorial/11f
L’utilisation de logiciel tel que MAMP (Mac OS X, Apache, MySQL, PHP) n’est pas obligatoire pour avoir un environnement LAMP sous mac. Il est possible d’utiliser les services déjà intégrés. Mac os x possède nativement certains logiciels tel qu’Apache2 et php.
1. Configurer Apache
Pour activer Apache, il suffit d’aller dans les préférences système, de cliquer sur l’icône « partage » et d’activer le « partage web ».
2. Apache et PHP
Par défaut,Apache ne peut pas interpréter les scripts PHP. Nous allons donc activer le module dans la configuration. Pour ce faire, lancer le terminal est éditer le fichier http.conf.
sudo vi /etc/apache2/httpd.conf
Rechercher la ligne « #LoadModule php5_module libexec/apache2/libphp5.so » et décommenter la en supprimant le « # » en début de ligne.
LoadModule php5_module libexec/apache2/libphp5.so
Pour que Apache prenne en compte ce nouveau module, il faut le redémarrer.
sudo apachectl apachectl restart
3. PHP.ini
Depuis la version 5.3, php impose au fichier de configuration de préciser un fuseau horaire. Cela évite un warning à l’exécution des scripts.
Toujours à partir du terminal, éditer le fichier php.ini. Avant de faire cette manipulation, je vous conseille de faire une copie du fichier de configuration.
sudo cp /etc/php.ini.default /etc/php.ini (pour la copie)
sudo vi /etc/php.ini
sudo vi /etc/php.ini
Trouvez les lignes suivantes :
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = « »
Précisez le fuseau horaire en ajoutant « Europe/Paris »à la ligne date.timezone.
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = « Europe/Paris »
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = « »
Précisez le fuseau horaire en ajoutant « Europe/Paris »à la ligne date.timezone.
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = « Europe/Paris »
Pour que apache puisse prendre en compte cette modification, il faut redémarrer le serveur.
sudo apachectl restart
4. MySQL
Nous allons récupérer les sources sur http://dev.mysql.com/downloads/mysql/.
L’ordre d’installation du .dmg :
mysql5.5.xxx
MySQLstartupitem
MySQLPrefPane
Pour lancer MySQL rendez vous dans les Préférences Système puis dans la partie Autre cliquez sur MySQL et vous pourrez démarrer / arrêter le serveur.
Nous allons spécifier le chemin du fichier « mysql.sock » dans les préférences de PHP. Ouvrez (toujours à partir du terminal) le fichier php.ini
sudo vi /etc/php.ini
Remplacer les 3 occurrences de « /var/mysql/mysql.sock » par « /tmp/mysql.sock ». Vérifier au passage que le port par defaut de mysql et bien le 3306.
mysql.default_port = 3306
Redémarrez Apache afin qu’il puisse prendre en compte les changements.
sudo apachectl restart
5. phpMyAdmin
Dans un premier temps, récupérez les sources sur le site de phpmyadmin. Une fois le téléchargement terminé, il faut extraire et renommer le dossier en « phpmyadmin » puis le déplacer dans le dossier « ~/Sites »
Maintenant, vous pouvez accéder via l’url http://localhost/~username/phpmyadmin/ à l’interface de phpMyAdmin.
L’installation par défault de MySQL install ce dernier sans mot de passe pour le compte root dans le but de se connecter à la base MySQL depuis phpMyAdmin.
il va maintenant falloir préciser à phpMyAdmin qu’il à le droit de s’authentifier sans mot de passe.
Pour ce faire, éditer le fichier « config.ini.php » qui se situe dans le dossier « ~/Sites/phpmyadmin »
$cfg['Servers'][$i]['AllowNoPassword'] = true;
Pour crypter les mots de passe dans les cookies
$cfg['blowfish_secret'] = ‘UnePhraseAuHasard’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Pour crypter les mots de passe dans les cookies
$cfg['blowfish_secret'] = ‘UnePhraseAuHasard’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Et voila, il ne reste plus qu’a redémarrer Apache
sudo apachectl restart
Vous avez maintenant un environnement LAMP opérationnel sur votre mac