Как установить Lets Chat на Ubuntu 22.04
На этой странице
- Предпосылки
- Установите Node.JS
- Установить базу данных MongoDB
- Установить Let's Chat
- Создание служебного файла Systemd для Lets Chat
- Настройка Nginx для Lets Chat
- Доступ к веб-интерфейсу для чата
- Заключение
Lets Chat — это бесплатное приложение для постоянного обмена сообщениями с открытым исходным кодом, работающее на Node.js и MongoDB. Он предназначен для небольших, близких команд, которые предлагают богатый набор функций, таких как аутентификация LDAP/Kerberos, REST-подобный API и поддержка XMPP. Используя Lets Chat, вы можете отправлять все виды сообщений, а также находить чаты групп по интересам, голосовые стикеры и классные смайлики.
В этом посте мы покажем вам, как установить Lets Chat с Nginx в качестве обратного прокси-сервера на Ubuntu 22.04.
Предпосылки
- Сервер под управлением Ubuntu 22.04.
- На сервере настроен пароль root.
Установите Node.JS
Перед началом вам необходимо установить Node.js на свой сервер. Чтобы установить последнюю версию Node.js, вам потребуется добавить репозиторий Node Source в APT.
Сначала установите все необходимые зависимости с помощью следующей команды:
apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common -y
После установки всех зависимостей добавьте репозиторий Node.js в APT.
curl -sL https://deb.nodesource.com/setup_18.x | bash -
После добавления репозитория вы можете установить Node.js с помощью следующей команды:
apt-get install nodejs -y
После успешной установки проверьте версию Node.js с помощью следующей команды:
node -v
Вы получите следующий вывод:
v18.7.0
Установить базу данных MongoDB
Вам также потребуется установить базу данных MongoDB на вашем сервере.
Сначала загрузите и установите пакет libssl с помощью следующей команды:
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Затем добавьте ключ MongoDB GPG и репозиторий, используя следующую команду:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Затем обновите кэш репозитория с помощью следующей команды:
apt update
После обновления репозитория установите MongoDB с помощью следующей команды:
apt install -y mongodb-org
После установки пакета MongoDB запустите и включите службу MongoDB с помощью следующей команды:
systemctl start mongod
systemctl enable mongod
Вы можете проверить статус службы MongoDB с помощью следующей команды:
systemctl status mongod
Вы должны увидеть следующий вывод:
? mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2022-07-31 04:00:08 UTC; 6s ago Docs: https://docs.mongodb.org/manual Main PID: 42274 (mongod) Memory: 61.1M CPU: 1.014s CGroup: /system.slice/mongod.service ??42274 /usr/bin/mongod --config /etc/mongod.conf Jul 31 04:00:08 ubuntu2204 systemd[1]: Started MongoDB Database Server.
Установите чат
Во-первых, вам нужно скачать последнюю версию Lets Chat из репозитория Git Hub. Вы можете скачать его с помощью следующей команды:
git clone https://github.com/sdelements/lets-chat.git
После завершения загрузки измените каталог на загруженный каталог и установите все необходимые зависимости, используя следующую команду:
cd lets-chat
npm install
Затем скопируйте образец файла конфигурации и запустите сервер Lets Chat с помощью следующей команды:
cp settings.yml.sample settings.yml
npm start
Вы должны увидеть следующий вывод:
> start > node app.js (node:42373) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead, or set the `useMongoClient` option if using `connect()` or `createConnection()`. See http://mongoosejs.com/docs/4.x/docs/connections.html#use-mongo-client (Use `node --trace-deprecation ...` to show where the warning was created) ??? ????????????????????????? ?????????? ??? ?????? ????????? ??? ????????????????????????? ??????????? ???????????????????? ??? ?????? ??? ???????? ??? ???????????????? ??? ??? ?????? ??? ???????? ??? ???????????????? ??? ???????????????? ??? ???????? ??????????? ?????? ??? ??? ???????????????? ??? ???????? ?????????? ?????? ??? ??? Release 0.4.8
Нажмите CTRL + C, чтобы остановить службу Lets Chat.
Создайте служебный файл Systemd для Lets Chat
Далее вам нужно будет создать служебный файл systemd для Lets Chat. Вы можете создать его с помощью следующей команды:
nano /etc/systemd/system/letschat.service
Добавьте следующие строки:
[Unit] Description=Let's Chat Server Wants=mongodb.service After=network.target mongod.service [Service] Type=simple WorkingDirectory=/root/lets-chat ExecStart=/usr/bin/npm start User=root Group=root Restart=always RestartSec=9 [Install] WantedBy=multi-user.target
Сохраните и закройте файл, затем перезагрузите демон systemd с помощью следующей команды:
systemctl daemon-reload
Затем запустите и включите службу Lets Chat с помощью следующей команды:
systemctl start letschat
systemctl enable letschat
Затем проверьте статус Lets Chat с помощью следующей команды:
systemctl status letschat
Вы должны увидеть следующий вывод:
? letschat.service - Let's Chat Server Loaded: loaded (/etc/systemd/system/letschat.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2022-07-31 04:02:34 UTC; 4s ago Main PID: 42429 (npm start) Tasks: 23 (limit: 2242) Memory: 157.9M CPU: 4.457s CGroup: /system.slice/letschat.service ??42429 "npm start" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??42440 sh /tmp/start-b5e830e4.sh ??42441 letschat "" "" "" Jul 31 04:02:34 ubuntu2204 npm[42429]: > node app.js Jul 31 04:02:38 ubuntu2204 npm[42441]: (node:42441) DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instead> Jul 31 04:02:38 ubuntu2204 npm[42441]: (Use `node --trace-deprecation ...` to show where the warning was created) Jul 31 04:02:38 ubuntu2204 npm[42441]: ??? ????????????????????????? ?????????? ??? ?????? ????????? Jul 31 04:02:38 ubuntu2204 npm[42441]: ??? ????????????????????????? ??????????? ???????????????????? Jul 31 04:02:38 ubuntu2204 npm[42441]: ??? ?????? ??? ???????? ??? ???????????????? ??? Jul 31 04:02:38 ubuntu2204 npm[42441]: ??? ?????? ??? ???????? ??? ???????????????? ??? Jul 31 04:02:38 ubuntu2204 npm[42441]: ???????????????? ??? ???????? ??????????? ?????? ??? ??? Jul 31 04:02:38 ubuntu2204 npm[42441]: ???????????????? ??? ???????? ?????????? ?????? ??? ??? Jul 31 04:02:38 ubuntu2204 npm[42441]: Release 0.4.8
В этот момент служба Lets Chat запускается и прослушивает порт 5000. Вы можете проверить ti с помощью следующей команды:
ss -antpl | grep 5000
Вы должны увидеть следующий вывод:
LISTEN 0 511 127.0.0.1:5000 0.0.0.0:* users:(("letschat",pid=42441,fd=20))
Настройте Nginx для чата
Далее вам нужно будет установить и настроить Nginx в качестве обратного прокси для Lets Chat. Таким образом, вы можете получить доступ к Lets Chat через порт 80.
Сначала установите пакет сервера Nginx с помощью следующей команды:
apt install nginx -y
Затем создайте файл конфигурации виртуального хоста Nginx:
nano /etc/nginx/conf.d/letschat.conf
Добавьте следующие конфигурации:
server { server_name letschat.example.com; listen 80; access_log /var/log/nginx/lets_chat-access.log; error_log /var/log/nginx/lets_chat-error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_cache_bypass $http_upgrade; proxy_pass http://127.0.0.1:5000; } }
Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксической ошибки:
nginx -t
Вы должны увидеть следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Наконец, перезапустите службу Nginx, чтобы применить изменения конфигурации:
systemctl restart nginx
Вы также можете проверить состояние Nginx с помощью следующей команды:
systemctl status nginx
Вы должны увидеть статус Nginx в следующем выводе:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-07-31 04:04:23 UTC; 5s ago Docs: man:nginx(8) Process: 43193 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 43194 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 43195 (nginx) Tasks: 2 (limit: 2242) Memory: 2.5M CPU: 35ms CGroup: /system.slice/nginx.service ??43195 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??43196 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" Jul 31 04:04:23 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server... Jul 31 04:04:23 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
Веб-интерфейс Access Lets Chat
Теперь откройте веб-браузер и войдите в веб-интерфейс Lets Chat, используя URL-адрес http://letschat.example.com.
Вам нужно будет нажать на кнопку «Мне нужна учетная запись», чтобы создать учетную запись. Вы должны увидеть следующую страницу:
Введите имя пользователя, пароль, адрес электронной почты и нажмите кнопку «Зарегистрироваться». После успешной регистрации вы должны увидеть следующий экран:
Нажмите кнопку ОК. Вы будете перенаправлены на экран входа в Lets Chat:
Введите имя пользователя и пароль от Lets Chat и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Lets Chat на следующем экране:
Заключение
Поздравляем! вы успешно установили сервер Lets Chat с Nginx в качестве обратного прокси-сервера на Ubuntu 22.04. Теперь вы можете развернуть Lets Chat в своей рабочей среде и начать общаться с другими членами команды. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.