Magento ======= Magento est un système de gestion de contenu (CMS) qui permet la création et la gestion de sites de e-commerce. Nous allons voir dans ce tutoriel comment installer Magento tout en respectant les bonnes pratiques de sécurité. .. image:: images/ma_logo.png :align: center :width: 400pt 1 - Installer Magento ----------------------- Récupérer Magento depuis le `site `_ Il est recommandé de choisir la dernière version stable de Magento pour des raisons de sécurité. .. note:: Vérifiez la compatibilité de Magento avec les versions PHP et MySQL de votre hébergement Une fois le téléchargement terminé, faire un clic droit sur l'archive et choisir "Extraire tout...", indiquer une destination afin d’extraire vos fichiers dans un nouveau dossier. **Déposer les fichiers dans votre espace** Maintenant, il faut déposer les fichiers dans votre espace d'hébergement. Pour cela nous vous recommandons l'utilisation d'un logiciel de FTP comme Filezilla ou WinScp (voir nos `tutoriaux `_ à ce sujet) **Créer une base de données** Il faut maintenant créer une base de données MySQL et un utilisateur avec les bons privilèges. Pour cela reportez vous à notre `tutorial `_ Une fois la base et l'utilisateur créés, récuperer les identifiants qui seront utiles lors des étapes de paramètrages de Magento. **Lancer l'installation** Rendez vous sur votre site pour débuter l'installation de Magento. .. image:: images/ma-1.png :align: center Cliquez sur **Continue** Entrer les informations de connection à la base de donnée créée précédemment. .. image:: images/ma-2.png :align: center Renseignez l'url choisie pour votre site ainsi que le nom du répertoire d'administration .. image:: images/ma-3.png :align: center Compléter les informations pour créer votre compte d'administrateur du back office. L'installation est maintenant terminée et vous pouvez acceder à la page de connexion du back office. .. image:: images/ma-5.png :align: center .. image:: images/ma-6.png :align: center 2 - Installer des plugins ------------------------- Magento vous offre la possibilité d'ajouter certaines fonctionnalités via des plugins qui peuvent être téléchargés et installés. Ces extensions peuvent être payantes ou gratuites. Rendez vous sur le site `Magento Connect `_ pour récupérer les extensions. Il vous faut récupérer la clé de l'extension. Puis depuis votre back office allez dans **System** -> **Magento Connect** -> **Magento Connect Manager**. Connectez vous avec les memes identifiants que ceux de votre compte administrateur du back office. .. image:: images/ma-7.png :align: center Copiez la clé de l'extension puis cliquez sur **Install** et validez l'installation. .. image:: images/ma-9.png :align: center Vous pouvez également opter pour l'upload d'un fichier d'extension préalablement récupéré. .. image:: images/ma-10.png :align: center L'extension est maintenant installée. 3 - Mettre à jour Magento --------------------------- **Mise à jour depuis l'interface** Vous pouvez facilement mettre à jour Magento depuis l'interface d'administration. Lorsqu'une nouvelle version stable est disponible une notification apparait dans l'interface. Nous vous recommandons de faire une sauvegarde de votre installation avant de lancer le processus de mise à jour. Lorsque vous êtes pret cliquez sur **"Mettre à jour"**. Pour des raisons de sécurité il est fortemment conseillé de tenir Magento à jour car les dernières versions corrigent des failles de sécurité qui peuvent compromettre votre CMS. **Mise à jour automatique** .. warning:: Ces manipulations nécessitent la modification de fichiers de configuration Depuis la version 3.7 Magento inclu une fonction de mise à jour automatique en cas de sortie d'une version mineure. Par exemple si vous utilisez une version 3.7.0 et que la version 3.7.1 le CMS se mettra à jour automatiquement. Pour les version majeurs (3.7 -> 3.8) alors il faut lancer la mise à jour manuellement. Pour activer les mises à jour majeures automatique il faut éditer le fichier **wp-config.php** comme ceci Magento """"""""""""""""""""""""""""" .. code-block:: define('WP_AUTO_UPDATE_CORE', true); Plugins """"""""""""""""""""""""""""" .. code-block:: add_filter( 'auto_update_plugin', '__return_true' ); Thèmes """"""""""""""""""""""""""""" .. code-block:: add_filter( 'auto_update_theme', '__return_true' ); Il suffit de remplacer la valeur 'true' par 'false' pour désactiver les mises à jour automatiques. 4 - Renforcer la sécurité ------------------------- **Garder une version à jour** Il est important de garder Magento ainsi que ses plugins à jour, la plupart des nouvelles versions incluant des patchs de sécurité. **Protéger son interface d'admin** L'interface d'administration doit être idéalement limitée aux seuls utilisateurs autorisés à s'y connecter et à modifier le CMS. Une méthode efficace est de n'autoriser que votre adresse IP publique à se acceder à l'interface. Pour récupérer votre adresse IP publique vous pouvez vous rendre sur https://ip.dri.fr/ Une fois cette information récupérée, créer dans le repertoire **/wp-admin/** un fichier **.htaccess**: Exemple de restriction sur IP sur wp-login.php """""""""""""""""""""""""""""""""""""""""""""" .. code-block:: apache order deny,allow Deny from all Allow from xx.xxx.xxx.xxx Autoriser une seule IP à acceder à wp-admin """"""""""""""""""""""""""""""""""""""""""" .. code-block:: apache order deny,allow Deny from all Allow from xx.xxx.xxx.xxx .. note:: Si vous souhaitez autoriser plusieurs IP il suffit de rajouter des lignes "Allow from..." .. warning:: Chez certains FAI l'IP vous ne disposerez pas d'une IP fixe, celle ci peut donc changer et vous bloquer l'accès à l'interface d'admin. Le plugin `Limit Login Attempts `_ vous permet de bloquer une adresse IP après plusieurs tentatives de connexion. Cela constitue une protection efficace contre les attaques de type "brute-force" **Changer l'utilisateur admin** La plupart des hackers vont tenter de se connecter en utilisant le login **admin** Il est préférable de choisir un autre nom d'utilisateur lors des étapes d'installation de Magento. **Choisir un mot de passe suffisamment complexe** Eviter les mots de passe génériques comme AZERTY, 123456. Utilisez un mot de passe complexe à base de chiffres, majuscules et caractères spéciaux. **Vérifier que votre poste est bien protégé** Si votre PC est infecté par un virus ou un malware un hacker peut avoir accès à vos fichiers Magento en local et donc vos identifiants. Il est donc important d'avoir un programme antivirus à jour.