Kako nastaviti Quassel na Debian 9

IRC je priljubljen med razvijalci in uporabniki odprtokodne programske opreme. Ena od slabosti IRC je, da kadar niste na spletu, lahko zamudite pomembne pogovore ali omembe svojega vzdevka. S Quasselom in majhnim VPS- om imate lahko vztrajnost IRC, skupaj s spletnim uporabniškim vmesnikom in zaostankom, ki ga je mogoče iskati.

Predvidevam, da že veste, kako ustvariti VPS na nadzorni plošči Vultr.

Najprej se boste morali prijaviti v svojo nadzorno ploščo Vultr in si ustvariti popolnoma nov VPS. V tem primeru sem nastavil Debian 9, 2,50 $/mesec VPS. Izberete lahko katero koli velikost, vendar je cilj tega, da je cena čim nižja. Dati mu boste morali ime, na primer quassel.example.netin se prepričati, da imate konfiguriran zapis DNS A.

Ker so ta navodila osredotočena na Debian, jih boste morali nekoliko spremeniti, če nameravate uporabiti drugo distribucijo Linuxa, kot je Ubuntu ali CentOS.

Ko se vaš VPS zažene, boste želeli namestiti nekaj paketov, da začnete z osnovami.

Za pogovor s strežnikom SQL boste morali namestiti Quassel-Core, PostgreSQL, Apache in PHP ter še nekaj knjižnic.

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

Potrebovali boste tudi Node.js. Spletni del vašega osebnega strežnika v oblaku IRC zahteva Node. Celotna navodila za namestitev najdete tukaj , vendar sta to edini dve vrstici, ki ju boste potrebovali:

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

Nato boste morali ustvariti bazo podatkov za jedro Quassel. Preklopite na uporabnika Postgres in zaženite psql.

# su - postgres
$ psql

Ko ste na pozivu PostgreSQL, boste morali ustvariti uporabnika za Quassel in njegovo bazo podatkov:

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

Zdaj, ko so osnove konfigurirane, lahko zdaj zaženete odjemalca Quassel in se povežete s svojim jedrom.

Ko zaženete odjemalca Quassel na vašem lokalnem računalniku, se vam prikaže pogovorno okno za povezavo. Vnesite naslov IP ali ime gostitelja vašega VPS in številko vrat (privzeto: 4242) in izberite SSL. Če imate proxy strežnik, lahko v pogovorno okno vnesete podrobnosti proxyja.

Med prvo povezavo vas bo drugi čarovnik vodil za konfiguracijo jedra. Vnesite svoje prvo uporabniško ime in geslo za Quasselcore. Prvi uporabnik bo skrbnik. Nato izberite zaledno stran baze podatkov PostgreSQL in vnesite uporabniško ime in geslo baze podatkov Quassel, kot je definirano v prejšnjem koraku.

Ko konfigurirate osnove svojega jedra, lahko zdaj nastavite spletni del. To vam omogoča, da se povežete s svojim jedrom iz katerega koli spletnega brskalnika. Uporabili bomo Quassel-Webserver .

Ustvarite uporabnika za spletno storitev:

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

Zdaj povlecite spletni strežnik Quassel in spremenite lastništvo na predhodno ustvarjenega uporabnika:

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

Nato morate "namestiti" aplikacijo Node.js:

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

Kopirajte settings.jsza settings-user.js in spremeniti host, forcedefaultin prefixpathvrednote:

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

Medtem ko ste na /opt/quassel-webserverpoti kot root, lahko namestite servisno datoteko za Systemd.

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

Morali boste urediti /lib/systemd/system/quassel-webserver.servicein spremeniti ExecStartvrstico:

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

Zdaj lahko omogočite in zaženete spletni strežnik Quassel:

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

Če quassel-webserver deluje, lahko preverite tako, da izvedete systemctl status quassel-webserver.service. Če vidite Active: active (running), ste pripravljeni!

Nato bomo konfigurirali Apache.

Za začetek boste morali omogočiti nekaj modulov, kot sta proxy_http, proxy_wstunnelin rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Ustvarite novo konfiguracijsko datoteko za 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>

In omogočite svoje spletno mesto:

a2ensite quassel

Znova zaženite Apache, da uporabite spremembe:

systemctl restart apache2

Če je šlo vse v redu, lahko zdaj brskate do svojega quassel-webserverprimerka na http://quassel.example.net.

Nato bomo nastavili iskanje zaostankov . To bo zahtevalo spremembe quassel-corebaze podatkov. Najprej začnimo s kloniranjem izvorne kode:

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

Ko je klonirana, preimenujte datoteko qrs_config.default.phpv qrs_config.phpin jo uredite. Morali boste definirati svojo bazo podatkov db_name, db_user, db_pathin path_prefix. Na koncu bi moralo izgledati nekako takole:

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

Nato spremenimo bazo podatkov, ki jo bo uporabljal quassel-rest-search:

Preklopite na postgresuporabnika in zaženite psql:

# su - postgres
$ psql quassel

Najprej dodajte nov stolpec v tabelo zaostankov:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

Drugič, dodajte dva nova indeksa:

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;

Tretjič, nastavite sprožilec za zapolnitev stolpca tsv:

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

Četrtič, izpolnite tsvstolpec " ":

UPDATE backlog SET messageid = messageid;

Zdaj lahko posodobite konfiguracijo Apache, ki smo jo ustvarili prej, in dodate:

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

Znova zaženite Apache:

systemctl restart apache2

Če je šlo vse v redu, se lahko pomaknete do http://quassel.example.net/searchin videli boste zaslon za prijavo.

Zdaj je morda pravi čas, da zaščitite svoj spletni strežnik z uporabo Let's Encrypt. Podrobnosti o tem, kako namestiti in konfigurirati Let's Encrypt, lahko najdete na spletni strani EFF ali tukaj v dokumentih Vultr .

Če vas skrbi, da vam bo zmanjkalo RAM-a, boste morda želeli omogočiti zamenjavo na vašem VPS. Prosimo, sledite tej vadnici za zamenjavo Linuxa .

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več