Installer Magento sur Mac OSX
Magento ?
Magento est la plateforme open source de site ecommerce qui monte.
Vous trouverez plus d’info sur la page de Magento.
Les pré-requis
Pour faire tourner Magento, il vous faut :
- Mcrypt (voir comment Ajouter des extensions à PHP5 sur mac OS X leopard)
Vérifier que rien ne vous manque en téléchargeant ce fichier de test.
Vous dézippez cette archive sur votre serveur, et vous accédez avec votre navigateur à la page php en question.
Si tout est bon, vous pouvez procéder à l’installation.
L’installation.
Créer un répertoire pour votre site
Télécharger Magento à l’adresse : http://www.magentocommerce.com/downloads/assets/1.1.6/magento-1.1.6.tar.gz
Ensuite :
# chmod o+w var var/.htaccess app/etc
# chmod -R o+w media
# rm -rf downloader/pearlib/cache/* downloader/pearlib/download/*
Pour mettre à jour Magento à la dernière version stable :
# ./pear mage-setup .
# ./pear install -f magento-core/Mage_All_Latest-stable
J’ai décompacté la version de magento 1.2.0.1. J’ai placé le dossier magento résultant dans mon répertoire Sites (/Users/$USER/Sites/magento). Après avoir installé mcrypt, pdo_mysql et activé le mod_rewrite d’Apache avec succès, j’ai lancé la procédure d’installation de magento. Lors de la configuration de la base de donnée, j’ai rentré en Host: localhost, j’ai rentré le nom de ma base, mon login et mon mot de passe MySQL, j’ai coché la case “Use Web Server (Apache) Rewrites”, j’ai laissé “Save session data in” sur “File system” et j’ai cliqué sur continue. Malheureusement, j’obtiens alors une erreur de ce type :
Undefined index: Value in /Users/zenx/Sites/magento/app/code/core/Mage/Install/Model/Installer/Db.php on line 61
Database connection error
Que faire ?
Merci d’avance pour vôtre aide !
Dans le host, il faut mettre le lien vers le fichier mysql.sock :
/private/var/mysql/mysql.sock
Dites moi si ça passe.
Malheureusement, ça ne fonctionne pas, même en mettant le chemin du socket Unix. Je précise que le mien est /tmp/mysql.sock. J’ai d’ailleurs créer mon fichier /etc/my.cnf à partir de la dernière distribution de MySQL 5.1.30 en tapant la ligne sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf et celui-ci contient par défaut le chemin /tmp/mysql.sock dans la section [client], ainsi que dans la section [mysqld]. Un dernier point qui est troublant est que lorsque je tape un mauvais mot de passe pour ma base de donnée, avec le host en “localhost” ou en “127.0.0.1″, il m’affiche le message d’erreur suivant :
SQLSTATE[28000] [1045] Acc�s refus� pour l’utilisateur: ‘mrdoe’@'@localhost’ (mot de passe: OUI)
Database connection error
C’est bien la preuve qu’il accède à mon serveur MySQL, non ?
Dernière précision, lorsque je lance le test magento-check.php, j’ai ce résultat qui s’affiche :
Notice: Undefined offset: 0 in /Users/zenx/Sites/magento-check.php on line 30
Your server does not meet the following requirements in order to install Magento.
The following requirements failed, please contact your hosting provider in order to receive assistance with meeting the system requirements for Magento:
You need MySQL 4.1.20 (or greater)
The following requirements were successfully met:
You have PHP 5.2.0 (or greater)
Safe Mode is off
You have the curl extension
You have the dom extension
You have the gd extension
You have the hash extension
You have the iconv extension
You have the mcrypt extension
You have the pcre extension
You have the pdo extension
You have the pdo_mysql extension
You have the simplexml extension
Les lignes du fichier magento-check.php correspondent à ça :
26 if(!ini_get(’safe_mode’)) {
27 $pass .=’Safe Mode is off‘;
28 preg_match(’/[0-9]\.[0-9]+\.[0-9]+/’, shell_exec(’mysql -V’), $version);
29
30 if(version_compare($version[0], ‘4.1.20′, ‘<’)) {
31 $fail .= ‘You need MySQL 4.1.20 (or greater)’;
32 }
Si je fais un echo $version[0], il me met le même message d’erreur que celui précisé plus haut, comme si la variable était vide.
Enfin j’ai installé PHPBB 3.0.4 et cela fonctionne très bien avec mon serveur MySQL.
Je suis en manque d’idées…
Essaye de faire un mysql -V dans le Terminal déjà.
Sous le Terminal, la commande mysql -V me donner ce résultat :
mysql Ver 14.14 Distrib 5.1.30, for apple-darwin9.5.0 (powerpc) using readline 5.1
Apparemment, je ne suis pas le seul à rencontrer ce problème. En visitant le forum du site magentocommerce.com, j’ai pu lire plusieurs interventions décrivant les mêmes symptômes sur des distribution XAMPP notamment, mais je n’ai toujours pas trouvé la solution… =(
Oui mais ce qui est important, c’est que tu as donc tout bien ce qu’il faut pour installer Magento et que c’est le magento-check.php qui ne fonctionne pas.
En fait, il ne comprend pas ta version de MySQL.
Quand je reprend ton message d’erreur et que je vais regarder ici :
/Users/zenx/Sites/magento/app/code/core/Mage/Install/Model/Installer/Db.php
Mets en commentaire les lignes 65 / 66 / 67 (qui testent la version de Mysql et arrete le script si c’est pas bon) et regarde si ça passe.
Si tu as IRC, je suis sur #magento-fr sur freenode.net
Un grand merci pour ton aide, je vais essayer de mettre en commentaire les lignes 65 / 66 / 67 et voir si ça fonctionne !…