Как да настроите Quassel на Debian 9

IRC е популярен сред разработчиците и потребителите на софтуер с отворен код. Един от недостатъците на IRC е, когато не сте онлайн, може да пропуснете важни разговори или споменаване на псевдонима си. С Quassel и малък VPS можете да имате IRC постоянство, допълнено с уеб базиран потребителски интерфейс и изоставане с възможност за търсене.

Предполагам, че вече знаете как да създадете VPS в контролния панел на Vultr.

Първо, ще трябва да влезете във вашия контролен панел на Vultr и да си създадете чисто нов VPS. В този пример настроих Debian 9, $2,50/месец VPS. Можете да изберете всякакъв размер, но целта е да бъде възможно най-ниска цена. Ще трябва да му дадете име, като например 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

Можете да проверите дали quassel-webserver работи, като изпълните 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 quassel@example.net
        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 .

В случай, че се притеснявате да останете без RAM, може да искате да активирате суап на вашия VPS. Моля, следвайте този урок за размяна на Linux .

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

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

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

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

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

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

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече