Как установить Rocket.Chat в Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить Rocket.Chat в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Rocket.Chat — одно из самых популярных программ чата с открытым исходным кодом. Фантастическая альтернатива Slack и платному программному обеспечению для чата. Это бесплатно, без ограничений и множество интересных функций, таких как видеочат, совместное использование экрана, мобильные приложения и многое другое.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку программного обеспечения для чата с открытым исходным кодом Rocket.Chat на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint.
Установите Rocket.Chat на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt
команды в терминале.
sudo apt update sudo apt upgrade sudo apt install nginx gnupg2 git unzip build-essential software-properties-common graphicsmagick
Шаг 2. Установка Node.js.
Теперь добавьте официальный репозиторий Node.js в вашу систему Ubuntu:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
После добавления репозитория установите Node.js с помощью следующей команды:
sudo apt install nodejs
Шаг 3. Установка веб-сервера Nginx в системе Ubuntu.
Nginx доступен в репозиториях Ubuntu по умолчанию. Чтобы установить его, выполните следующую команду:
sudo apt install nginx
После завершения установки запустите команды, чтобы Nginx автоматически запускался при запуске вашего сервера:
sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl enable nginx.service
Между тем вам необходимо убедиться, что ваш брандмауэр настроен на разрешение трафика на портах HTTP (80) и HTTPS (443). Nginx регистрируется как сервис в ufw:
sudo ufw allow in "Nginx Full"
Шаг 4. Установите MongoDB в Ubuntu 20.04.
По умолчанию последняя версия MongoDB недоступна в репозитории Ubuntu 20.04 по умолчанию. Поэтому вам нужно будет добавить официальный репозиторий MongoDB в вашу систему:
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
Затем добавьте репозиторий MongoDB с помощью следующей команды:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
После этого обновите свою систему и обновите существующие репозитории, выполнив следующие команды:
sudo apt update sudo apt install mongodb-org
После завершения установки запустите службу MongoDB и включите ее запуск при перезагрузке с помощью следующей команды:
sudo systemctl start mongod sudo systemctl enable mongod sudo systemctl status mongod
Затем вам нужно будет определить набор реплик в MongoDB. Вы можете определить его с помощью следующей команды:
nano /etc/mongod.conf
Добавьте следующие строки:
replication: replSetName: "myreplica"
Сохраните и закройте файл, затем перезапустите службу MongoDB:
sudo systemctl restart mongod
Шаг 5. Установка Rocket.Chat в Ubuntu 20.04.
Сначала создайте нового пользователя для Rocket.Chat и добавьте его в группу. Вы можете сделать это с помощью следующей команды:www-data
useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash usermod -a -G rocket www-data chmod 750 /opt/rocket
Затем переключите пользователя на Rocket.Chat и загрузите последнюю версию Rocket.Chat с официальной страницы:
su - rocket curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz tar -xvzf rocket.chat.tgz mv bundle Rocket.Chat
Затем измените каталог на сервер Rocket.Chat и установите все зависимости Node.js, используя следующую команду:
cd Rocket.Chat/programs/server npm install
Шаг 6. Создайте сервис Systemd для Rocket.Chat.
Теперь создадим systemd
служебный файл для управления службой Rocket.Chat:
nano /etc/systemd/system/rocketchat.service
Добавьте следующие строки:
[Unit] Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target [Service] StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://rocket.yourdomain.com PORT=3000 ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js [Install] WantedBy=multi-user.target
Сохраните и закройте файл, затем запустите службу Rocket.Chat, которая также может запускаться при перезагрузке системы с помощью следующей команды:
sudo systemctl daemon-reload sudo systemctl start rocketchat sudo systemctl enable rocketchat
Шаг 7. Настройте Nginx как обратный прокси.
Создайте новый серверный блок Nginx для доступа к Rocket.Chat через прокси:
nano /etc/nginx/sites-available/rocketchat.conf
Добавьте следующие строки:
upstream myrocketchat { server 127.0.0.1:3000; } server { listen 80; server_name chat.mydomain.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { proxy_pass http://my-rocketchat/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } }
Сохраните и закройте файл, затем перезапустите службу Nginx, чтобы изменения вступили в силу:
sudo systemctl restart nginx
Шаг 8. Настройте Let’s Encrypt SSL.
Теперь мы загружаем и настраиваем Let’s Encrypt для SSL-сертификата:
sudo apt install certbot python3-certbot-nginx
Перезагрузите и включите службу Nginx:
nginx -tsudo systemctl restart nginx
Шаг 9. Доступ к Rocket.Chat в системе Ubuntu.
По умолчанию Rocket.Chat будет доступен через HTTP-порт 80. Откройте свой любимый браузер, перейдите к нужным шагам и выполните необходимые действия, чтобы завершить установку.https://chat.mydomain.com
Поздравляю! Вы успешно установили Rocket.Chat . Благодарим вас за использование этого руководства для установки программного обеспечения чата с открытым исходным кодом Rocket.Chat в вашей системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Rocket.Chat .