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 : 

Activer le mod_rewrite

Installer GD

- Mcrypt (voir comment Ajouter des extensions à PHP5 sur mac OS X leopard)

Activer PDO_Mysql

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

9 Responses to “Installer Magento sur Mac OSX”

  1. 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 !

  2. Dans le host, il faut mettre le lien vers le fichier mysql.sock :
    /private/var/mysql/mysql.sock

    Dites moi si ça passe.

  3. 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 ?

  4. 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…

  5. Essaye de faire un mysql -V dans le Terminal déjà.

  6. 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… =(

  7. 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.

  8. Si tu as IRC, je suis sur #magento-fr sur freenode.net

  9. Un grand merci pour ton aide, je vais essayer de mettre en commentaire les lignes 65 / 66 / 67 et voir si ça fonctionne !…

Discussion Area - Leave a Comment