Magento : trucs et astuces d’admin

 

Je vais ici référencer quelques petits trucs trouvés au fur et à mesure de mes expériences sur Magento.

Changer l'url de l'interface d'admin

Pour éviter les tentatives d'attaques sur l'interface d'admin, il est bon de changer l'url de celle-ci (en plus bien sur de la protéger par du https).

IL NE FAUT SURTOUT PAS LE FAIRE VIA LE MENU CONFIGURATION/AVANCE/ADMIN/URL D'ADMIN PERSONALISEE

Si vous le faîtes comme cela vous allez au devant d'une belle grosse erreur 404, page not found.

Correction au cas ou

Si jamais vous n'avez pas lu l'avertissement au dessus, ou dans le cas ou vous avez ce problème voici comment le régler :

aller dans la base de données et supprimer les infos correspondant à cette configuration dans la table core_config_data, on imagine que comme url personnalisée, vous avez mis : http://maboutique.com/admin_magento :

mysql> delete from core_config_data where path='admin/url/custom' and 
value='http://maboutique.com/admin_magento' ;

mysql> delete from core_config_data where path='web/secure/base_url' and 
value='http://maboutique.com/admin_magento' ;

mysql> delete from core_config_data where path='web/unsecure/base_url' and 
value='http://maboutique.com/admin_magento' ;

Puis vider le cache :

# rm -rf /var/www/maboutique.com/var/cache/*

Et virer vos cookies pour ce site.

 

Méthode correcte

Pour faire les choses proprement il faut, éditer le fichier www/app/etc/local.xml et modifier la ligne

<frontName><![CDATA[admin]]></frontName>

Puis vider le cache :

# rm -rf /var/www/maboutique.com/var/cache/*

Et virer vos cookies pour ce site.

 

Mise en place des crons

Il faut régulièrement mettre à jour un certains nombres d'informations, par défaut :

  • les règles de prix
  • l'envoi de newsletters
  • la génération du sitemap Google
  • les alertes de notifications aux utilisateurs
  • les cours des devises
  • le nettoyage des logs de la base de données

Il est bien sur possible de rajouter d'autres tâches à faire exécuter régulièrement. Voici ce que j'obtiens sur une installation de base en recherchant les tags crontab dans les fichiers de configuration :

# find ./ -type f -name 'config.xml' -exec grep -lr crontab {} ;
./app/code/core/Mage/SalesRule/etc/config.xml
./app/code/core/Mage/ProductAlert/etc/config.xml
./app/code/core/Mage/Directory/etc/config.xml
./app/code/core/Mage/Newsletter/etc/config.xml
./app/code/core/Mage/Catalog/etc/config.xml
./app/code/core/Mage/Log/etc/config.xml
./app/code/core/Mage/CatalogRule/etc/config.xml
./app/code/core/Mage/CatalogIndex/etc/config.xml
./app/code/core/Mage/Tax/etc/config.xml
./app/code/core/Mage/Sales/etc/config.xml
./app/code/core/Mage/Cron/etc/config.xml
./app/code/core/Mage/Sitemap/etc/config.xml

Le script cron.php permet de checker dans ces fichiers si il y a des actions à exécuter. Il faut donc l'exécuter régulièrement en ajoutant une tâche toutes les x minutes. Dans l'article suivant, ils conseillent toutes les 15 minutes. A adapter, je penses au fur et à mesure de la "vie" du site.

On ajoute donc la ligne suivante dans la crontab root :

*/15 * * * * /usr/bin/php -f /var/www/boutique.domaine.tld/www/cron.php