Как настроить Quassel в Debian 9

IRC популярен среди разработчиков и пользователей программного обеспечения с открытым исходным кодом. Одним из недостатков IRC является то, что когда вы не онлайн, вы можете пропустить важные разговоры или упоминания вашего псевдонима. С Quassel и небольшим VPS, вы можете иметь постоянство IRC, дополненное веб-интерфейсом и возможностью поиска отставания.

Я предполагаю, что вы уже знаете, как создать VPS в панели управления Vultr.

Во-первых, вам нужно войти в свою панель управления Vultr и создать себе новый VPS. В этом примере я настроил Debian 9, VPS за 2,50 $ в месяц. Вы можете выбрать любой размер, но цель этого - быть как можно дешевле. Вам нужно дать ему имя, например, quassel.example.netи убедиться, что у вас настроена запись DNS A.

Поскольку эти инструкции ориентированы на Debian, вам придется немного их изменить, если вы планируете использовать другой дистрибутив Linux, такой как Ubuntu или CentOS.

Как только ваш VPS будет запущен, вам нужно будет установить несколько пакетов для начала работы.

Вам нужно будет установить Quassel-Core, PostgreSQL, Apache и PHP, а также еще пару библиотек для взаимодействия с сервером SQL.

apt-get install quassel-core postgresql libqt5sql5-psql apache2 php php-pgsql

Вам также понадобится Node.js. Веб-часть вашего личного IRC-облачного сервера требует Node. Полные инструкции по установке можно найти здесь , но это только две строки, которые вам понадобятся:

# curl -sL https://deb.nodesource.com/setup_8.x | bash -
# apt-get install -y nodejs

Далее вам нужно будет создать базу данных для ядра Quassel. Переключитесь на пользователя Postgres и запустите psql.

# su - postgres
$ psql

Получив приглашение PostgreSQL, вам нужно создать пользователя для Quassel и его базы данных:

CREATE USER quassel ENCRYPTED PASSWORD 'somepassword';
CREATE DATABASE quassel WITH OWNER quassel ENCODING 'UTF8';

Теперь, когда основы настроены, вы можете запустить клиент Quassel и подключиться к вашему ядру.

Когда вы запустите клиент Quassel на своем локальном компьютере, вы увидите диалоговое окно подключения. Введите IP-адрес или имя хоста вашего VPS и номер порта (по умолчанию: 4242) и выберите SSL. Если у вас есть прокси-сервер, вы можете ввести информацию о прокси в диалоговом окне.

При первом подключении вы будете руководствоваться другим мастером по настройке ядра. Введите ваше первое имя пользователя и пароль Quasselcore. Первый пользователь будет администратором. Затем выберите базу данных PostgreSQL и укажите имя пользователя и пароль базы данных Quassel, как определено на предыдущем шаге.

После того, как вы настроили основы вашего ядра, вы можете настроить веб-часть. Это позволяет подключаться к вашему ядру из любого веб-браузера. Мы собираемся использовать Quassel-Webserver .

Создайте пользователя для веб-службы:

# useradd -d /opt/quassel-webserver -M -r quassel-webserver

Теперь откройте веб-сервер Quassel и измените владельца на ранее созданного пользователя:

# git clone https://github.com/magne4000/quassel-webserver.git /opt/quassel-webserver
# chown -R quassel-webserver:quasselweb-server /opt/quassel-webserver

Затем вам нужно «установить» приложение Node.js:

# su - quassel-webserver
$ npm install --production

Скопируйте settings.jsк settings-user.js и изменения host, forcedefaultи prefixpathзначения:

host: 'localhost',
forcedefault: 'true',
prefixpath: '/app'

Находясь в /opt/quassel-webserverпути как root, вы можете установить служебный файл для Systemd.

# cp scripts/quassel-webserver.service /lib/systemd/system/quassel-webserver.service

Вам нужно будет отредактировать /lib/systemd/system/quassel-webserver.serviceи изменить ExecStartстроку:

ExecStart=/usr/bin/node /opt/quassel-webserver/app.js -l 127.0.0.1 -m http

Теперь вы можете включить и запустить веб-сервер Quassel:

systemctl enable quassel-webserver.service
systemctl start quassel-webserver.service

Вы можете проверить, что квазель-веб-сервер работает, выполнив systemctl status quassel-webserver.service. Если вы видите Active: active (running), все готово!

Далее мы собираемся настроить Apache.

Вам нужно включить несколько модулей, например proxy_http, proxy_wstunnelи rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Создайте новый файл конфигурации для Quassel:

# nano /etc/apache2/sites-available/quassel.conf

<VirtualHost *:80>

        ServerName quassel.example.net
        ServerAdmin [email protected]
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # Enable Rewrite
        RewriteEngine on

        # Redirect to /app by default
        RedirectMatch ^/$ /app

        # Quassel Webserver
        RewriteRule /app/p/socket(.*) ws://127.0.0.1:64080/app/p/socket$1 [P,L]
        ProxyPass /app http://127.0.0.1:64080/app

</VirtualHost>

И включите свой сайт:

a2ensite quassel

Перезапустите Apache, чтобы применить изменения:

systemctl restart apache2

Если все прошло хорошо, вы можете перейти к своему quassel-webserverэкземпляру по адресу http://quassel.example.net.

Далее мы собираемся настроить поиск по журналу . Это потребует внесения изменений в quassel-coreбазу данных. Сначала давайте начнем с клонирования исходного кода:

# git clone https://github.com/justjanne/quassel-rest-search.git /opt/quassel-rest-search

После того, как клонированы, переименовать файл qrs_config.default.phpв qrs_config.phpи отредактировать файл. Вам нужно будет определить вашу базу данных db_name, db_user, db_pathи path_prefix. Это должно выглядеть примерно так:

<?php
define('db_host', 'localhost');
define('db_port', 5432);
define('db_name', 'quassel');

//Only change this if you know what you are doing
define('db_connector', null);

define('db_user', 'quassel');
define('db_pass', 'somepassword');

define('backend', 'pgsql-smart');

define('path_prefix', '/search');

Далее мы модифицируем базу данных для использования quassel-rest-search:

Переключитесь на postgresпользователя и запустите psql:

# su - postgres
$ psql quassel

Сначала добавьте новый столбец в таблицу невыполненных работ:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

Во-вторых, добавьте два новых индекса:

CREATE INDEX backlog_tsv_idx
  ON backlog
  USING gin(tsv);
CREATE INDEX backlog_tsv_filtered_idx
  ON backlog
  USING gin(tsv)
  WHERE (type & 23559) > 0;

В-третьих, установите триггер для заполнения столбца tsv:

CREATE TRIGGER tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON backlog
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger('tsv', 'pg_catalog.english', 'message');

В-четвертых, заполните tsvстолбец " ":

UPDATE backlog SET messageid = messageid;

Теперь вы можете обновить конфигурацию Apache, которую мы создали ранее, и добавить:

# Quassel Search
Alias /search /opt/quassel-rest-search
<Directory /opt/quassel-rest-search>
        Require all granted
</Directory>

Перезапустите Apache:

systemctl restart apache2

Если все прошло хорошо, вы можете перейти к http://quassel.example.net/searchи вы увидите экран входа в систему.

Теперь самое время защитить свой веб-сервер с помощью Let's Encrypt. Подробную информацию о том, как установить и настроить Let's Encrypt, можно найти на веб-сайте EFF или здесь, на Vultr docs .

Если вы беспокоитесь о нехватке ОЗУ, вы можете включить обмен на VPS. Пожалуйста, следуйте этому руководству по обмену Linux .



Leave a Comment

Настройка NFS Share на Debian

Настройка NFS Share на Debian

NFS - это сетевая файловая система, которая позволяет компьютерам получать доступ к файлам через компьютерную сеть. Это руководство объясняет, как вы можете выставлять папки через NF

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Использование MySQL Views в Debian 7

Использование MySQL Views в Debian 7

Введение В MySQL есть замечательная функция, известная как views. Представления хранятся запросы. Думайте о них как о псевдониме для длинного запроса. В этом руководстве

Настройка Chroot в Debian

Настройка Chroot в Debian

Эта статья научит вас, как настроить chroot-джейл в Debian. Я предполагаю, что вы используете Debian 7.x. Если вы используете Debian 6 или 8, это может сработать, но

