Hvordan sette opp Quassel på Debian 9

IRC er populært blant utviklere og brukere av åpen kildekode-programvare. En av ulempene med IRC er at når du ikke er på nett, kan du gå glipp av viktige samtaler eller omtale av kallenavnet ditt. Med Quassel og en liten VPS kan du ha IRC-utholdenhet, komplett med et nettbasert brukergrensesnitt og en søkbar backlog.

Jeg kommer til å anta at du allerede vet hvordan du lager en VPS i Vultr-kontrollpanelet.

Først må du logge på Vultr-kontrollpanelet ditt og lage deg en helt ny VPS. I dette eksemplet har jeg satt opp en Debian 9, $2,50/måned VPS. Du kan velge hvilken som helst størrelse, men målet for dette er å være så lave kostnader som mulig. Du må gi den et navn, for eksempel quassel.example.netog sørge for at du har konfigurert en DNS A-post.

Siden disse instruksjonene er fokusert rundt Debian, må du endre dem litt hvis du planlegger å bruke en annen Linux-distribusjon som Ubuntu eller CentOS.

Når VPS-en din kjører, vil du installere noen pakker for å få det grunnleggende i gang.

Du må installere Quassel-Core, PostgreSQL, Apache og PHP, sammen med et par flere biblioteker for å snakke med SQL-serveren.

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

Du kommer også til å trenge Node.js. Nettdelen av din personlige IRC-skyserver krever Node. Fullstendige instruksjoner for installasjon finner du her , men dette er de eneste to linjene du trenger:

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

Deretter må du opprette en database for Quassel-kjernen. Bytt til Postgres-brukeren og kjør psql.

# su - postgres
$ psql

Når du er ved PostgreSQL-ledeteksten, må du opprette en bruker for Quassel og dens database:

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

Nå som det grunnleggende er konfigurert, kan du nå starte Quassel-klienten og koble til kjernen din.

Når du starter Quassel-klienten på din lokale maskin, vil du bli presentert med en tilkoblingsdialog. Skriv inn IP-adressen eller vertsnavnet til VPS-en din og portnummeret (standard: 4242) og velg SSL. Hvis du har en proxy-server, kan du angi proxy-detaljene i dialogboksen.

Under den første tilkoblingen vil du bli guidet gjennom en annen veiviser for å konfigurere kjernen. Skriv inn ditt første Quasselcore brukernavn og passord. Den første brukeren vil være administrator. Deretter velger du PostgreSQL-databasestøtten og oppgir Quassel-databasens brukernavn og passord som definert i forrige trinn.

Når du har konfigurert det grunnleggende for kjernen din, kan du nå sette opp webdelen. Dette lar deg koble til kjernen fra hvilken som helst nettleser. Vi skal bruke Quassel-Webserver .

Opprett en bruker for nettjenesten:

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

Trekk nå ned Quassel-nettserveren og endre eierskapet til den tidligere opprettede brukeren:

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

Du må da "installere" Node.js-applikasjonen:

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

Kopier settings.jstil settings-user.js og endre host, forcedefaultog prefixpathverdiene:

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

Mens du er i /opt/quassel-webserverbanen som root, kan du installere tjenestefilen for Systemd.

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

Du må redigere /lib/systemd/system/quassel-webserver.serviceog endre ExecStartlinjen:

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

Du kan nå aktivere og starte Quassel-nettserveren:

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

Du kan sjekke at quassel-webserveren kjører ved å kjøre systemctl status quassel-webserver.service. Hvis du ser Active: active (running), er du klar!

Deretter skal vi konfigurere Apache.

Du må aktivere noen få moduler for å begynne, for eksempel proxy_http, proxy_wstunnelog rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Opprett en ny konfigurasjonsfil for 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>

Og aktiver nettstedet ditt:

a2ensite quassel

Start Apache på nytt for å bruke endringene:

systemctl restart apache2

Hvis alt har gått bra, kan du nå bla til quassel-webserverinstansen din på http://quassel.example.net.

Deretter skal vi sette opp et etterslepsøk . Dette vil kreve endringer i quassel-coredatabasen. Først, la oss begynne med å klone kildekoden:

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

Når den er klonet, endre navn på filen qrs_config.default.phptil qrs_config.phpog rediger filen. Du må definere din database db_name, db_user, db_pathog path_prefix. Det burde ende opp med å se omtrent slik ut:

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

Deretter endrer vi databasen som skal brukes av quassel-rest-search:

Bytt til postgresbrukeren og kjør psql:

# su - postgres
$ psql quassel

Først legger du til en ny kolonne i backlog-tabellen:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

For det andre, legg til de to nye indeksene:

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;

For det tredje, sett opp en utløser for å fylle ut tsv-kolonnen:

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

For det fjerde fyller du ut tsvkolonnen:

UPDATE backlog SET messageid = messageid;

Nå kan du oppdatere Apache-konfigurasjonen som vi opprettet tidligere og legge til:

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

Start Apache på nytt:

systemctl restart apache2

Hvis alt gikk bra, kan du navigere til http://quassel.example.net/searchog du vil se en påloggingsskjerm.

Nå kan det være et godt tidspunkt å sikre nettserveren din ved å bruke Let's Encrypt. Detaljer om hvordan du installerer og konfigurerer Let's Encrypt finner du på EFF -nettstedet eller her på Vultr docs .

I tilfelle du er bekymret for å gå tom for RAM, kan det være lurt å aktivere swap på VPS-en. Vennligst følg denne Linux-bytteveiledningen .

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer