Поиск по сайту:

Как установить Lets Chat на Ubuntu 22.04


На этой странице

  1. Предпосылки
  2. Установите Node.JS
  3. Установить базу данных MongoDB
  4. Установить Let's Chat
  5. Создание служебного файла Systemd для Lets Chat
  6. Настройка Nginx для Lets Chat
  7. Доступ к веб-интерфейсу для чата
  8. Заключение

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 в своей рабочей среде и начать общаться с другими членами команды. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.