alex_tv
Проверенные
- Сообщения
- 35
- Реакции
- 9
- Баллы
- 5,505
Кстати вопрос
А этот чат как ведёт архивы сообщений ?
Как долго хранится архив сообщений ? Как настраивается (где) автоудаление, если оно есть ?
Есть ли возможность дублировать сообщения в какуюто тему форума ?
В процессе установки для "попробовать" этого чата увидел несколько неполное описание ньюнсов настройки касающихся серверной части.
Хочу дополнить в виде простых действий, доступных даже слабо знакомым с консолью linux.
Опишу процесс установки чата на форум, на примере установки для
сайта "your-site.com", расположенного у пользователя "username",
с корнем сайта в директории "/home/username/domains/your-site.com/public_html",
при этом internal_data вынесен из корня сайта в директорию "/home/username/internal_data/" (если не вынесен, вы можете просто исправить пути)
Пишу тут везде пути полностью специально, так правильнее, да и удобнее для облегчения восприятия, повторения и правки под условия вашего сервера.
Сайт работает в системе с systemd (Centos) под nxinx и php-fpm, но в дебианах-убунтах все должно быть аналогично.
Приступим!
NGINX (внести в основной конфиг, в конец раздела "http {" но до сайтовых конфигов что начинаются с "server {" ):
NGINX (внести virtual host/site конфиг, что начинается с "server {" перед 1й location ):
где
и этот же порт пропишите в поле "Порт:" на странице настроек чата
в пункте "Тип клиент-серверной связи:" в подпункте "(WebSocket) Proxied address"
Настройка чата как systemd сервис:
Для этого в шеле создайте конфиг для старта процесса серверной части чата:
Если делаете от рута, не забудьте выставить владельцем вашего пользователя, от которого работает чат
И также (от рута) создайте конфиг юнита
После чего выполните команды
Стартануть серверную часть чата и посмотреть его статус можно так :
После этого нелишне рестартовать и nginx (в котором ранее были внесены правки)
А этот чат как ведёт архивы сообщений ?
Как долго хранится архив сообщений ? Как настраивается (где) автоудаление, если оно есть ?
Есть ли возможность дублировать сообщения в какуюто тему форума ?
В процессе установки для "попробовать" этого чата увидел несколько неполное описание ньюнсов настройки касающихся серверной части.
Хочу дополнить в виде простых действий, доступных даже слабо знакомым с консолью linux.
Опишу процесс установки чата на форум, на примере установки для
сайта "your-site.com", расположенного у пользователя "username",
с корнем сайта в директории "/home/username/domains/your-site.com/public_html",
при этом internal_data вынесен из корня сайта в директорию "/home/username/internal_data/" (если не вынесен, вы можете просто исправить пути)
Пишу тут везде пути полностью специально, так правильнее, да и удобнее для облегчения восприятия, повторения и правки под условия вашего сервера.
Сайт работает в системе с systemd (Centos) под nxinx и php-fpm, но в дебианах-убунтах все должно быть аналогично.
Приступим!
NGINX (внести в основной конфиг, в конец раздела "http {" но до сайтовых конфигов что начинаются с "server {" ):
Код:
##
# Connection header for WebSocket reverse proxy
##
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
NGINX (внести virtual host/site конфиг, что начинается с "server {" перед 1й location ):
Код:
# BS_Real_Time_Chat
location /socket.io/ {
proxy_pass http://127.0.0.1:{your_chat_port};
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
где
{your_chat_port}
замените на например 2095 (или другой порт)и этот же порт пропишите в поле "Порт:" на странице настроек чата
У Вас недостаточно прав для просмотра ссылок.
Вход или Регистрация
Там же укажите тот URI "/socket.io" , что был использован в location ,в пункте "Тип клиент-серверной связи:" в подпункте "(WebSocket) Proxied address"
Настройка чата как systemd сервис:
Для этого в шеле создайте конфиг для старта процесса серверной части чата:
Код:
cat > /home/username/chat_systemd << 'EOF'
#!/usr/bin/env php
<?php
$phpVersion = phpversion();
if (version_compare($phpVersion, '7.0.0', '<'))
{
die("PHP 7.0.0 or newer is required. $phpVersion does not meet this requirement. Please ask your host to upgrade PHP.");
}
$dir = __DIR__;
//require ($dir . '/src/XF.php');
require ($dir . '/domains/your-site.com/public_html/src/XF.php');
XF::start($dir);
XF::setupApp('XF\App');
\Workerman\Worker::$pidFile = '/home/username/internal_data/bs_chat.pid';
$runner = new \BS\RealTimeChat\Cli\WorkermanRunner();
$runner->run();
EOF
Если делаете от рута, не забудьте выставить владельцем вашего пользователя, от которого работает чат
chown username.username /home/username/chat_systemd
И также (от рута) создайте конфиг юнита
Код:
cat > /usr/lib/systemd/system/be_chat.service << 'EOF'
[Unit]
Description=Real Time Chat server
#Requires=mariadb.service
Requires=mysqld.service
[Service]
User=username
Group=username
Type=forking
PIDFile=/home/username/internal_data/bs_chat.pid
WorkingDirectory=/home/username/domains/your-site.com/public_html
ExecStart=/usr/bin/php /home/username/chat_systemd start -d
ExecStop=/usr/bin/php /home/username/chat_systemd stop
ExecReload=/usr/bin/php /home/username/chat_systemd restart -d
TimeoutSec=300
Restart=always
[Install]
WantedBy=multi-user.target
EOF
После чего выполните команды
systemctl daemon-reload
systemctl enable be_chat.service
Стартануть серверную часть чата и посмотреть его статус можно так :
systemctl start be_chat.service
systemctl status be_chat.service
После этого нелишне рестартовать и nginx (в котором ранее были внесены правки)
systemctl restart nginx.service
Последнее редактирование модератором: