Project

General

Profile

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_