OpenCart est un logiciel de commerce électronique open source gratuit basé sur PHP et MySQL. OpenCart vous permet de configurer et de gérer votre propre boutique en ligne à un coût minime. Le logiciel convient aux petites et moyennes entreprises en ligne, il est facile à installer et de nombreux modules complémentaires et extensions sont disponibles. OpenCart est livré avec des traductions dans de nombreuses langues et prend en charge plusieurs devises.
Ce tutoriel couvre l'installation d'OpenCart avec Nginx, PHP-fpm et MariaDB sur Ubuntu 15.10.
Prérequis
- Ubuntu 15.10 - 64 bits
- Privilèges racine
Étape 1 - Installer Nginx
Nous utiliserons nginx comme serveur Web, c'est un serveur Web léger qui est rapide et a une petite empreinte mémoire. Installez nginx avec la commande apt depuis les dépôts Ubuntu :
sudo apt-get install nginx
Vérifiez maintenant Nginx avec curl ou en visitant l'IP de votre serveur avec le navigateur comme firefox etc.
curl -I 192.168.1.101
Vous devriez voir la page Ubuntu par défaut.
Étape 2 - Installer et configurer PHP-FPM
Dans cette étape, je vais installer en tant que version php-fpm, php-fpm (FastCGI Process Manager) est une alternative moderne au mode PHP FastCGI classique. Nous allons installer php-fpm avec certains modules php requis par OpenCart.
- php-mysql
- php-gd
- php-curl
- php-mcrypt
Installez PHP-FPM et l'extension PHP avec la seule commande apt ci-dessous :
sudo apt-get install php5 php5-fpm php5-mysql php5-curl php5-gd php5-mcrypt
Lorsque les packages sont installés, allez dans le répertoire de configuration de php-fpm et modifiez le 'php.ini ' fichier avec vim.
cd /etc/php5/fpm
vim php.ini
Décommentez la ligne 773 et changez la valeur en '0' :
cgi.fix_pathinfo=0
Enregistrez le fichier et quittez.
Nous devons maintenant activer le module mcrypt, qui est requis par OpenCart. Allez dans le répertoire php-fpm conf.d et créez un lien symbolique pour le fichier .ini.
cd /etc/php5/fpm/conf.d/
ln -s ../../mods-available/mcrypt.ini mcrypt.ini
Le module mcrypt est activé, redémarrez maintenant php-fpm et nginx pour appliquer les changements :
systemctl redémarrer nginx
systemctl redémarrer php5-fpm
Nous devons maintenant vérifier que php-fpm et Nginx fonctionnent correctement. Modifiez la configuration par défaut de l'hôte virtuel nginx pour activer l'emplacement php et créez un fichier phpinfo dans le répertoire racine du Web.
cd /etc/nginx/sites-available/
vim par défaut
Décommentez la directive php-fpm :
location ~ \.php$ {
include snippets/fastcgi-php.conf ;
#
# # Avec php5-cgi seul :
# fastcgi_pass 127.0.0.1 :9000 ;
# # Avec php5-fpm :
fastcgi_pass unix :/var/run/php5-fpm.sock ;
}
Enregistrez le fichier et quittez.
Allez dans le répertoire '/var/www/html/' et ajoutez un fichier phpinfo.
cd /var/www/html/
echo ""> info.phpAccédez à l'adresse IP du serveur (dans mon cas, l'adresse IP 192.168.1.103) :http://
http:// 192.168.1.103/info.php.
Nginx et PHP-FPM sont correctement configurés.
Étape 3 - Installer et configurer MariaDB
MariaDB est un fork du serveur de base de données MySQL. Je préfère MariaDB à MySQL, mais c'est à vous de choisir le serveur de base de données que vous utilisez dans cette étape. Installez MariaDB avec la commande apt :
sudo apt-get install mariadb-server mariadb-clientConfigurez ensuite le mot de passe root MariaDB / MySQL avec le 'mysql_secure_installation ' commande :
mysql_secure_installationDéfinir le mot de passe root ? [O/n] O
Supprimer les utilisateurs anonymes ? [O/n] O
Interdire la connexion root à distance ? [O/n] O
Supprimer la base de données de test et y accéder ? [O/n] O
Recharger les tables de privilèges maintenant ? [O/n] OL'utilisateur root et le mot de passe MariaDB ont été configurés. Nous devons maintenant créer une nouvelle base de données et un nouvel utilisateur pour notre installation OpenCart. Connectez-vous au shell mysql/mariadb pour tout créer.
Connectez-vous au shell MySQL/MariaDB pour créer la base de données et l'utilisateur.
mysql -u root -p
TAPEZ VOTRE MOT DE PASSE
créez une base de données opencartdb ;
créez un utilisateur [email protected] identifié par '[email protected]' ;
accorder tous les privilèges sur opencartdb.* à [email protected] identifié par '[email protected]' ;
vider les privilèges ;
La base de données MySQL est créée, nous avons une nouvelle base de données nommée 'opencartdb' et un utilisateur avec le nom 'opencartuser' et le mot de passe '[email protected]'. Nous avons besoin de connaître ces détails pour l'installation d'OpenCart plus tard. Veuillez utiliser un mot de passe plus sécurisé pour votre installation.
Étape 4 - Installer SSL
Assurez-vous qu'OpenSSL est installé sur votre serveur.
sudo apt-get install opensslCréez un nouveau répertoire pour le certificat SSL et générez le certificat avec OpenSSL.
mkdir -p /etc/nginx/ssl
cd /etc/nginx/sslGénérez le certificat et le fichier de clé :
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/opencart.key -out /etc/nginx/ssl/opencart.crtModifiez l'autorisation de la clé privée à 600 :
chmod 600 opencart.keyL'installation du certificat SSL est terminée.
Étape 5 - Configurer le VirtualHost pour OpenCart
Créez un nouveau fichier de configuration d'hôte virtuel pour OpenCart dans le répertoire "sites-available" de Nginx. Accédez au répertoire de l'hôte virtuel Nginx et créez une nouvelle configuration avec vim :
cd /etc/nginx/sites-available/
vim opencartCollez la configuration ci-dessous :
serveur {
nom_serveur www.myopencart.co ; ## Votre domaine
racine /var/www/opencart/upload ; ## Répertoire racine Web
index index.php index.html ;
listen 80 ;
listen [::]:80 ;
listen 443 default ssl ;
ssl_certificate /etc/nginx/ssl/opencart.crt ;
ssl_certificate_key /etc/nginx/ssl/opencart.key ;
# Rediriger HTTP vers HTTPS
if ($scheme =http) {
return 301 https://$server_name$request_uri;
}
access_log /var/log/nginx/myopencart_access.log ;
emplacement /image/données {
indexation automatique activée ;
}
emplacement /admin {
index index.php ;
}
}
emplacement / {
try_files $uri @opencart ;
}
emplacement @opencart {
réécrire ^/(.+)$ /index.php?_route_=$1 dernier ;
}
# Assurez-vous que les fichiers avec les extensions suivantes ne sont pas chargés par nginx car nginx afficherait le code source, et ces fichiers peuvent contenir des MOTS DE PASSE !
location ~* \ .(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.* |Repository|Root|Tag|Template)$|\.php_ {
deny all ;
}
# Refuser toutes les tentatives d'accès aux fichiers cachés tels que .htaccess, .htpasswd, .DS_Store ( Mac).
emplacement ~ /\. {
tout refuser ;
access_log off ;
log_not_found off ;
}
emplacement ~* \.(jpg|jpeg|png|gif|css|js|ico )$ {
expire max ;
log_not_found off ;
}
location ~ \.php$ {
try_files $uri =404 ;
fastcgi_pass unix :/var/run/php5-fpm.sock ;
fastcgi_index index.php ;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ;
inclure fastcgi_params ;
}
}Remplacez le nom de domaine dans la ligne server_name par votre propre nom de domaine.
Enregistrez le fichier et quittez.
Activez le nouvel hôte virtuel avec un lien symbolique vers le fichier 'opencart' dans le répertoire 'sites-enabled' et vérifiez la syntaxe de configuration Nginx avec la commande "nginx -t".
ln -s /etc/nginx/sites-available/opencart /etc/nginx/sites-enabled/
nginx -t
Étape 6 - Installer et configurer OpenCart
Nous utilisons le répertoire '/var/www/' pour l'installation d'OpenCart. Allez dans le répertoire '/var/www/', téléchargez OpenCart et extrayez l'archive .zip téléchargée.
Vous pouvez télécharger opencart à partir d'ici :http://www.opencart.com/?route=download/download.
cd /var/www/
décompressez opencart-2.1.0.1.zipRenommez le répertoire en opencart, puis accédez au répertoire de téléchargement.
mv opencart-opencart-2.1.0.1/ opencart/
cd opencart/upload/Copiez les fichiers config-dist dans les répertoires upload et admin :
cp config-dist.php config.php
cp admin/config-dist.php admin/config.phpEt de retour au répertoire '/var/www/', changez le propriétaire des fichiers et répertoires OpenCart en utilisateur 'www-data '.
cd /var/www/
chown -R www-data:www-data opencart/Remarque :Nous exécutons nginx en tant qu'utilisateur et groupe www-data. Si vous exécutez nginx en tant que votre propre utilisateur ou utilisateur Nginx, remplacez le propriétaire par votre propre nom et groupe.
Redémarrez nginx et php-fpm pour vous assurer que nous n'avons pas d'erreur sur la configuration que nous avons configuré :
systemctl redémarrer nginx
systemctl redémarrer php5-fpmMaintenant, ouvrez votre navigateur Web et entrez votre domaine opencart dans la barre d'adresse, mon nom de domaine dans cet exemple est : www.myopencart.co .
Le programme d'installation vous montrera le "Contrat de licence " Lisez-le et cliquez sur "Continuer ".
Le programme d'installation vérifie maintenant la configuration de votre serveur, assurez-vous que tous les champs d'état sont "Vert " puis cliquez sur "Continuer ".
Le programme d'installation affichera la configuration de la base de données et du compte administrateur. Remplissez les détails de la base de données que nous avons créée précédemment et choisissez un nom d'utilisateur et un mot de passe d'administrateur, puis cliquez sur "Continuer ".
L'installation d'OpenCart est terminée, vous pouvez visiter le domaine de votre boutique en ligne (dans mon cas www.myopencart.co) et vous connecter au backend OpenCart.
N'oubliez pas de supprimer le répertoire d'installation sur le serveur .
cd /var/www/opencart/upload/
rm -rf install/Opencart avec Nginx et php-fpm est installé et fonctionne
Conclusion
Opencart est une application Web écrite en PHP pour créer des magasins en ligne. Il convient aux magasins en ligne de petite et moyenne taille. Opencart peut être installé avec des serveurs Web Apache ou Nginx (avec php-fpm), ce tutoriel a couvert l'installation d'OpenCart avec la base de données nginx, php-fpm et MariaDB (un fork de MySQL). Le processus d'installation est simple, il vous suffit de vous assurer que votre serveur est prêt pour OpenCart comme nous l'avons fait dans le premier chapitre de ce tutoriel.