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:
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.