Comment installer et configurer Magento sur Ubuntu 14.04
Vous n'utilisez pas Ubuntu 14.04 ?Choisissez une autre version ou distribution.
Introduction
Magento est le système de gestion de contenu le plus populaire pour les sites de commerce électronique. Il est utilisé à la fois par les petites entreprises et les grandes entreprises, et peut être amélioré par des milliers d'extensions et de thèmes. Magento utilise le système de base de données MySQL, le langage de programmation PHP et des parties du Zend Framework.
Dans ce tutoriel, nous allons expliquer comment installer Magento avec un serveur web Apache sur Ubuntu 14.04, en incluant certaines configurations courantes de performance et de sécurité.
Prérequis
Avant de commencer avec ce guide, il y a quelques étapes qui doivent être complétées en premier.
En raison des exigences liées au traitement des opérations Magento, il est recommandé d’installer Magento sur un VPS avec au moins 2 Go de RAM. Cela garantira que tous les logiciels impliqués dans la gestion de la boutique disposeront de suffisamment de mémoire pour fonctionner.
Vous aurez besoin d'un accès à un utilisateur non-root qui dispose des privilèges sudo. Si vous ne l'avez pas encore fait, vous pouvez suivre le guide de configuration initiale du serveur Ubuntu 14.04 pour créer ce compte.
De plus, vous devrez avoir une pile LAMP (Linux, Apache, MySQL et PHP) installée sur votre instance VPS. Si vous n'avez pas encore ces composants installés et configurés, vous pouvez utiliser ce guide pour apprendre comment installer LAMP sur Ubuntu 14.04.
Lorsque vous avez terminé ces étapes, vous pouvez vous connecter à votre serveur Ubuntu en tant qu'utilisateur non root et continuer avec votre installation de Magento.
Étape 1 — Configurer Apache et PHP
Avant de télécharger et d’installer Magento, Apache et PHP doivent être configurés pour gérer correctement le trafic et les tâches de calcul de Magento, et certains modules supplémentaires devront être installés et activés.
Hôte virtuel Apache
Tout d'abord, nous devons configurer un fichier d'hôte virtuel afin qu'Apache sache comment gérer correctement notre site Magento. Nous pouvons utiliser notre éditeur de texte pour créer un nouveau fichier d'hôte virtuel dans /etc/apache2/sites-available/. Dans cet exemple, l'hôte virtuel est appelé magento, mais vous pouvez lui donner un autre nom si vous le souhaitez.
sudo nano /etc/apache2/sites-available/magento.confLes besoins en hôte virtuel de Magento sont assez simples. Commencez par une balise <VirtualHost> qui écoute tout le trafic provenant du port 80, le port HTTP standard. Ensuite, ajoutez une ligne indiquant à Apache où trouver les fichiers de votre site avec la directive DocumentRoot :
<VirtualHost *:80>
DocumentRoot /var/www/html
</VirtualHost>Nous devons ajouter quelques paramètres supplémentaires pour que Magento fonctionne correctement. À l'intérieur d'une balise <Directory> pointant vers notre racine de documents, nous entrerons les options pour l'indexation des répertoires d'Apache, le support des liens symboliques et le support multilingue. Nous ajouterons également une ligne qui permet aux fichiers .htaccess de remplacer les paramètres d'Apache, ce qui offre un contrôle plus précis des dossiers individuels.
. . .
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
. . .Avec tous ces composants en place, votre fichier d'hôte virtuel ressemblera à ceci :
<VirtualHost *:80>
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>Lorsque vous avez terminé de rédiger le bloc de serveur, enregistrez et fermez le fichier. Pour activer le nouveau site avec Apache, utilisez la commande a2ensite :
sudo a2ensite magento.confNous voulons également désactiver l'hôte virtuel par défaut fourni avec Apache, car il entrera en conflit avec notre nouvel hôte virtuel. Pour désactiver un site avec Apache, utilisez la commande a2dissite :
sudo a2dissite 000-default.confParamètres PHP
Ensuite, nous devons modifier la quantité de mémoire qu'Apache attribue aux processus PHP. Magento utilise PHP pour presque tout ce qu'il fait et a besoin d'une quantité décente de mémoire pour des opérations complexes comme l'indexation des produits et des catégories. Par défaut, PHP alloue un maximum de 128 Mo de mémoire à chaque script exécuté sur Apache. Nous devrions augmenter cette limite à un montant raisonnable pour garantir qu'aucun des scripts de Magento ne manque de mémoire, ce qui provoquerait l'arrêt du script.
Ouvrez le fichier de configuration PHP d'Apache avec votre éditeur de texte et les privilèges root :
sudo nano /etc/php5/apache2/php.iniTrouvez la ligne suivante, qui déclare la limite de mémoire par script PHP :
memory_limit = 128MChangez cette ligne afin que la limite soit portée à 512 Mo. Les besoins en mémoire de votre boutique peuvent être plus élevés selon le nombre de produits dans votre catalogue et le nombre de visiteurs que vous recevez quotidiennement. Certaines boutiques plus grandes doivent définir leur limite de mémoire à 2 Go ou plus, mais 512 Mo devraient être suffisants pour l'instant.
memory_limit = 512MRemarque : Assurez-vous d'utiliser « M » à la fin du numéro de mémoire.
Lorsque vous aurez terminé de faire cette modification, enregistrez et fermez le fichier. La prochaine fois que vous redémarrerez Apache, la modification de la limite de mémoire prendra effet.
Magento a besoin de quelques modules PHP en plus de ceux fournis avec PHP. Nous pouvons les obtenir directement à partir des dépôts par défaut d'Ubuntu après avoir mis à jour notre index de paquets local :
sudo apt-get update
sudo apt-get install libcurl3 php5-curl php5-gd php5-mcryptCes extensions permettront à Magento de gérer correctement les requêtes HTTP, les vignettes d'images et le chiffrement des données. Maintenant que nous avons tous les packages dont nous avons besoin, nous pouvons activer le support de la réécriture d'URL pour Apache et le support du chiffrement pour PHP :
sudo a2enmod rewrite
sudo php5enmod mcryptUne fois que toutes ces modifications de configuration et d'extension ont été effectuées, il est temps de redémarrer l'instance du serveur Apache afin que les modifications soient appliquées :
sudo service apache2 restartÉtape 2 — Créer une base de données et un utilisateur MySQL
Magento utilise une base de données MySQL pour gérer les données du site, comme les informations sur les produits et les commandes. Nous avons MySQL installé et configuré, mais nous devons créer une base de données et un utilisateur pour que Magento puisse fonctionner.
Commencez par vous connecter au compte root de MySQL :
mysql -u root -pVous serez invité à entrer le mot de passe du compte root de MySQL, que vous avez défini lors de l'installation de MySQL. Une fois le mot de passe correct soumis, un invite de commande MySQL vous sera donné.
Tout d'abord, nous allons créer une base de données dans laquelle Magento peut écrire des données. Dans cet exemple, la base de données sera appelée magento, mais vous pouvez lui donner le nom que vous préférez.
CREATE DATABASE magento;Remarque : Chaque instruction MySQL doit se terminer par un point-virgule (;), alors assurez-vous de l'avoir inclus si vous rencontrez des problèmes.
Ensuite, nous allons créer un nouveau compte utilisateur MySQL qui sera utilisé exclusivement pour opérer sur la nouvelle base de données. Créer des bases de données et des comptes à fonction unique est une bonne idée, car cela permet un meilleur contrôle des permissions et des autres besoins en matière de sécurité.
Je vais appeler le nouveau compte magento_user et lui attribuer un mot de passe password. Vous devriez absolument utiliser un nom d'utilisateur et un mot de passe différents, car ces exemples ne sont pas très sécurisés.
CREATE USER magento_user@localhost IDENTIFIED BY 'password';À ce stade, vous disposez d'une base de données et d'un compte utilisateur qui sont chacun spécifiquement créés pour Magento. Cependant, l'utilisateur n'a aucun droit d'accès à la base de données. Nous devons relier les deux composants en accordant à notre utilisateur des privilèges d'accès à la base de données :
GRANT ALL PRIVILEGES ON magento.* TO magento_user@localhost IDENTIFIED BY 'password';Maintenant que l'utilisateur a accès à la base de données, nous devons actualiser les privilèges afin que MySQL soit au courant des récents changements de privilèges que nous avons effectués. Une fois que cela est fait, nous pouvons quitter l'invite de commandes MySQL.
FLUSH PRIVILEGES;
exitVous devriez maintenant être revenu à votre invite de commande SSH habituelle.
Étape 3 — Télécharger et configurer les fichiers Magento
Nous sommes maintenant prêts à télécharger et installer Magento. Pour voir quelle est la dernière version stable de Magento Community Edition, rendez-vous sur la page de téléchargement de la communauté. Dans cet exemple, le numéro de version actuel était 1.9.0.1, mais vous devriez remplacer ce numéro par la dernière version disponible pour vous. Il est toujours recommandé d'utiliser la dernière version de Magento, car les nouvelles versions incluent souvent des mises à jour de sécurité importantes ainsi que des fonctionnalités nouvelles et améliorées.
Utilisez wget pour télécharger l'archive de fichiers Magento dans votre répertoire personnel :
cd ~
wget http://www.magentocommerce.com/downloads/assets/1.9.0.1/magento-1.9.0.1.tar.gzNous pouvons extraire les fichiers archivés pour reconstruire le répertoire Magento avec tar :
tar xzvf magento-1.9.0.1.tar.gzVous aurez maintenant un répertoire appelé magento dans votre répertoire personnel. Nous devrons déplacer les fichiers décompressés vers la racine des documents d'Apache, où ils pourront être servis aux visiteurs de notre site web. Nous utiliserons rsync pour transférer nos fichiers Magento, car rsync inclura des fichiers cachés importants comme .htaccess. Une fois le transfert terminé, nous pourrons nettoyer notre répertoire personnel en supprimant le dossier magento et l’archive qu’il contient.
sudo rsync -avP ~/magento/. /var/www/html/
rm -rf ~/magento*rsync copiera en toute sécurité tout le contenu du répertoire que vous avez décompressé vers la racine des documents à /var/www/html/. Nous devons maintenant attribuer la propriété des fichiers et des dossiers à l’utilisateur et au groupe d’Apache :
sudo chown -R www-data:www-data /var/www/html/Ce changement permettra à Apache de créer et de modifier les fichiers Magento. Nous sommes maintenant prêts à compléter le processus d'installation via l'interface de configuration de Magento basée sur le navigateur.
Étape 4 — Compléter l'installation via l'interface web
Pour accéder à l'interface web avec votre navigateur, accédez au nom de domaine de votre serveur ou à son adresse IP publique :
http://server_domain_name_or_IP/Si les étapes précédentes ont été suivies correctement, l'assistant d'installation de Magento s'affichera. La première page affichera le contrat de licence, que vous devrez accepter avant de pouvoir cliquer sur Continuer.
La page suivante est celle où vous pouvez modifier vos paramètres de région, comme la langue, le fuseau horaire et la devise. Modifiez-les selon les paramètres les plus appropriés à l'endroit où vos produits sont vendus, puis cliquez sur Continuer.
La page de configuration est divisée en trois sections. La première section est l'endroit où vous pouvez configurer la manière dont Magento se connecte à sa base de données MySQL. Assurez-vous que Type de base de données est défini sur “MySQL” et que Hôte est défini sur “localhost”. Vous devrez ensuite remplir Nom de la base de données, Nom d'utilisateur et Mot de passe utilisateur avec les paramètres que vous avez définis lors de la création de la base de données MySQL et du compte utilisateur précédemment.
La section suivante de la page de Configuration est l’endroit où vous pouvez configurer l’URL de votre boutique, ainsi que quelques autres fonctions contrôlées par Apache. Assurez-vous que URL de base correspond au nom de domaine de votre serveur ; si vous n’avez pas encore configuré de nom de domaine, vous pouvez pour l’instant utiliser l’adresse IP publique de votre serveur. Il est conseillé de changer le Chemin d’administration en quelque chose de moins évident que « admin » afin de rendre plus difficile l’accès à votre panneau d’administration. Vous devriez également envisager de cocher Utiliser les réécritures du serveur Web (Apache) pour rendre les URL de votre site plus conviviales pour les utilisateurs et les moteurs de recherche. Le module Apache nécessaire pour prendre en charge cette fonctionnalité, mod_rewrite, a déjà été activé et est prêt à être utilisé.
La dernière partie de la page de Configuration sert à sélectionner la méthode de stockage des données de session. Magento propose deux méthodes pour enregistrer les données de session utilisateur. La méthode Système de fichiers stocke les sessions dans des fichiers sur le serveur et est la méthode la plus simple pour commencer. La méthode Base de données stocke les sessions sous forme d'entrées dans la base de données MySQL et est idéale pour les installations Magento réparties sur plusieurs serveurs. Pour l'instant, nous pouvons rester avec la méthode Système de fichiers, car elle offrira généralement de meilleures performances dès le départ.
Après avoir sélectionné vos options de configuration et cliqué sur Continuer, vous passerez à la page de création du compte administrateur. C'est ici que vous créerez le compte administratif chargé de gérer la boutique Magento. Assurez-vous que le nom d'utilisateur et le mot de passe soient sécurisés et difficiles à deviner. Le champ Clé de chiffrement doit rester vide sauf si vous migrez des données depuis une installation Magento existante. Si vous laissez le champ vide, Magento générera une nouvelle clé de chiffrement lorsque vous cliquerez sur Continuer et l'affichera sur la page suivante. Assurez-vous de sauvegarder cette clé de chiffrement dans un endroit sûr au cas où vous en auriez besoin pour la migration ultérieure.
Une fois que vous avez terminé la configuration basée sur le web, votre installation Magento sera prête à l'emploi. Découvrez votre nouvelle vitrine en visitant le nom de domaine de votre serveur ou son adresse IP publique dans votre navigateur web :
http://server_domain_name_or_IP/Si tout était configuré correctement, vous devriez voir une vitrine qui ressemble à ceci :
Vous pouvez également visiter votre nouveau site d'administration en allant dans le répertoire admin que vous avez défini précédemment :
http://server_domain_name_or_IP/admin/Connectez-vous avec votre nom d'utilisateur et votre mot de passe administrateur pour voir votre nouveau tableau de bord :
Conclusion
Maintenant que votre boutique Magento est opérationnelle, vous êtes prêt à commencer à créer votre catalogue de projets et à commencer à vendre !
Une étape cruciale suivante consiste à chiffrer le trafic de votre site avec un certificat SSL. Voici un guide pour vous aider à commencer : Comment installer un certificat SSL depuis une autorité de certification commerciale.








