Wiki » History » Version 2
Дмитрий Курнаев, 05/29/2026 06:59 AM
| 1 | 2 | Дмитрий Курнаев | h1. Установка Rocket.Chat |
|---|---|---|---|
| 2 | |||
| 3 | h3. 1. Подготавливаем систему |
||
| 4 | |||
| 5 | # Обновляем пакеты: _sudo apt update & sudo apt upgrade -y_ |
||
| 6 | # Ставим время: _sudo timedatectl -set-timezone "Asia/Yekaterinburg"_ |
||
| 7 | # Ставим необходимые пакеты: _sudo apt install wireguard mc openresolv wget cross-build-essential gnupg -y_ |
||
| 8 | |||
| 9 | h3. 2. Прикручиваем WireGuard (в наше время без него не ставятся некоторые пакеты) |
||
| 10 | |||
| 11 | # Смотрим ip-адрес: _curl ifconfig.me_ |
||
| 12 | # wg-quick up wg0 |
||
| 13 | # Создаем конфигурационный файл: _sudo touch /etc/wireguard/wg0.conf_ |
||
| 14 | # Открываем на редакцию: _sudo nano /etc/wireguard/wg0.conf_ |
||
| 15 | # Вставляем конфиг (в нашем случае такой): |
||
| 16 | |||
| 17 | _[Interface] |
||
| 18 | PrivateKey = EKIbNA4gb85iHq5uQIeLPSSfK0rZgLkX7FZt1vIOokU= |
||
| 19 | Address = 192.168.6.12/32 |
||
| 20 | DNS = 9.9.9.9, 8.8.8.8 |
||
| 21 | [Peer] |
||
| 22 | PublicKey = zqB5PkAW409NNa/fU8IvRLdAlvHFQ5fmg9s/o2wTFic= |
||
| 23 | PresharedKey = lfGvmey83Dc0cXi6yIF/XE8ELAFOXQe5BxMfbGTAfRk= |
||
| 24 | AllowedIPs = 0.0.0.0/0 |
||
| 25 | Endpoint = wgruvdsger3.2friends.su:41194 |
||
| 26 | PersistentKeepalive = 15_ |
||
| 27 | # Запускаем Wireguard: _wg-quick up wg0_ |
||
| 28 | # Смотрим ip-адрес: _curl ifconfig.me_ (должен измениться) |
||
| 29 | |||
| 30 | h3. 3. Ставим node.js |
||
| 31 | |||
| 32 | # Добавляем репозиторий: _curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -_ |
||
| 33 | # Ставим пакет: _sudo apt install nodejs -y_ |
||
| 34 | # Смотрим версию: _node -v_ |
||
| 35 | |||
| 36 | h3. Ставим Deno 2.3.1 |
||
| 37 | |||
| 38 | # Качаем и ставим: _sudo curl -fsSL https://deno.land/install.sh | sh_ |
||
| 39 | |||
| 40 | h3. 4. Установка MongoDB: 8.0 |
||
| 41 | |||
| 42 | # Wireguerd можно выключить (так как MongoDB из России хер скачаешь даже через VPN): _sudo wg-quick down wg0_ |
||
| 43 | # Стягиваем пакет (от какого-то индуса): _git clone https://github.com/fdmxfarhan/mongodb.git_ |
||
| 44 | # Переходим в директорию: _cd Ubuntu\ 22.04\ x64/_ |
||
| 45 | # Ставим пакет: _sudo dpkg -i mongodb-org-server_8.0.0_amd64.deb_ |
||
| 46 | # Пробуем подтянуть зависимости: _sudo apt --fix-broken install_ |
||
| 47 | # Смотрим статус: _sudo systemctl status mongod_ |
||
| 48 | # Добавляем в автостарт: _sudo systemctl enable --now mongod_ |
||
| 49 | # Стартуем: _sudo systemctl start mongod_ |
||
| 50 | # Открываем конфиг: _sudo nano /etc/mongod.conf_ |
||
| 51 | # Правим конфиг: |
||
| 52 | <pre># mongod.conf |
||
| 53 | # Where and how to store data. |
||
| 54 | </pre> |
||
| 55 | storage: |
||
| 56 | dbPath: /var/lib/mongodb |
||
| 57 | <pre> |
||
| 58 | # where to write logging data. |
||
| 59 | </pre> |
||
| 60 | systemLog: |
||
| 61 | destination: file |
||
| 62 | logAppend: true |
||
| 63 | path: /var/log/mongodb/mongod.log |
||
| 64 | <pre> |
||
| 65 | # network interfaces |
||
| 66 | </pre> |
||
| 67 | net: |
||
| 68 | port: 27017 |
||
| 69 | bindIp: <bind-ip> # Replace with your IP address |
||
| 70 | <pre> |
||
| 71 | # how the process runs |
||
| 72 | </pre> |
||
| 73 | processManagement: |
||
| 74 | timeZoneInfo: /usr/share/zoneinfo |
||
| 75 | <pre> |
||
| 76 | # Replication settings |
||
| 77 | </pre> |
||
| 78 | replication: |
||
| 79 | replSetName: rs01 |
||
| 80 | # Рестартуем MongoDB: _sudo systemctl restart mongod_ |
||
| 81 | |||
| 82 | h3. 5. Установка MongoSH (он же клиент) |
||
| 83 | |||
| 84 | # Качаем libssl 1.1.1.1 : _wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb_ |
||
| 85 | # Ставим пакет: _sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb_ |
||
| 86 | # Качаем MOngoSH: _wget https://github.com/mongodb-js/mongosh/releases/download/v2.8.3/mongodb-mongosh-shared-openssl11_2.8.3_amd64.deb_ |
||
| 87 | # Ставим пакет: _sudo dpkg -i mongodb-mongosh-shared-openssl11_2.8.3_amd64.deb_ |
||
| 88 | # Инициализируем БД: _mongosh --eval "printjson(rs.initiate())"_ |
||
| 89 | |||
| 90 | h3. 6. Установка Rocket.Chat |
||
| 91 | |||
| 92 | # Ставим зависимость: _sudo apt install -y build-essential graphicsmagick_ |
||
| 93 | # Запускаем Wireguard: _wg-quick up wg0_ |
||
| 94 | # Качаем Rocket.Chat: _sudo curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz_ |
||
| 95 | # Распаковываем в директорию: _sudo tar -xzf /tmp/rocket.chat.tgz -C /tmp_ |
||
| 96 | # Запускаем на установку: _ cd /tmp/bundle/programs/server && npm install --unsafe-perm --production_ |
||
| 97 | # Переносим проект в /opt : _sudo mv /tmp/bundle /opt/Rocket.Chat_ |
||
| 98 | # Создаем пользователя: _sudo useradd -M rocketchat && sudo usermod -L rocketchat_ |
||
| 99 | # Назначаем владельца: _sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat_ |
||
| 100 | # Создаем переменную окружения: _NODE_PATH=$(which node)_ (чтобы применилась нужно произвести выход/вход пользователя) |
||
| 101 | # Создаем конфигурационный файл службы для systemd: _ |
||
| 102 | cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service |
||
| 103 | [Unit] |
||
| 104 | Description=The Rocket.Chat server |
||
| 105 | After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service |
||
| 106 | [Service] |
||
| 107 | ExecStart=$NODE_PATH /opt/Rocket.Chat/main.js |
||
| 108 | StandardOutput=journal |
||
| 109 | StandardError=journal |
||
| 110 | SyslogIdentifier=rocketchat |
||
| 111 | User=rocketchat |
||
| 112 | [Install] |
||
| 113 | WantedBy=multi-user.target |
||
| 114 | EOF_ |
||
| 115 | # Обновляем конфигурацию службы: _sudo systemctl edit rocketchat_ |
||
| 116 | # Вносим изменения: _ |
||
| 117 | [Service] |
||
| 118 | Environment=ROOT_URL=http://localhost:3000 |
||
| 119 | Environment=PORT=3000 |
||
| 120 | Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01_ |
||
| 121 | # Добавляем автостарт: _sudo systemctl enable --now rocketchat_ |
||
| 122 | # Перезагружаем демона: _sudo systemctl daemon-reload_ |
||
| 123 | # Перезагружаем Rocket.Chat: _sudo systemctl restart rocketchat_ |
||
| 124 | # Смотрим статус: _sudo systemctl status rocketchat_ |