Installation Nodejs and the Main Application - kwantu/platformconfiguration GitHub Wiki
This can be easily achieved with yum config file “/etc/yum.conf“. Under main section define the proxy settings like below:
vim /etc/yum.conf
...
[main]
proxy=http://10.123.227.33:3128
https-proxy=http://10.123.227.33:3128
yum install centos-release-scl
yum group install "Development Tools"
yum install gcc gcc-c++ kernel-devel make
- Then install npm
yum install npm
Once again, if there is a proxy then tell npm where to find it.
#DRDLR
npm config set proxy http://10.131.100.135:3128
#DPW
npm config set proxy http://10.123.227.33:3128
npm config set https-proxy http://10.123.227.33:3128
npm config set strict-ssl false
- Create the kwantu user and the folder
sudo su -
useradd kwantu
cd /opt
mkdir betterdata-mobile
cd betterdata-mobile
# change the ownership to the kwantu user
chown -R kwantu:kwantu /opt/betterdata-mobile
# change to the new kwantu user
sudo su - kwantu
cd /opt/betterdata-mobile/
- Then clone the betterdata app from github
# Note that you need the valid token. Get it from the secure lastpass Vault.
git clone https://<token>@github.com/kwantu/mobile1.8.git
If there is a proxy server present, then tell github where to find it.
#DRDLR
git config --global http.proxy http://10.131.100.135:3128
#DPW
git config --global http.proxy http://10.123.227.33:3128
- Install nvm
Note that if there is a proxy server then make sure that the git global config is updated with the proxy.
sudo su - kwantu
cd /opt
sudo wget https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh
sudo chmod 755 install.sh
./install.sh
nvm install 12.8
- Then install the betterdata app using npm
cd /opt/betterdata-mobile/mobile1.8
npm install -g bower
npm install -g gulp
npm install -g pm2
npm install --only=prod
bower install
If you have a problem with bower requiring a proxy server then create the following .bowerrc
is next to the bower.json
. And if there is no .bowerrc file near the bower.json file, you can create one by yourself.
vim /opt/betterdata-mobile/mobile1.8/.bowerrc
Insert the following lines
#for EPWP
{
"proxy":"http://10.123.227.33:3128",
"https-proxy":"http://10.123.227.33:3128"
}
If you have a problem with the error ReferenceError: primordials is not defined
cd /opt/betterdata-mobile/mobile1.8
mv npm-shrinkwrap.json.backup npm-shrinkwrap.json
npm install
mv npm-shrinkwrap.json npm-shrinkwrap.json.backup
We need to update the startup script to make sure that it will pull the correct version of the built application. And then start it and monitor the logs to make sure that it starts. But before we do that, we need to complete the DB server installation.
cd /opt/betterdata-mobile/mobile1.8
sh /opt/betterdata-mobile/mobile1.8/installation/build.sh PROD01
tail -f ~/.pm2/logs/mobile1-8-out-0.log
Note that the parameter 'PROD01' should be the correct one for the version of the code that you are running.
Create a script that will ensure that this is done by the kwantu user, that may only be called by the root user
vim /opt/buildNode.sh
#
cd /opt/betterdata-mobile/mobile1.8
/bin/su -c '/bin/echo starting betterdata; cd /opt/betterdata-mobile/mobile1.8; sh /opt/betterdata-mobile/mobile1.8/installation/build.sh PROD01 &' - kwantu
- Create the kwantu user and the folder
sudo su -
useradd kwantu
cd /opt
mkdir kwantuPortal
cd kwantuPortal
# change the ownership to the kwantu user
chown -R kwantu:kwantu /opt/kwantuPortal
# change to the new kwantu user
sudo s - kwantu
cd /opt/
- Then clone the betterdata app from github
# Note that you need the valid token. Get it from the secure lastpass Vault.
git clone https://<token>@github.com/kwantu/kwantuPortal.git
cd /opt/kwantuPortal
npm install
From here onwards not on Ansible. Once server is up we need to run
- create index service for all communities
- Publish community configuration for 29000 community
- set build access to 38 user to 0
- Run clearOutAllOldWorkers.xq for communities
- Run /db/kwantu-resource/_tools/updatePermissions.xq on new exist to set public services access.
- In the mysql database go to mobile1_8.
changes_feed_control
- Remove all the records.
- Insert the all_db record into the table
INSERT INTO `mobile1_8`.`changes_feed_control` (`db_name`,`bookmark`,`status`,`mode`, `type`)
VALUES ('all_dbs',0,'setup','setup', 'all_dbs');
...
To stop the application
```bash
sudo su - kwantu
pm2 stop all