11.6. Установка JetCalc
Установка JetCalc выполняется с помощью скрипта установки, который необходимо предварительно загрузить из репозитория JetCalc на GitHub и запустить его путем последовательного выполнения следующих команд, предварительно переключившись на суперпользователя:
sudo su
wget https://raw.githubusercontent.com/leossnet/jetcalc/master/install/install.sh
chmod 777 ./install.sh
./install.sh
Вместо загрузки скрипта install.sh его можно создать в домашнем каталоге со следующим содержимым:
#!/bin/bash
mkdir /htdocs
cd /htdocs/
apt-get install -y git \
python \
libkrb5-dev \
libcairo2-dev \
libjpeg8-dev \
libpango1.0-dev \
libgif-dev \
build-essential \
g++
git clone https://github.com/leossnet/jetcalc.git
chmod -R 777 /htdocs
cd /htdocs/jetcalc
git config core.fileMode false
sudo apt-get install -y software-properties-common python-software-properties
#mongo
wget -qO - https://www.mongodb.org/static/pgp/server-3.6.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
#rabbitmq
echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | apt-key add -
#postgresql
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
#apt-get
sudo apt-get update
#sudo apt-get dist-upgrade
sudo apt-cache policy docker-engine
sudo apt-get install -y docker-engine
#nginx install
sudo apt-get install -y nginx
sudo cp /htdocs/jetcalc/install/nginx.conf /etc/nginx/sites-available/jetcalc.conf
ln -s /etc/nginx/sites-available/jetcalc.conf /etc/nginx/sites-enabled/jetcalc.conf
rm -rf /etc/nginx/sites-enabled/default
sudo service nginx restart
#postgres install
sudo apt-get install -y postgresql-9.6
sudo su postgres -c "psql -c \"ALTER USER postgres WITH PASSWORD 'postgres';\""
sudo su postgres -c "createdb -U postgres jetcalc;"
sudo su postgres -c "psql -U postgres jetcalc < /htdocs/jetcalc/sql/dump/postgres.sql;"
sudo echo "host all all ::0/0 md5" >> /etc/postgresql/9.6/main/pg_hba.conf
sudo echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.6/main/pg_hba.conf
sudo echo "listen_addresses = '*'" >> /etc/postgresql/9.6/main/postgresql.conf
sudo service postgresql restart
#mongo install
sudo apt-get install -y mongodb-org
cp /htdocs/jetcalc/install/mongodb.service /etc/systemd/system/mongodb.service
sudo systemctl start mongodb
sudo systemctl status mongodb
sudo systemctl enable mongodb
#redis install
sudo apt-get -y install redis-server
#rabbitmq install
apt-get install -y rabbitmq-server
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins enable rabbitmq_tracing
rabbitmqctl delete_user guest
rabbitmqctl add_user jet jetparole12j
rabbitmqctl set_permissions jet ".*" ".*" ".*"
rabbitmqctl set_user_tags jet administrator
#curl -sL https://deb.nodesource.com/setup_8.x | bash -s
#node install
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
echo Fixing source ...
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
source ~/.nvm/nvm.sh
nvm install node
nvm use node
cd /htdocs/jetcalc
echo Fixing source ...
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
source ~/.nvm/nvm.sh
#npm modules
npm i -g pm2 mocha grunt --unsafe-perm
cp /htdocs/jetcalc/install/config.origin /htdocs/jetcalc/config.js
npm i --unsafe-perm
node admin.js compile
node admin.js build
node admin.js installgitbook
cd /htdocs/jetcalc
cp /htdocs/jetcalc/install/start.json /htdocs/jetcalc/start.json
cp /htdocs/jetcalc/install/catalogue.json /htdocs/jetcalc/static/custom/catalogue.json
cp /htdocs/jetcalc/install/translate.json /htdocs/jetcalc/static/custom/translate.json
pm2 start start.json
pm2 startup
pm2 save
#тест posgresql
node admin.js postgress
После запуска скрипта в течение 15-20 минут будет загружено и установлено необходимое системное и прикладное программное обеспечение, необходимое для работы JetCalc.
Замечание 1: если в конце работы скрипта установки тест проверки работы SQL-сервера не завершится в течение 1-2 минут, то его нужно прервать, нажав Ctrl+C. Сам тест представляет собой следующий блок:
SQL pgsql: json
CleanUp
✓ Очищаем тестовые данные (890ms)
UpdateValutaRate
✓ Проверяем запись курсов валют (116ms)
SetCells
✓ Проверяем запись первичных данных (59ms)
GetCells
✓ Проверяем получение первичных данных
GetCellsHistory
✓ Проверяем работу истории изменений
IsRatesWork
✓ Проверяем работу курсов валют
IsRatesUpdateWork
✓ Проверяем работу курсов валют обновление должно менять ячейки
CleanUp
✓ Очищаем тестовые данные (40ms)
Это временная ошибка установки, которая в будущем будет устранена.
Замечание 2: Если в тест проверки работы SQL-сервера выдаст ошибку, то необходимо выполнить актуализацию структуры SQL-базы в административной консоли. Для начала необходимо выйти и повторно зайти на сервер, чтобы актуализировать только что установленные приложения. После этого запустить административную консоль:
sudo su
cd /htdocs/jetcalc
node admin.js
В открывшемся меню выбрать пункт Актуализация структуры SQL-базы и нажать Enter. При нормальном завершении процедуры на экране будет выведено:
Синхронизация процедуры: GetCellsHistoryJSON.sql
Синхронизация процедуры: GetCellsJSON.sql
Синхронизация процедуры: SetCellsJSON.sql
Синхронизация процедуры: SetValutaRatesJSON.sql
Обновлены хранимые процедуры
Добавлено поле cells_h.CodeRow
Добавлено поле cells_h.CodeCol
Добавлено поле cells_h.CodeObj
Добавлено поле cells.CodeRow
Добавлено поле cells.CodeCol
Добавлено поле cells.CodeObj
Все поля добавлены
Все поля обновлены
На этом установка серверного программного обеспечения завершена.
Last updated
Was this helpful?