Сервер BOOCO Meteor (v 1.x) / Установка без Docker
Установка при помощи установочного скрипта
◼ Пошаговая ручная установка
Ниже приводится описание пошаговой ручной установки на примере ОС Ubuntu 20.04 (для других версий Linux используемые команды могут отличаться).
Для установки Node JS выполните следующие команды:
curl -fsSL <https://deb.nodesource.com/setup_14.x> | sudo -E bash - \\
sudo apt-get install -y nodejs
Проверьте, что Node JS установлен:
node -v
Установите MongoDB.
<aside>
💡 Важно. Для установки MongoDB 5.0 и выше требуются процессоры с поддержкой набора команд AVX. Если в процессоре такая поддержка отсутствует, то перед установкой BOOCO нужно установить MongoDB 4.4 вместо MongoDB 5.0.
Проверить наличие поддержки набора команд AVX можно с помощью команды grep avx /proc/cpuinfot
. Если результаты выполнения команды отсутствуют, то это означает, что процессор не поддерживает расширенный набор команд AVX. Подробнее о системе команд AVX
</aside>
Чтобы установить MongoDB, выполните следующие команды:
export MONGO_PGP="<https://www.mongodb.org/static/pgp/server-5.0.asc>"
export MONGO_REPO="<https://repo.mongodb.org/apt/ubuntu>"
export MONGO_VER="bionic/mongodb-org/5.0"
export MONGO_LIST="/etc/apt/sources.list.d/mongodb-org-5.0.list"
curl -fsSL $MONGO_PGP | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] $MONGO_REPO $MONGO_VER multiverse" \\
| sudo tee $MONGO_LIST
sudo apt-get update
sudo apt-get install -y mongodb-org
<aside>
💡 Примечание. Если при выполнении команды apt-get update
появилась ошибка 403 Forbidden, то следует воспользоваться альтернативным способом установки.
</aside>
Альтернативный способ установки:
sudo rm /etc/apt/sources.list.d/mongodb-org*
export BOOCO_MONGO="<https://www.booco.ru/download/mongo>"
export MONGODB_DIST_SERVER="mongodb-linux-x86_64-ubuntu2004-5.0.9"
curl $BOOCO_MONGO/$MONGODB_DIST_SERVER.tgz -o /tmp/mongodb.tgz
tar -zxvf /tmp/mongodb.tgz -C /tmp/
sudo mv /tmp/$MONGODB_DIST_SERVER/bin/mongo* /usr/bin
sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
# create db group and user
sudo adduser --system --no-create-home \\
--disabled-login --group mongodb
sudo chown -R mongodb:mongodb /var/lib/mongo
sudo chown -R mongodb:mongodb /var/log/mongodb
# get Mongo configuration file
sudo curl <https://www.booco.ru/download/mongo/mongod.conf> \\
-o /etc/mongod.conf
# get systemd service file
sudo curl <https://www.booco.ru/download/mongo/mongod.service> \\
-o /lib/systemd/system/mongod.service
Запустите MongoDB. Для автоматического запуска MongoDB при старте выполните следующие команды:
sudo systemctl daemon-reload
sudo systemctl unmask mongod
sudo systemctl enable mongod
sudo systemctl start mongod
Рекомендуем убедиться, что сервис Mongo DB запущен:
sudo systemctl status mongo
<aside> ⚠️ Важно. Для безопасности необходимо создать учетную запись администратора и запретить доступ без авторизации.
</aside>
Запустите консоль Mongo:
mongo admin # должна появиться командная строка **>**
Введите команду (замените password
на надежный пароль):
db.createUser({user: "admin", pwd: "password", roles: [{ role: "root", db: "admin" }]})
Появится надпись Successfully added user:...
.
Для выхода из консоли Mongo введите команду exit.
Включите авторизацию в конфигурационном файле mongod.conf
. Запустите редактор:
sudo nano /etc/mongod.conf
Добавьте в конце следующие строчки:
security:
authorization : enabled
<aside>
💡 Примечание. Для сохранения нажмите CTRL+O
и ENTER
. Для выхода нажмите CTRL+X
.
</aside>
Затем перезапустите сервис Mongo:
sudo systemctl restart mongod
Получите последнюю версию BOOCO. Для этого выполните следующее:
export BOOCO_VER=$(curl -fsSL <https://www.booco.ru/download/latest>)
echo "Version: $BOOCO_VER"
В результате отобразится информация с номером версии (например: Version 1.26.11
).
Выполните команды:
curl <https://www.booco.ru/download/booco_$BOOCO_VER.tar.gz> \\
-o /tmp/booco.tar.gz
sudo tar -xf /tmp/booco.tar.gz -C /opt
Подготовьте начальные папки и конфигурационные файлы:
export BOOCO_DATA=/var/booco
export BOOCO_DEFAULT=/opt/booco/default-configs
sudo mkdir -p $BOOCO_DATA/config
sudo mkdir -p $BOOCO_DATA/debug
sudo mkdir -p $BOOCO_DATA/scripts/templates
sudo cp $BOOCO_DEFAULT/default-config.yml $BOOCO_DATA/config/booco.yml
sudo cp $BOOCO_DEFAULT/default-debug.yml $BOOCO_DATA/debug/debug.yml
sudo cp $BOOCO_DEFAULT/default.js $BOOCO_DATA/scripts/templates
Создайте файл .env
с переменными среды:
export BOOCO_ENV=/opt/booco/.env
export MONGO_USER=admin
export MONGO_PASSWORD=password # change password!
export MONGO_BASE=127.0.0.1:27017/meteor?authSource=admin
export MONGO_URL=mongodb://$MONGO_USER:$MONGO_PASSWORD@$MONGO_BASE
echo MONGO_USER=$MONGO_USER > /tmp/booco.env
echo MONGO_PASSWORD=$MONGO_PASSWORD >> /tmp/booco.env
echo BOOCO_DATA=$BOOCO_DATA >> /tmp/booco.env
echo MONGO_URL=$MONGO_URL >> /tmp/booco.env
echo UNIVERSE_I18N_LOCALES="en, ru" >> /tmp/booco.env
echo LANG=ru_RU >> /tmp/booco.env
echo NODE_ENV=production >> /tmp/booco.env
sudo mv /tmp/booco.env $BOOCO_ENV
Запустите сервер.
Порядок автоматического запуска
Добавьте сервер BOOCO в Systemd
для автоматического запуска:
sudo curl <https://www.booco.ru/install/booco.service> \\
-o /lib/systemd/system/booco.service
sudo systemctl daemon-reload
sudo systemctl unmask booco
sudo systemctl enable booco
sudo systemctl start booco
Проверьте, что BOOCO запущен:
sudo systemctl status booco
Проверьте логи:
tail /var/log/booco.log
или
tail /var/log/booco.log -f` # для постоянного отслеживания
<aside>
💡 Примечание. Если не удалось запустить BOOCO с помощью systemctl
, то можно выполнить запуск вручную.
</aside>
Запуск вручную
Для запуска BOOCO не в фоновом режиме выполните следующее:
cd /opt/booco
source .env
export ROOT_URL=${ROOT_URL:=http://$(hostname -I)}
sudo ROOT_URL=$ROOT_URL \\
PORT=80 \\
MONGO_URL=$MONGO_URL \\
UNIVERSE_I18N_LOCALES="$UNIVERSE_I18N_LOCALES" \\
LANG="$LANG" \\
NODE_ENV=production \\
BOOCO_DATA=$BOOCO_DATA \\
node main.js
Чтобы завершить работу, нажмите CTRL+C
.
Для запуска BOOCO **в фоновом режиме с перенаправлением в **log**
выполните следующее:
Смените пользователя на пользователя root
:
sudo su
Затем выполните следующие команды:
cd /opt/booco
source .env
sudo touch /var/log/booco.log
sudo chmod 755 /var/log/booco.log
export ROOT_URL=${ROOT_URL:=http://$(hostname -I)}
sudo ROOT_URL=$ROOT_URL \\
PORT=80 \\
MONGO_URL=$MONGO_URL \\
UNIVERSE_I18N_LOCALES="$UNIVERSE_I18N_LOCALES" \\
LANG="$LANG" \\
NODE_ENV=production \\
BOOCO_DATA=$BOOCO_DATA \\
nohup node main.js &>>/var/log/booco.log < /dev/null &
В конце вернитесь к текущему пользователю, для этого введите команду exit
.
<aside> 💡 Примечание. При таком запуске после перезапуска BOOCO не запустится автоматически.
</aside>
После завершения установки BOOCO необходимо удалить временные файлы:
rm -f /tmp/mongodb.tgz
rm -rf /tmp/mongodb-linux*
rm -f /tmp/booco.tar.gz
rm -rf /tmp/booco*