Как установить PiVPN на Debian

Как установить PiVPN на Debian

Введение Простой способ настроить VPN-сервер в Debian - это PiVPN. PiVPN - это установщик и оболочка для OpenVPN. Это создает простые команды для вас т

Как собрать Brotli из исходного кода на Debian 9

Как собрать Brotli из исходного кода на Debian 9

Используете другую систему? Brotli - это новый метод сжатия с лучшей степенью сжатия, чем в Gzip. Его исходный код публично размещен на Github. Thi

Как установить Apache Cassandra 3.11.x на Debian 9

Как установить Apache Cassandra 3.11.x на Debian 9

Используете другую систему? Apache Cassandra - бесплатная система управления базами данных NoSQL с открытым исходным кодом, разработанная для обеспечения масштабируемости, высокой

Установите Lynis на Debian 8

Установите Lynis на Debian 8

Введение Lynis - это бесплатный инструмент для аудита системы с открытым исходным кодом, который используется многими системными администраторами для проверки целостности и защиты своих систем. я

Как установить InvoicePlane в Debian 9

Как установить InvoicePlane в Debian 9

Используете другую систему? InvoicePlane - это бесплатное приложение для выставления счетов с открытым исходным кодом. Его исходный код можно найти в этом хранилище Github. Этот гид

Как установить Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Как установить Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Использ��ете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Установите Plesk на Debian 7 (Wheezy)

Установите Plesk на Debian 7 (Wheezy)

Используете другую систему? Plesk - это проприетарная панель управления веб-хостинга, которая позволяет пользователям управлять своими личными и / или клиентскими веб-сайтами, базами данных.

Как установить BookStack в Debian 9

Как установить BookStack в Debian 9

Используете другую систему? BookStack - это простая, удобная и простая в использовании платформа для организации и хранения информации. BookStack полностью бесплатен и открыт

Как установить Pagekit 1.0 CMS на Debian 9 LAMP VPS

Как установить Pagekit 1.0 CMS на Debian 9 LAMP VPS

Используете другую систему? Pagekit 1.0 CMS - это красивая, модульная, расширяемая и легкая, бесплатная и с открытым исходным кодом система управления контентом (CMS) с

Как установить Subrion 4.1 CMS на Debian 9 LAMP VPS

Как установить Subrion 4.1 CMS на Debian 9 LAMP VPS

Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.

Лучшие инструменты мониторинга для Ubuntu и CentOS

Лучшие инструменты мониторинга для Ubuntu и CentOS

Введение Системы Linux поставляются с инструментами мониторинга по умолчанию, такими как top, df и du, которые помогают отслеживать процессы и дисковое пространство. Хотя часто они

Настройте сервер синхронизации Firefox на Debian 9 или Ubuntu 16.04

Настройте сервер синхронизации Firefox на Debian 9 или Ubuntu 16.04

Используете другую систему? Firefox Sync - это функция синхронизации браузера, которая позволяет вам делиться своими данными и предпочтениями (такими как закладки, история

Как установить CMS за октябрь 1.0 на Debian 9 LAMP VPS

Как установить CMS за октябрь 1.0 на Debian 9 LAMP VPS

Используете другую систему? Октябрь 1.0 CMS - это простая и надежная, бесплатная система управления контентом (CMS) с открытым исходным кодом, построенная на платформе Laravel.

Как установить X-Cart 5 на Debian 10

Как установить X-Cart 5 на Debian 10

Используете другую систему? X-Cart - чрезвычайно гибкая платформа электронной коммерции с открытым исходным кодом, обладающая множеством функций и интеграций. Исходный код X-Cart доступен

Отслеживайте состояние сервера Debian с помощью Munin

Отслеживайте состояние сервера Debian с помощью Munin

Munin - это инструмент для мониторинга процессов и ресурсов на вашем компьютере, который представляет информацию в виде графиков через веб-интерфейс. Используйте следующее

Как включить TLS 1.3 в Apache на Debian 10

Как включить TLS 1.3 в Apache на Debian 10

Используете другую систему? TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), который был опубликован в 2018 году в качестве предлагаемого стандарта в RFC 8446.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше