installer un environnement apache php mysql sur un mac avec snow leopard

Installer un environnement apache php mysql sur un mac avec snow leopard

On a de la chance sur mac, il y a déjà une partie des outils qui sont installé. C'est le cas pour apache et pour php.

Mais il faut les activer. Voilà mes notes en vrac pour faire cette démarche. C'est pas super propre.. un jour quand j'aurai le temps je ferai mieux 😀

sudo nano /etc/apache2/httpd.conf
décommenter:
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module        libexec/apache2/libphp5.so

installer mysql

http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
mysql-5.1.45-osx10.6-x86_64.dmg

installer tout ce qu'il y a sur l'image disque:
- mysql
- le startup item
- le prefpane

Puis activer mysql

Ensuite, il y a plein de warning quand on utilise la fonction strtotime...
Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /Users/mdespont/Sites/yopyop/include/lib/application.php  on line 49

ici: http://maestric.com/doc/mac/apache_php_mysql_snow_leopard
On nous explique qu'il faut définir la timezone.
A choix une de celle-ci : http://www.php.net/manual/en/timezones.europe.php

Donc pour définir il faut ajouter un php.ini et compléter la ligne timezone en ajoutant le fuseau horaire voulu:

;date.timezone =Europe/Zurich

Puis.. subtilité.. il n'y a pas de php.ini par défaut.. il faut l'ajouter au besoin.. mais dedans les socket par défaut sont faux !!

Donc selon:
http://www.mac4ever.com/articles/creation/1153/php_mysql_sous_snow_leopard_et_xdebug_eclipse/

sudo cp /etc/php.ini.default /etc/php.ini

puis remplacer:
pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /var/mysql/mysql.sock
mysqli.default_socket = /var/mysql/mysql.sock

par

pdo_mysql.default_socket=/tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

Donc petit rechercher remplacer: In /etc/php.ini, replace the three occurences of /var/mysql/mysql.sock  by /tmp/mysql.sock

Selon http://stackoverflow.com/questions/1293484/easiest-way-to-activate-php-and-mysql-on-mac-os-10-6-snow-leopard :
to complete your setup or mysql:

sudo vim /etc/profile

add alias

alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin

then set your root password

mysqladmin -u root password 'yourPassword'

then you can login with mysql -u root -p

Plusieurs virtual hosts pour apache

il faut décommenter la ligne qui permet à apache d'aller lire le fichier
/etc/apache2/extra/httpd-vhosts.conf
Fichier dans lequel j'ai mes virtual hosts.

J'ai les règles de ma réécriture d'url.

Voilà voilà.. tout va bien.. ça marche ! 😀

Reprendre les exemples du fichier exemple: httpd-vhosts-original.conf

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>

 

Installation de Xampp avec la même base de donnée mysql

Il faut télécharger xampp

Pour utiliser la même base de donnée que celle qui a été installé ci-dessus. Il suffit d'utiliser le même socket. Ainsi je crée un lien symbolique.

ln -s /tmp/mysql.sock /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

Remonter