Jak nastavit Quassel na Debianu 9

IRC je populární mezi vývojáři a uživateli open source softwaru. Jednou z nevýhod IRC je, že když nejste online, můžete zmeškat důležité konverzace nebo zmínky o vaší přezdívce. S Quasselem a malým VPS můžete mít stálost IRC, doplněnou o webové uživatelské rozhraní a prohledávatelné nevyřízené položky.

Budu předpokládat, že již víte, jak vytvořit VPS v ovládacím panelu Vultr.

Nejprve se budete muset přihlásit k ovládacímu panelu Vultr a vytvořit si zcela nový VPS. V tomto příkladu jsem nastavil Debian 9, 2,50 $ měsíčně VPS. Můžete si vybrat jakoukoli velikost, ale cílem je mít co nejnižší cenu. Budete ji muset pojmenovat, například quassel.example.neta ujistit se, že máte nakonfigurovaný záznam DNS A.

Protože jsou tyto pokyny zaměřeny na Debian, budete je muset mírně upravit, pokud plánujete používat jinou distribuci Linuxu, jako je Ubuntu nebo CentOS.

Jakmile bude vaše VPS spuštěno, budete chtít nainstalovat několik balíčků, abyste získali základy.

Budete muset nainstalovat Quassel-Core, PostgreSQL, Apache a PHP spolu s několika dalšími knihovnami, abyste mohli komunikovat se serverem SQL.

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

Budete také potřebovat Node.js. Webová část vašeho osobního cloudového serveru IRC vyžaduje Node. Kompletní pokyny k instalaci naleznete zde , ale budete potřebovat pouze tyto dva řádky:

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

Dále budete muset vytvořit databázi pro jádro Quassel. Přepněte na uživatele Postgres a spusťte psql.

# su - postgres
$ psql

Jakmile se dostanete na výzvu PostgreSQL, budete muset vytvořit uživatele pro Quassel a jeho databázi:

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

Nyní, když jsou nakonfigurovány základy, můžete spustit klienta Quassel a připojit se k vašemu jádru.

Když spustíte klienta Quassel na vašem místním počítači, zobrazí se vám dialog pro připojení. Zadejte IP adresu nebo název hostitele vašeho VPS a číslo portu (výchozí: 4242) a vyberte SSL. Pokud máte proxy server, můžete v dialogovém okně zadat podrobnosti o proxy.

Během prvního připojení vás provede další průvodce konfigurací jádra. Zadejte své první uživatelské jméno a heslo pro Quasselcore. Prvním uživatelem bude administrátor. Dále vyberte backend databáze PostgreSQL a zadejte uživatelské jméno a heslo databáze Quassel, jak bylo definováno v předchozím kroku.

Jakmile nakonfigurujete základy svého jádra, můžete nyní nastavit webovou část. To vám umožní připojit se k vašemu jádru z libovolného webového prohlížeče. Budeme používat Quassel-Webserver .

Vytvořte uživatele pro webovou službu:

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

Nyní stáhněte webový server Quassel a změňte vlastnictví na dříve vytvořeného uživatele:

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

Poté musíte „nainstalovat“ aplikaci Node.js:

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

Zkopírujte settings.jsdo settings-user.js a změňte hodnoty host, forcedefaulta prefixpath:

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

Když jste v /opt/quassel-webservercestě jako root, můžete nainstalovat soubor služby pro Systemd.

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

Budete muset upravit /lib/systemd/system/quassel-webserver.servicea změnit ExecStartřádek:

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

Nyní můžete povolit a spustit webový server Quassel:

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

Můžete zkontrolovat, že quassel-webserver běží spuštěním systemctl status quassel-webserver.service. Pokud vidíte Active: active (running), jste připraveni!

Dále nakonfigurujeme Apache.

Chcete-li začít, budete muset povolit několik modulů, například proxy_http, proxy_wstunnela rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Vytvořte nový konfigurační soubor pro 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>

A povolte svůj web:

a2ensite quassel

Chcete-li použít změny, restartujte Apache:

systemctl restart apache2

Pokud vše proběhlo v pořádku, můžete nyní procházet svou quassel-webserverinstancí na adrese http://quassel.example.net.

Dále nastavíme vyhledávání nevyřízených položek . To bude vyžadovat úpravy quassel-coredatabáze. Nejprve začněme klonováním zdrojového kódu:

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

Po klonování přejmenujte soubor qrs_config.default.phpna qrs_config.phpa upravte soubor. Budete muset definovat své databáze db_name, db_user, db_patha path_prefix. Mělo by to nakonec vypadat nějak takto:

<?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');

Dále upravíme databázi, kterou bude používat quassel-rest-search:

Přepněte na postgresuživatele a spusťte psql:

# su - postgres
$ psql quassel

Nejprve přidejte nový sloupec do tabulky nevyřízených položek:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

Za druhé, přidejte dva nové indexy:

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;

Za třetí, nastavte spouštěč pro vyplnění sloupce tsv:

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

Za čtvrté, vyplňte tsvsloupec „ “:

UPDATE backlog SET messageid = messageid;

Nyní můžete aktualizovat konfiguraci Apache, kterou jsme vytvořili dříve, a přidat:

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

Restartujte Apache:

systemctl restart apache2

Pokud vše proběhlo v pořádku, můžete přejít na http://quassel.example.net/searcha uvidíte přihlašovací obrazovku.

Nyní může být vhodný čas zabezpečit váš webový server pomocí Let's Encrypt. Podrobnosti o instalaci a konfiguraci Let's Encrypt lze nalézt na webových stránkách EFF nebo zde na Vultr docs .

V případě, že se obáváte, že vám dojde RAM, možná budete chtít na svém VPS povolit swap. Postupujte prosím podle tohoto návodu k výměně Linuxu .

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více