В этой статье мы покажем вам, как установить Rocket.Chat на сервер CentOS 7 и настроить Apache как обратный прокси для приложения Rocket.Chat. Rocket.Chat – это бесплатное программное обеспечение для общения в команде, построенное с использованием фреймворка Meteor. Rocket.Chat – это неограниченное программное решение с открытым исходным кодом, которое заменяет Slack и HipChat. Rocket.Chat поддерживает аудио- и видеосвязь с совместным использованием экрана, с полным доступом к исходному коду, вы можете полностью настраивать, расширять или добавлять новые функции в соответствии с вашими требованиями. Установка Rocket.Chat на CentOS 7 довольно простая задача, и она не должна занимать более 10 минут. Давайте начнем!
Требования
Чтобы запустить Rocket.Chat на вашем CentOS 7 VPS, нам необходимо предусмотреть следующие требования:
- MongoDB – самая популярная база данных NoSQL с открытым исходным кодом
- NodeJS – среда выполнения JavaScript с открытым исходным кодом.
- GraphicsMagick – надежная коллекция инструментов и библиотек для обработки изображений. GraphicsMagick – это ответвление ImageMagick.
Шаг 1. Войдите в систему через SSH на сервере CentOS:
Войдите в систему для каждого VPS через SSH как пользователь root
ssh roo@IP_Address -p Port_number
Шаг 2: Обновите все пакеты
После входа в систему выполните следующую команду, чтобы убедиться, что все установленные пакеты RPM обновлены
sudo yum clean all sudo yum update
Шаг 3: Установите хранилища EPEL и MongoDB:
Нам нужно установить репозиторий EPEL:
yum install epel-release
Репозиторий CentOS 7 по умолчанию не содержит пакет для MongoDB, поэтому нам нужно будет использовать официальный репозиторий MongoDB для установки пакета MongoDB.
На момент написания этого руководства последняя стабильная версия MongoDB равна 4.0, поэтому создайте новый файл в каталоге /etc/yum.repos.d/ с именем «mongodb-org-4.0.repo»:
vi /etc/yum.repos.d/mongodb-org-4.0.repo
Затем добавьте следующие строки:
[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
Шаг 4: Установите MongoDB
Установите MongoDB, используя следующие команды:
sudo yum update sudo yum install mongodb-org-server mongodb-org mongodb-org-mongos mongodb-org-shell mongodb-org-tools
Включить службу MongoDB для автоматического запуска при загрузке:
sudo systemctl enable mongod
Запустите службу MongoDB:
sudo systemctl start mongod
Шаг 5: Установите node.js и npm
sudo yum install nodejs npm
npm install -g inherits n
Загрузите и установите nodejs версии 8.9.3:
sudo n 8.9.3
Проверьте версию node.js:
# node --version v8.9.3
Шаг 6: Установите GraphicsMagick
Установите GraphicsMagick, используя следующую команду:
yum install GraphicsMagick
Шаг 7: Установите Rocket.Chat
Загрузите последнюю стабильную версию Rocket.Chat и извлеките ее в каталог /opt на своем сервере:
cd /opt curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tar tar -xvf rocket.chat.tar mkdir -p /var/www/html/rocket.chat cd bundle mv * .[^.]* /var/www/html/rocket.chat/ cd /var/www/html/rocket.chat/programs/server npm install cd ../../ export ROOT_URL=http://your-server_IP:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat export PORT=3000
Для проверки установки выполните следующую команду:
node main.js
Вы должны иметь доступ к Rocket.Chat по адресу http://your-domain.ru:3000/
Stop Rocket.Chat, используя CTRL + C.
Мы можем настроить Apache как обратный прокси-сервер, чтобы он мог обрабатывать и передавать запросы в Rocket.Chat и скрывать номер порта в URL-адресе.
Отредактируйте файл конфигурации Apache /etc/httpd/conf/httpd.conf и раскомментируйте следующую строку:
#NameVirtualHost *: 80
Затем добавьте следующий виртуальный хост в конец файла:
<VirtualHost *:80> ServerName your-domain.ru DocumentRoot /var/www/html/rocket.chat ServerAlias www.your-domain.ru ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://your-server_IP:3000/ ProxyPassReverse / http://your-server_IP:3000/ <Location /> Order allow,deny Allow from all </Location> ErrorLog /var/log/httpd/rocket.chat-error_log CustomLog /var/log/httpd/rocket.chat-access_log common </VirtualHost>
Убедитесь, что модуль mod_proxy включен и перезапустите службу Apache, чтобы изменения вступили в силу, используя следующую команду:
systemctl restart httpd
Создайте новую службу systemd:
vi /usr/lib/systemd/system/rocketchat.service
Добавьте следующие строки:
[Unit] Description=The Rocket.Chat server After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target [Service] ExecStart=/usr/local/bin/node /var/www/html/rocket.chat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=root Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://your-domain.ru:3000/ PORT=3000 [Install] WantedBy=multi-user.target
Не забудьте заменить «your-domain.ru» на фактическое доменное имя.
Включите службу Rocket.Chat для автоматического запуска при загрузке:
sudo systemctl enable rocketchat.service
Запустите службу Rocke.Chat:
sudo systemctl start rocketchat.service
Откройте свой любимый веб-браузер и запустите приложение Rocket.Chat, открыв http://your-domain.ru. Создать новую учетную записью администратора admin и нажмите кнопку «Продолжить». На следующей странице введите информацию о организации, на следующей странице выберите «Сохранить автономно», а на последней странице нажмите кнопку «Перейти к вашей рабочей области». Затем войдите в Rocket.Chat с недавно созданной учетной записью администратора, создайте новые члены и каналы, управляйте их разрешениями и настройте Rocket.Chat в соответствии с вашими потребностями. Кроме того, Rocket.Chat предоставляет расширяемую среду интеграции Webhook, поэтому мы можем интегрировать Rocket.Chat со многими другими приложениями через входящие и исходящие сценарии Webhook.
Вот и все. Rocket.Chat был успешно установлен на вашем CentOS 7 VPS.