Comment installer la plateforme eCommerce Cezerin sur Ubuntu 18.04 LTS

Cezerin est une plateforme de commerce électronique gratuite, open-source, basée sur React et Node.js, qui peut être utilisée pour créer une Progressive Web Apps. Il s’agit d’une application de commerce électronique à page unique avec un rendu convivial pour le référencement et côté serveur. Elle offre de nombreuses fonctionnalités telles que les catégories de produits, la gestion de l’inventaire et des stocks, le gestionnaire de fichiers, l’exportation de thèmes vers une archive zip, l’installation d’un thème à partir d’une archive zip, les passerelles de paiement, l’absence de mot de passe et bien d’autres encore.

Dans ce tutoriel, nous allons t’expliquer comment installer Cezerin sur Ubuntu 18.04 LTS.

Exigences

  • Un serveur fonctionnant sous Ubuntu 18.04.
  • Un mot de passe root est configuré sur ton serveur.
  • Une adresse IP statique 192.168.0.4 est configurée sur ton serveur.

Démarrage

Tout d’abord, tu dois mettre à jour ton serveur avec la dernière version. Tu peux le faire avec la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois que ton serveur est mis à jour, redémarre-le pour appliquer toutes les modifications :

Installe Node.js

Ensuite, tu devras installer la dernière version de Node.js sur ton serveur. Par défaut, la dernière version de Node.js n’est pas disponible dans le dépôt par défaut d’Ubuntu 18.04. Tu devras donc ajouter le dépôt Node.js à ton système.

Tu peux ajouter le dépôt Node.js avec la commande suivante :

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Une fois le dépôt ajouté, installe Node.js avec les autres paquets requis avec la commande suivante :

apt-get install nodejs build-essential -y

Ensuite, vérifie la version de Node.js avec la commande suivante :

node -v

Tu devrais voir le résultat suivant :

v12.5.0

Vérifie la version de NPM avec la commande suivante :

npm -v

Tu devrais voir le résultat suivant :

6.9.0

Une fois que tu as terminé, tu peux passer à l’installation de MongoDB.

Installer MongoDB

Par défaut, MongoDB n’est pas disponible dans le dépôt par défaut d’Ubuntu 18.04. Tu devras donc ajouter le référentiel MongoDB à ton système.

Tout d’abord, importe la clé GPG de MongoDB avec la commande suivante :

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Tu devrais voir le résultat suivant :

Executing: /tmp/apt-key-gpghome.noPsOh3sgA/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
gpg: key 68818C72E52529D4: public key "MongoDB 4.0 Release Signing Key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Ensuite, ajoute le référentiel MongoDB avec la commande suivante :

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Ensuite, mets à jour le référentiel et installe MongoDB avec la commande suivante :

apt-get update -y
apt-get install mongodb-org -y

Une fois que MongoDB a été installé, démarre le service MongoDB avec la commande suivante :

service mongod start

Tu peux aussi vérifier l’état de MongoDB avec la commande suivante :

service mongod status

Tu devrais voir la sortie suivante :

? mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-07-03 08:57:58 UTC; 7s ago
     Docs: https://docs.mongodb.org/manual
 Main PID: 14712 (mongod)
   CGroup: /system.slice/mongod.service
           ??14712 /usr/bin/mongod --config /etc/mongod.conf

Jul 03 08:57:58 ubuntu1804 systemd[1]: Started MongoDB Database Server

Une fois que tu as terminé, tu peux procéder à l’installation de Cezerin.

Installer Cezerin

Tout d’abord, tu dois télécharger la dernière version de Cezerin depuis le dépôt Github. Tu peux le télécharger avec la commande suivante :

cd /opt
git clone https://github.com/cezerin/cezerin.git

Ensuite, change le répertoire pour celui de Cezerin et installe toutes les dépendances requises avec la commande suivante :

cd /opt/cezerin
npm update node-sass
npm install --unsafe-perm --allow-root
npm run build
npm run setup

Une fois que toutes les dépendances requises ont été installées, démarre le serveur avec la commande suivante :

npm start

Une fois que le serveur a démarré avec succès, tu devrais voir la sortie suivante :

> [email protected] start /opt/cezerin
> concurrently npm:start-*

[start-api] 
[start-api] > [email protected] start-api /opt/cezerin
[start-api] > node -r esm src/api/server/index.js
[start-api] 
[start-store] 
[start-store] > [email protected] start-store /opt/cezerin
[start-store] > node -r esm dist/store/server/index.js
[start-store] 
[start-api] info: API running at http://localhost:3001
[start-api] info: MongoDB connected successfully
[start-store] info: Store running at http://localhost:3000

Cezerin est maintenant installé et fonctionne sur le port 3000. Maintenant, ouvre ton navigateur Web et tape l’URL http://192.168.0.4:3000. Tu seras redirigé vers le tableau de bord par défaut de Cezerin, comme indiqué sur la page suivante :

Plateforme eCommerce Cezerin

Configurer Nginx comme proxy inverse

Par défaut, Cezerin fonctionne sur le port 3000. Tu devras donc configurer Nginx comme un proxy inverse pour accéder à Cezerin en utilisant le port 80.

Pour ce faire, installe d’abord Nginx avec la commande suivante :

apt-get install nginx -y

Une fois que Nginx a été installé, crée un nouveau fichier d’hôte virtuel Nginx pour Cezerin avec la commande suivante :

nano /etc/nginx/sites-available/cezerin.conf

Ajoute les lignes suivantes :

upstream cezerin {
  server 127.0.0.1:3000 weight=100 max_fails=5 fail_timeout=5;
}

server {
  listen          80;
  server_name     192.168.0.4;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://cezerin/;
  }
}

Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, active l’hôte virtuel avec la commande suivante :

ln -s /etc/nginx/sites-available/cezerin.conf /etc/nginx/sites-enabled/

Ensuite, vérifie que Nginx n’a pas d’erreur de configuration avec la commande suivante :

nginx -t

Si tout va bien, tu devrais voir la sortie suivante :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Enfin, redémarre le service Nginx pour appliquer toutes les modifications que nous avons faites avec la commande suivante :

systemctl restart nginx

Crée un fichier de service Systemd pour Cezerin

Ensuite, tu devras créer un fichier de service systemd pour gérer le service Cezerin. Tu peux le faire avec la commande suivante :

nano /etc/systemd/system/cezerin.service

Ajoute les lignes suivantes :

[Unit]
Description=Cezerin Server

[Service]
ExecStart=/usr/bin/npm start
# Required on some systems
WorkingDirectory=/opt/cezerin
Restart=always
# Restart service after 10 seconds if node service crashes
RestartSec=10
# Output to syslog
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodejs-example

[Install]
WantedBy=multi-user.target

Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, recharge le fichier de configuration avec la commande suivante :

systemctl daemon-reload

Ensuite, démarre le service Cezerin et active-le pour qu’il démarre au moment du démarrage avec la commande suivante :

systemctl start cezerin
systemctl enable cezerin

Tu peux aussi vérifier l’état du service Cezerin avec la commande suivante :

systemctl status cezerin

Tu devrais voir le résultat suivant :

? cezerin.service - Cezerin Server
   Loaded: loaded (/etc/systemd/system/cezerin.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-07-03 09:51:29 UTC; 11s ago
 Main PID: 18516 (npm)
    Tasks: 43 (limit: 1114)
   CGroup: /system.slice/cezerin.service
           ??18516 npm
           ??18538 sh -c concurrently npm:start-*
           ??18541 node /opt/cezerin/node_modules/.bin/concurrently npm:start-*
           ??18550 /bin/sh -c npm run start-api
           ??18551 npm
           ??18557 /bin/sh -c npm run start-store
           ??18559 npm

Jul 03 09:51:29 ubuntu1804 systemd[1]: Stopped Cezerin Server.
Jul 03 09:51:29 ubuntu1804 systemd[1]: Started Cezerin Server.
Jul 03 09:51:33 ubuntu1804 nodejs-example[18516]: > [email protected] start /opt/cezerin
Jul 03 09:51:33 ubuntu1804 nodejs-example[18516]: > concurrently npm:start-*

C’est tout ! Tu peux maintenant accéder à l’interface web de Cezerin en utilisant l’URL http://192.168.0.4.

Conclusion

Félicitations ! Tu as réussi à installer et à configurer Cezerin sur le serveur Ubuntu 18.04. Tu peux maintenant facilement héberger ta propre boutique en ligne en utilisant Cezerin. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...