Cezerin is a open source eCommerce progressive web app built using React and Node.js. In this tutorial, you will learn how to deploy a Cezerin for production on a clean Ubuntu 18.04 server.
Requirements
- New Rcs Ubuntu 18.04 instance with at least 2 CPU cores and 1 GB RAM
- Non-root user with sudo privileges.
- NodeJS version 10.x or greater.
- MongoDB version 4.x or greater.
Check the Ubuntu version.
lsb_release -ds
# Ubuntu 18.04 LTS
Create a new non-root user account with sudo access and switch to it.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTE: Replace johndoe
with your username.
Set up the timezone.
sudo dpkg-reconfigure tzdata
Ensure that your system is up to date.
sudo apt update && sudo apt upgrade -y
Install NodeJS and NPM
Install NodeJS.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt -y install nodejs
Check the Node and NPM versions.
node -v && npm -v
# v10.x.x
# 6.x.x
In order for some NPM packages to work, you will need to install the build-essential
package.
sudo apt-get install build-essential
Install MongoDB
Import the MongoDB GPG key to your system.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Once the key is imported, create a list file.
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
Reload the packages list.
sudo apt-get update
Install MongoDB packages.
sudo apt -y install mongodb-org
Start the MongoDB daemon.
sudo service mongod start
Create a project
Clone the project from git.
sudo git clone https://github.com/cezerin/cezerin.git my-project
Change ownership of my-project
folder to user johndoe
.
sudo chown -R johndoe:johndoe my-project
Install the dependencies and start the server.
cd my-project
sudo npm install --unsafe-perm
sudo npm run build
sudo npm run setup
sudo npm start
Next, open your browser and browse to the IP address http://your_server_ip:3000
. Cezerin has been successfully installed on your server.