Cum se instalează Quassel pe Debian 9

IRC este popular printre dezvoltatorii și utilizatorii de software open source. Unul dintre dezavantajele IRC este atunci când nu sunteți on-line, puteți rata conversațiile sau mențiunile importante despre porecla dvs. Cu Quassel și un VPS mic, puteți avea persistență IRC, completată cu o UI bazată pe web și un backlog de căutare.

Voi presupune că știți deja cum puteți crea un VPS în panoul de control Vultr.

În primul rând, va trebui să vă conectați la panoul dvs. de control Vultr și să vă creați un VPS nou. În acest exemplu, am configurat un VPS Debian 9, 2,50 USD / lună VPS. Puteți alege orice dimensiune, dar scopul acesta este să fie cât mai mic posibil. Va trebui să îi dați un nume, precum quassel.example.netși să vă asigurați că aveți o înregistrare DNS A configurată.

Deoarece aceste instrucțiuni sunt concentrate în jurul Debian, va trebui să le modificați ușor dacă intenționați să utilizați o distribuție Linux diferită, cum ar fi Ubuntu sau CentOS.

Odată ce VPS-ul dvs. funcționează, veți dori să instalați câteva pachete pentru a începe elementele de bază.

Va trebui să instalați Quassel-Core, PostgreSQL, Apache și PHP, împreună cu alte câteva biblioteci pentru a vorbi cu serverul SQL.

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

De asemenea, veți avea nevoie de Node.js. Porțiunea web a serverului dvs. nor IRC personal necesită Nod. Instrucțiuni complete de instalare pot fi găsite aici , dar acestea sunt singurele două linii de care aveți nevoie:

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

În continuare, va trebui să creați o bază de date pentru nucleul Quassel. Comutați la utilizatorul Postgres și rulați psql.

# su - postgres
$ psql

După ce ați ajuns la promptul PostgreSQL, va trebui să creați un utilizator pentru Quassel și baza sa de date:

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

Acum că elementele de bază sunt configurate, acum puteți lansa clientul Quassel și vă puteți conecta la centrul dvs.

Când porniți clientul Quassel pe mașina dvs. locală, vi se va afișa un dialog de conectare. Introdu adresa IP sau numele gazdei VPS și numărul portului (implicit: 4242) și selectează SSL. Dacă aveți un server proxy, puteți introduce detaliile proxy în dialog.

În timpul primei conexiuni, vei fi ghidat de un alt vrăjitor pentru a configura miezul. Introduceți primul nume de utilizator și parola Quasselcore. Primul utilizator va fi administratorul. Apoi, selectați backend-ul bazei de date PostgreSQL și furnizați numele de utilizator și parola bazei de date Quassel așa cum sunt definite la pasul anterior.

După ce ați configurat elementele de bază ale nucleului dvs., puteți configura acum porțiunea web. Acest lucru vă permite să vă conectați la core cu orice browser web. Vom folosi Quassel-Webserver .

Creați un utilizator pentru serviciul web:

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

Acum trageți jos serverul Quassel și schimbați proprietatea la utilizatorul creat anterior:

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

Apoi, trebuie să „instalați” aplicația Node.js:

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

Copiază settings.jssettings-user.js și schimba host, forcedefaultși prefixpathvalori:

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

În timp ce se află pe /opt/quassel-webservercalea ca root, puteți instala fișierul de service pentru Systemd.

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

Va trebui să editați /lib/systemd/system/quassel-webserver.serviceși să modificați ExecStartlinia:

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

Acum puteți activa și porni serverul web Quassel:

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

Puteți verifica dacă quassel-webserver-ul se execută executând systemctl status quassel-webserver.service. Dacă vedeți Active: active (running), sunteți cu toții pregătiți!

În continuare, vom configura configurația Apache.

Va trebui să activați câteva module pentru a începe, cum ar fi proxy_http, proxy_wstunnelși rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Creați un nou fișier de configurare pentru 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>

Și activați site-ul:

a2ensite quassel

Reporniți Apache pentru a aplica modificările:

systemctl restart apache2

Dacă totul a decurs bine, puteți naviga acum la quassel-webserverinstanța dvs. la http://quassel.example.net.

În continuare, vom configura o căutare în retard . Acest lucru va necesita modificări ale quassel-corebazei de date. În primul rând, să începem cu clonarea codului sursă:

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

Odată clonate, redenumiți fișierul qrs_config.default.phppentru a qrs_config.phpși edita fișierul. Veți avea nevoie pentru a defini baza de date db_name, db_user, db_pathși path_prefix. Ar trebui să ajungă să arate așa ceva:

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

În continuare, modificăm baza de date pentru a fi utilizate de quassel-rest-search:

Comutați la postgresutilizator și rulați psql:

# su - postgres
$ psql quassel

Mai întâi, adăugați o nouă coloană la tabelul de backlog:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

În al doilea rând, adăugați cei doi noi indici:

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;

În al treilea rând, configurați un declanșator pentru a popula coloana tsv:

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

În al patrulea rând, populează tsvcoloana " ":

UPDATE backlog SET messageid = messageid;

Acum puteți actualiza configurația Apache pe care am creat-o anterior și adăugați:

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

Reporniți Apache:

systemctl restart apache2

Dacă toate au decurs bine, puteți naviga la http://quassel.example.net/searchși veți vedea un ecran de logare.

Acum poate fi un moment bun pentru a vă asigura serverul web utilizând Let's Encrypt. Detalii despre cum se instalează și se configurează „Encrypt Let's” pot fi găsite pe site-ul web al EFF sau aici în documentele Vultr .

În cazul în care vă faceți griji cu privire la rămânerea RAM, este posibil să doriți să activați swap-ul pe VPS. Vă rugăm să urmați acest tutorial de swap pentru Linux .

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe