Cómo instalar la plataforma de comercio electrónico Cezerin en Ubuntu 18.04 LTS

Cezerin es una plataforma de comercio electrónico basada en React y Node.js, gratuita y de código abierto, que puede utilizarse para crear Aplicaciones Web Progresivas. Es una aplicación de comercio electrónico de una sola página con SEO amigable y renderizado del lado del servidor. Ofrece muchas funciones, como Categorías de productos, Gestión de inventario y existencias, Gestor de archivos, Exportación de temas a archivos zip, Instalación de un tema desde un archivo zip, Pasarelas de pago, Sin contraseña y muchas más.

En este tutorial, explicaremos cómo instalar Cezerin en Ubuntu 18.04 LTS.

Requisitos

  • Un servidor con Ubuntu 18.04.
  • Una contraseña de root configurada en tu servidor.
  • Una dirección IP estática 192.168.0.4 está configurada en tu servidor.

Cómo empezar

En primer lugar, tendrás que actualizar tu servidor con la última versión. Puedes hacerlo con el siguiente comando:

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

Una vez actualizado tu servidor, reinícialo para aplicar todos los cambios:

Instalar Node.js

A continuación, tendrás que instalar la última versión de Node.js en tu servidor. Por defecto, la última versión de Node.js no está disponible en el repositorio por defecto de Ubuntu 18.04. Por tanto, tendrás que añadir el repositorio de Node.js a tu sistema.

Puedes añadir el repositorio de Node.js con el siguiente comando:

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

Una vez añadido el repositorio, instala Node.js con otros paquetes necesarios con el siguiente comando:

apt-get install nodejs build-essential -y

A continuación, comprueba la versión de Node.js con el siguiente comando:

node -v

Deberías ver la siguiente salida:

v12.5.0

Comprueba la versión de NPM con el siguiente comando:

npm -v

Deberías ver la siguiente salida:

6.9.0

Una vez que hayas terminado, puedes proceder a instalar MongoDB.

Instalar MongoDB

Por defecto, MongoDB no está disponible en el repositorio por defecto de Ubuntu 18.04. Así que tendrás que añadir el repositorio de MongoDB a tu sistema.

Primero, importa la clave GPG de MongoDB con el siguiente comando:

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

Deberías ver la siguiente salida:

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

A continuación, añade el repositorio MongoDB con el siguiente comando:

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

A continuación, actualiza el repositorio e instala MongoDB con el siguiente comando:

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

Una vez instalado MongoDB, inicia el servicio MongoDB con el siguiente comando:

service mongod start

También puedes comprobar el estado de MongoDB con el siguiente comando:

service mongod status

Deberías ver la siguiente salida:

? 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

Una vez que hayas terminado, puedes proceder a instalar Cezerin.

Instalar Cezerin

En primer lugar, tendrás que descargar la última versión de Cezerin del repositorio de Github. Puedes descargarla con el siguiente comando:

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

A continuación, cambia el directorio a cezerin e instala todas las dependencias necesarias con el siguiente comando:

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

Una vez instaladas todas las dependencias necesarias, inicia el servidor con el siguiente comando:

npm start

Una vez que el servidor se haya iniciado correctamente, deberías ver la siguiente salida:

> [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á ahora instalado y ejecutándose en el puerto 3000. Ahora, abre tu navegador web y escribe la URL http://192.168.0.4:3000. Serás redirigido al panel de control por defecto de Cezerin, como se muestra en la siguiente página:

Plataforma de comercio electrónico Cezerin

Configurar Nginx como Proxy Inverso

Por defecto, Cezerin se ejecuta en el puerto 3000. Así que tendrás que configurar Nginx como proxy inverso para acceder a Cezerin utilizando el puerto 80.

Para ello, instala primero Nginx con el siguiente comando:

apt-get install nginx -y

Una vez instalado Nginx, crea un nuevo archivo de host virtual Nginx para Cezerin con el siguiente comando:

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

Añade las siguientes líneas:

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/;
  }
}

Guarda y cierra el archivo cuando hayas terminado. A continuación, habilita el host virtual con el siguiente comando:

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

A continuación, comprueba si Nginx tiene algún error de configuración con el siguiente comando:

nginx -t

Si todo va bien, deberías ver la siguiente salida:

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

Por último, reinicia el servicio Nginx para aplicar todos los cambios que hemos realizado con el siguiente comando:

systemctl restart nginx

Crear un archivo de servicio Systemd para Cezerin

A continuación, tendrás que crear un archivo de servicio systemd para gestionar el servicio Cezerin. Puedes hacerlo con el siguiente comando:

nano /etc/systemd/system/cezerin.service

Añade las siguientes líneas:

[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

Guarda y cierra el archivo cuando hayas terminado. A continuación, vuelve a cargar el archivo de configuración con el siguiente comando:

systemctl daemon-reload

A continuación, inicia el servicio Cezerin y habilítalo para que se inicie al arrancar con el siguiente comando:

systemctl start cezerin
 systemctl enable cezerin

También puedes comprobar el estado del servicio Cezerin con el siguiente comando:

systemctl status cezerin

Deberías ver la siguiente salida:

? 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-*

Ya puedes acceder a la interfaz web de Cezerin utilizando la URL http://192.168.0.4.

Conclusión

Enhorabuena! has instalado y configurado con éxito Cezerin en el servidor Ubuntu 18.04. Ahora puedes alojar fácilmente tu propia tienda online utilizando Cezerin. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...