Cezerin adalah platform eCommerce gratis, open-source, React dan Node.js yang dapat digunakan untuk membuat Progressive Web Apps. Ini adalah aplikasi e-commerce satu halaman dengan SEO friendly dan rendering sisi server. Ini menyediakan banyak fitur seperti kategori Produk, Inventaris dan manajemen stok, Manajer file, Ekspor tema ke arsip zip, Instal tema dari arsip zip, Gateway Pembayaran, Tanpa Kata Sandi, dan banyak lagi.
Dalam tutorial ini, kami akan menjelaskan cara menginstal Cezerin di Ubuntu 18.04 LTS.
Persyaratan
- Server yang menjalankan Ubuntu 18.04.
- Kata sandi root telah disiapkan di server Anda.
- Alamat IP statis 192.168.0.4 dikonfigurasi di server Anda
Memulai
Pertama, Anda perlu memperbarui server Anda dengan versi terbaru. Anda dapat melakukannya dengan perintah berikut:
apt-get update -y
apt-get upgrade -y
Setelah server Anda diperbarui, mulai ulang untuk menerapkan semua perubahan:
Instal Node.js
Selanjutnya, Anda perlu menginstal versi terbaru Node.js ke server Anda. Secara default, versi terbaru Node.js tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan repositori Node.js ke sistem Anda.
Anda dapat menambahkan repositori Node.js dengan perintah berikut:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Setelah repositori ditambahkan, instal Node.js dengan paket lain yang diperlukan dengan perintah berikut:
apt-get install nodejs build-essential -y
Selanjutnya, periksa versi Node.js dengan perintah berikut:
node -v
Anda akan melihat output berikut:
v12.5.0
Periksa versi NPM dengan perintah berikut:
npm -v
Anda akan melihat output berikut:
6.9.0
Setelah selesai, Anda dapat melanjutkan untuk menginstal MongoDB.
Instal MongoDB
Secara default, MongoDB tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan repositori MongoDB ke sistem Anda.
Pertama, impor kunci GPG MongoDB dengan perintah berikut:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Anda akan melihat output berikut:
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
Selanjutnya, tambahkan repositori MongoDB dengan perintah berikut:
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
Selanjutnya, perbarui repositori dan instal MongoDB dengan perintah berikut:
apt-get update -y
apt-get install mongodb-org -y
Setelah MongoDB diinstal, mulai layanan MongoDB dengan perintah berikut:
service mongod start
Anda juga dapat memeriksa status MongoDB dengan perintah berikut:
service mongod status
Anda akan melihat output berikut:
? 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
Setelah selesai, Anda dapat melanjutkan untuk menginstal Cezerin.
Instal Cezerin
Pertama, Anda perlu mengunduh Cezerin versi terbaru dari repositori Github. Anda dapat mengunduhnya dengan perintah berikut:
cd /opt
git clone https://github.com/cezerin/cezerin.git
Selanjutnya, ubah direktori ke cezerin dan instal semua dependensi yang diperlukan dengan perintah berikut:
cd /opt/cezerin
npm update node-sass
npm install --unsafe-perm --allow-root
npm run build
npm run setup
Setelah semua dependensi yang diperlukan telah diinstal, mulai server dengan perintah berikut:
npm start
Setelah server berhasil dimulai, Anda akan melihat output berikut:
> [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 sekarang diinstal dan berjalan pada port 3000. Sekarang, buka browser web Anda dan ketik URL http://192.168.0.4:3000 . Anda akan diarahkan ke dasbor default Cezerin seperti yang ditunjukkan pada halaman berikut:
Konfigurasikan Nginx sebagai Proxy Terbalik
Secara default, Cezerin berjalan pada port 3000. Jadi, Anda perlu mengonfigurasi Nginx sebagai proxy terbalik untuk mengakses Cezerin menggunakan port 80.
Untuk melakukannya, pertama instal Nginx dengan perintah berikut:
apt-get install nginx -y
Setelah Nginx diinstal, buat file host virtual Nginx baru untuk Cezerin dengan perintah berikut:
nano /etc/nginx/sites-available/cezerin.conf
Tambahkan baris berikut:
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/; } }
Simpan dan tutup file, ketika Anda selesai. Kemudian, aktifkan Virtual host dengan perintah berikut:
ln -s /etc/nginx/sites-available/cezerin.conf /etc/nginx/sites-enabled/
Selanjutnya, periksa Nginx apakah ada kesalahan konfigurasi dengan perintah berikut:
nginx -t
Jika semuanya baik-baik saja, Anda akan melihat output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Terakhir, restart layanan Nginx untuk menerapkan semua perubahan yang telah kita buat dengan perintah berikut:
systemctl restart nginx
Buat File Layanan Systemd untuk Cezerin
Selanjutnya, Anda perlu membuat file layanan systemd untuk mengelola layanan Cezerin. Anda dapat melakukannya dengan perintah berikut:
nano /etc/systemd/system/cezerin.service
Tambahkan baris berikut:
[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
Simpan dan tutup file, ketika Anda selesai. Kemudian, muat ulang file konfigurasi dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, jalankan layanan Cezerin dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start cezerin
systemctl enable cezerin
Anda juga dapat memeriksa status layanan Cezerin dengan perintah berikut:
systemctl status cezerin
Anda akan melihat output berikut:
? 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-*
Itu dia! sekarang Anda dapat mengakses antarmuka web Cezerin menggunakan URL http://192.168.0.4 .
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi Cezerin di server Ubuntu 18.04. Anda sekarang dapat dengan mudah meng-host toko online Anda sendiri menggunakan Cezerin. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.