Actions
Установка Rocket.Chat¶
1. Подготавливаем систему¶
- Обновляем пакеты: sudo apt update & sudo apt upgrade -y
- Ставим время: sudo timedatectl -set-timezone "Asia/Yekaterinburg"
- Ставим необходимые пакеты: sudo apt install wireguard mc openresolv wget cross-build-essential gnupg -y
2. Прикручиваем WireGuard (в наше время без него не ставятся некоторые пакеты)¶
- Смотрим ip-адрес: curl ifconfig.me
- wg-quick up wg0
- Создаем конфигурационный файл: sudo touch /etc/wireguard/wg0.conf
- Открываем на редакцию: sudo nano /etc/wireguard/wg0.conf
- Вставляем конфиг (в нашем случае такой):
[Interface]
PrivateKey = EKIbNA4gb85iHq5uQIeLPSSfK0rZgLkX7FZt1vIOokU=
Address = 192.168.6.12/32
DNS = 9.9.9.9, 8.8.8.8
[Peer]
PublicKey = zqB5PkAW409NNa/fU8IvRLdAlvHFQ5fmg9s/o2wTFic=
PresharedKey = lfGvmey83Dc0cXi6yIF/XE8ELAFOXQe5BxMfbGTAfRk=
AllowedIPs = 0.0.0.0/0
Endpoint = wgruvdsger3.2friends.su:41194
PersistentKeepalive = 15 - Запускаем Wireguard: wg-quick up wg0
- Смотрим ip-адрес: curl ifconfig.me (должен измениться)
3. Ставим node.js¶
- Добавляем репозиторий: curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
- Ставим пакет: sudo apt install nodejs -y
- Смотрим версию: node -v
Ставим Deno 2.3.1¶
- Качаем и ставим: sudo curl -fsSL https://deno.land/install.sh | sh
4. Установка MongoDB: 8.0¶
- Wireguerd можно выключить (так как MongoDB из России хер скачаешь даже через VPN): sudo wg-quick down wg0
- Стягиваем пакет (от какого-то индуса): git clone https://github.com/fdmxfarhan/mongodb.git
- Переходим в директорию: cd Ubuntu\ 22.04\ x64/
- Ставим пакет: sudo dpkg -i mongodb-org-server_8.0.0_amd64.deb
- Пробуем подтянуть зависимости: sudo apt --fix-broken install
- Смотрим статус: sudo systemctl status mongod
- Добавляем в автостарт: sudo systemctl enable --now mongod
- Стартуем: sudo systemctl start mongod
- Открываем конфиг: sudo nano /etc/mongod.conf
- Правим конфиг:
# mongod.conf # Where and how to store data.
storage:
dbPath: /var/lib/mongodb# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log# network interfaces
net:
port: 27017
bindIp: <bind-ip> # Replace with your IP address# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo# Replication settings
replication:
replSetName: rs01 - Рестартуем MongoDB: sudo systemctl restart mongod
5. Установка MongoSH (он же клиент)¶
- Качаем libssl 1.1.1.1 : wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
- Ставим пакет: sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
- Качаем MOngoSH: wget https://github.com/mongodb-js/mongosh/releases/download/v2.8.3/mongodb-mongosh-shared-openssl11_2.8.3_amd64.deb
- Ставим пакет: sudo dpkg -i mongodb-mongosh-shared-openssl11_2.8.3_amd64.deb
- Инициализируем БД: mongosh --eval "printjson(rs.initiate())"
6. Установка Rocket.Chat¶
- Ставим зависимость: sudo apt install -y build-essential graphicsmagick
- Запускаем Wireguard: wg-quick up wg0
- Качаем Rocket.Chat: sudo curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
- Распаковываем в директорию: sudo tar -xzf /tmp/rocket.chat.tgz -C /tmp
- Запускаем на установку: _ cd /tmp/bundle/programs/server && npm install --unsafe-perm --production_
- Переносим проект в /opt : sudo mv /tmp/bundle /opt/Rocket.Chat
- Создаем пользователя: sudo useradd -M rocketchat && sudo usermod -L rocketchat
- Назначаем владельца: sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
- Создаем переменную окружения: NODE_PATH=$(which node) (чтобы применилась нужно произвести выход/вход пользователя)
- Создаем конфигурационный файл службы для systemd:
cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
ExecStart=$NODE_PATH /opt/Rocket.Chat/main.js
StandardOutput=journal
StandardError=journal
SyslogIdentifier=rocketchat
User=rocketchat
[Install]
WantedBy=multi-user.target
EOF - Обновляем конфигурацию службы: sudo systemctl edit rocketchat
- Вносим изменения:
[Service]
Environment=ROOT_URL=http://localhost:3000
Environment=PORT=3000
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 - Добавляем автостарт: sudo systemctl enable --now rocketchat
- Перезагружаем демона: sudo systemctl daemon-reload
- Перезагружаем Rocket.Chat: sudo systemctl restart rocketchat
- Смотрим статус: sudo systemctl status rocketchat
Updated by Дмитрий Курнаев about 2 months ago · 2 revisions