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