Скачайте скрипт acs.sh удобным способом и сделайте его исполняемым. Code Block |
---|
| sudo chmod +x acs.sh |
Вы также можете самостоятельно создать файл, вставить в него код из скрипта через редактор и сделать его исполняемым. Expand |
---|
|
Code Block |
---|
language | bash |
---|
theme | Midnight |
---|
linenumbers | true |
---|
| #!/bin/sh
#logs
genieacs_setup_errors=/var/log/genieacs_setup_errors
genieacs_setup_status=/var/log/genieacs_setup_status
exec 2>$genieacs_setup_errors
#
#
#
#
apt update
#
### Install curl ###
apt install -y curl
#
## Install NodeJS ###
cd ~
curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh
chmod +x nodesource_setup.sh
bash nodesource_setup.sh
apt install -y nodejs
apt install -y npm --global
#
### Install libssl1.1 ###
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
apt update
apt install -y libssl1.1
#
### Install MongoDB actual version for ubuntu 20.04 ###
apt install -y gnupg
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
## for ubuntu 22.04 ##
#echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
## for actual version for ubuntu 20.04 ##
apt-get update
apt install -y mongodb-org
#if you want install specific release
#apt install -y mongodb-org=7.0.6 mongodb-org-database=7.0.6 mongodb-org-server=7.0.6 mongodb-mongosh=7.0.6 mongodb-org-mongos=7.0.6 mongodb-org-tools=7.0.6 #(for release 7.0.6)
systemctl start mongod.service
systemctl enable mongod
#
#
#
#
### Install GenieACS ###
npm install -g genieacs@1.2.5
sudo useradd --system --no-create-home --user-group genieacs
mkdir /opt/genieacs
mkdir /opt/genieacs/ext
chown genieacs:genieacs /opt/genieacs/ext
cd /opt/genieacs && touch genieacs.env
echo 'GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
NODE_OPTIONS=--enable-source-maps
GENIEACS_EXT_DIR=/opt/genieacs/ext
GENIEACS_UI_JWT_SECRET=secret' | tee -a /opt/genieacs/genieacs.env
sudo chown genieacs:genieacs /opt/genieacs/genieacs.env
sudo chmod 600 /opt/genieacs/genieacs.env
mkdir /var/log/genieacs
chown genieacs:genieacs /var/log/genieacs
cd /etc/systemd/system/
touch genieacs-cwmp.service
touch genieacs-nbi.service
touch genieacs-fs.service
touch genieacs-ui.service
echo '[Unit]
Description=GenieACS CWMP
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-cwmp
[Install]
WantedBy=default.target' | sudo tee -a /etc/systemd/system/genieacs-cwmp.service
echo '[Unit]
Description=GenieACS NBI
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-nbi
[Install]
WantedBy=default.target' | sudo tee -a /etc/systemd/system/genieacs-nbi.service
echo '[Unit]
Description=GenieACS FS
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-fs
[Install]
WantedBy=default.target' | sudo tee -a /etc/systemd/system/genieacs-fs.service
echo '[Unit]
Description=GenieACS UI
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-ui
[Install]
WantedBy=default.target' | sudo tee -a /etc/systemd/system/genieacs-ui.service
cd /etc/logrotate.d
touch genieacs
echo '/var/log/genieacs/*.log /var/log/genieacs/*.yaml {
daily
rotate 30
compress
delaycompress
dateext
}' | sudo tee -a /etc/logrotate.d/genieacs
systemctl daemon-reload
systemctl enable genieacs-cwmp
systemctl start genieacs-cwmp
systemctl enable genieacs-nbi
systemctl start genieacs-nbi
systemctl enable genieacs-fs
systemctl start genieacs-fs
systemctl enable genieacs-ui
systemctl start genieacs-ui
#check
echo 'version nodejs' && nodejs -v | tee $genieacs_setup_status
systemctl -l --no-pager status mongod | tee -a $genieacs_setup_status
mongo --eval 'db.runCommand({ connectionStatus: 1 })' | tee -a $genieacs_setup_status
systemctl -l --no-pager status genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui | tee -a $genieacs_setup_status
|
|
Запустите скрипт.
Установка занимает некоторое время, в зависимости от характеристик оборудования (в среднем не более 3-5 минут). Скрипт установит GenieACS и создаст системные файлы и каталоги для её работы. По завершению установки будут выведены установленные версии Node.js и MongoDB, а так же статусы служб GenieACS.
Подробно ознакомиться, за что отвечает каждая служба можно по ссылке. Скриптом так же будут созданы два файла-лога: /var/log/genieacs_setup_errors - куда записываются все ошибки, возникшие в ходе работы скрипта. С их помощью будет легче разобраться, если скрипт отработал неправильно. /var/log/genieacs_setup_status - куда продублирована информация о версиях Node.js, MongoDB, GenieACS. А так же статусах работы их служб.
На этом установка завершена. |