Cezerin es una plataforma de comercio electrónico gratuita, de código abierto, basada en React y Node.js que se puede utilizar para crear aplicaciones web progresivas. Es una aplicación de comercio electrónico de una sola página con renderizado del lado del servidor y compatible con SEO. Proporciona muchas funciones, como categorías de productos, gestión de inventario y existencias, administrador de archivos, exportar temas a un archivo zip, instalar 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.
- Se ha configurado una contraseña de root en su servidor.
- Una dirección IP estática 192.168.0.4 está configurada en su servidor
Cómo empezar
Primero, deberá actualizar su servidor con la última versión. Puedes hacerlo con el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez que su servidor esté actualizado, reinícielo para aplicar todos los cambios:
Instalar Node.js
A continuación, deberá instalar la última versión de Node.js en su servidor. De forma predeterminada, la última versión de Node.js no está disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, deberá agregar el repositorio Node.js a su sistema.
Puede agregar el repositorio de Node.js con el siguiente comando:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Una vez que se agrega el repositorio, instale Node.js con otro paquete requerido con el siguiente comando:
apt-get install nodejs build-essential -y
A continuación, verifique la versión de Node.js con el siguiente comando:
node -v
Debería ver el siguiente resultado:
v12.5.0
Verifique la versión de NPM con el siguiente comando:
npm -v
Debería ver el siguiente resultado:
6.9.0
Una vez que haya terminado, puede proceder a instalar MongoDB.
Instalar MongoDB
De forma predeterminada, MongoDB no está disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, deberá agregar el repositorio MongoDB a su sistema.
Primero, importe la clave GPG de MongoDB con el siguiente comando:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Debería ver el siguiente resultado:
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, agregue el repositorio de 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, actualice el repositorio e instale MongoDB con el siguiente comando:
apt-get update -y
apt-get install mongodb-org -y
Una vez que se haya instalado MongoDB, inicie el servicio MongoDB con el siguiente comando:
service mongod start
También puede verificar el estado de MongoDB con el siguiente comando:
service mongod status
Debería ver el siguiente resultado:
? 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 haya terminado, puede proceder a instalar Cezerin.
Instalar Cezerin
Primero, deberá descargar la última versión de Cezerin del repositorio de Github. Puedes descargarlo con el siguiente comando:
cd /opt
git clone https://github.com/cezerin/cezerin.git
Luego, cambie el directorio a cezerin e instale todas las dependencias requeridas 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 que se hayan instalado todas las dependencias requeridas, inicie el servidor con el siguiente comando:
npm start
Una vez que el servidor se inició correctamente, debería ver el siguiente resultado:
> [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 ahora está instalado y ejecutándose en el puerto 3000. Ahora, abra su navegador web y escriba la URL http://192.168.0.4:3000 . Será redirigido al panel predeterminado de Cezerin como se muestra en la siguiente página:
Configurar Nginx como proxy inverso
De forma predeterminada, Cezerin se ejecuta en el puerto 3000. Por lo tanto, deberá configurar Nginx como proxy inverso para acceder a Cezerin mediante el puerto 80.
Para hacerlo, primero instale Nginx con el siguiente comando:
apt-get install nginx -y
Una vez que se haya instalado Nginx, cree un nuevo archivo de host virtual de Nginx para Cezerin con el siguiente comando:
nano /etc/nginx/sites-available/cezerin.conf
Agregue 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/; } }
Guarde y cierre el archivo cuando haya terminado. Luego, habilite el host virtual con el siguiente comando:
ln -s /etc/nginx/sites-available/cezerin.conf /etc/nginx/sites-enabled/
A continuación, compruebe si hay algún error de configuración en Nginx con el siguiente comando:
nginx -t
Si todo está bien, debería ver el siguiente resultado:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Finalmente reiniciamos el servicio Nginx para aplicar todos los cambios que hemos realizado con el siguiente comando:
systemctl restart nginx
Crear un archivo de servicio de Systemd para Cezerin
A continuación, deberá crear un archivo de servicio systemd para administrar el servicio Cezerin. Puedes hacer esto con el siguiente comando:
nano /etc/systemd/system/cezerin.service
Agregue 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
Guarde y cierre el archivo cuando haya terminado. Luego, vuelva a cargar el archivo de configuración con el siguiente comando:
systemctl daemon-reload
A continuación, inicie el servicio Cezerin y habilítelo para que se inicie en el momento del arranque con el siguiente comando:
systemctl start cezerin
systemctl enable cezerin
También puede verificar el estado del servicio de Cezerin con el siguiente comando:
systemctl status cezerin
Debería ver el siguiente resultado:
? 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-*
¡Eso es todo! ahora puede acceder a su interfaz web de Cezerin utilizando la URL http://192.168.0.4 .
Conclusión
¡Felicidades! ha instalado y configurado con éxito Cezerin en el servidor Ubuntu 18.04. Ahora puede alojar fácilmente su propia tienda en línea usando Cezerin. Siéntase libre de preguntarme si tiene alguna pregunta.