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 [email protected]
        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 .


Sett opp Cacti på Debian Jessie

Sett opp Cacti på Debian Jessie

Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter

Sett opp iRedMail på Debian Wheezy

Sett opp iRedMail på Debian Wheezy

Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve

Slik konfigurerer du uovervåkede oppgraderinger på Debian 9 (Stretch)

Slik konfigurerer du uovervåkede oppgraderinger på Debian 9 (Stretch)

Bruker du et annet system? Hvis du kjøper en Debian-server, bør du alltid ha de nyeste sikkerhetsoppdateringene og oppdateringene, enten du sover eller ikke

Sett opp din egen DNS-server på Debian/Ubuntu

Sett opp din egen DNS-server på Debian/Ubuntu

Denne opplæringen forklarer hvordan du setter opp en DNS-server ved å bruke Bind9 på Debian eller Ubuntu. Bytt ut ditt-domenenavn.com gjennom hele artikkelen. På th

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

I denne artikkelen vil vi se hvordan du kompilerer og installerer Nginx mainline fra de offisielle kildene til Nginx med PageSpeed-modulen, som lar deg t

Hvordan installere Kanboard på Debian 9

Hvordan installere Kanboard på Debian 9

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Gitea på Debian 9

Hvordan installere Gitea på Debian 9

Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er

Installer Lynis på Debian 8

Installer Lynis på Debian 8

Introduksjon Lynis er et gratis systemrevisjonsverktøy med åpen kildekode som brukes av mange systemadministratorer for å verifisere integriteten og herde systemene deres. Jeg

Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

Hvordan installere Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Hvordan installere Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Golang er et programmeringsspråk utviklet av Google. Takket være sin allsidighet, enkelhet og pålitelighet har Golang blitt en av de mest populære

Tilbakestill MySQL Root-passord på Debian/Ubuntu

Tilbakestill MySQL Root-passord på Debian/Ubuntu

Hvis du har glemt MySQL root-passordet ditt, kan du tilbakestille det ved å følge trinnene i denne artikkelen. Prosessen er ganske enkel og fungerer på disse

Opprette nettverksandeler ved å bruke Samba på Debian

Opprette nettverksandeler ved å bruke Samba på Debian

Det er tider når vi trenger å dele filer som må være synlige for Windows-klienter. Siden Fuse-baserte systemer bare fungerer på Linux, bør du introdusere

Sette opp Counter Strike: Source på Debian

Sette opp Counter Strike: Source på Debian

I denne veiledningen skal vi sette opp en Counter Strike: Source-spillserver på Debian 7. Disse kommandoene ble testet på Debian 7, men de bør også fungere o

Hvordan installere Unturned 2.2.5 på Debian 8

Hvordan installere Unturned 2.2.5 på Debian 8

I denne veiledningen lærer du hvordan du setter opp en Unturned 2.2.5-server på en Vultr VPS som kjører Debian 8. Merk: Dette er en redigert versjon av Unturned som ikke

Hvordan installere Cachet på Debian 8

Hvordan installere Cachet på Debian 8

I denne opplæringen lærer du hvordan du installerer Cachet på Debian 8. Cachet er et kraftig åpen kildekode-statussidesystem. Installasjon Denne opplæringen er i gang

Sikkerhetskopier flere MySQL- eller MariaDB-databaser automatisk

Sikkerhetskopier flere MySQL- eller MariaDB-databaser automatisk

Introduksjon I denne artikkelen kan du gå gjennom hvordan du sikkerhetskopierer flere MySQL- eller MariaDB-databaser som sitter på samme maskin ved hjelp av et tilpasset bash-skript

Sette opp en Chroot på Debian

Sette opp en Chroot på Debian

Denne artikkelen vil lære deg hvordan du setter opp et chroot-fengsel på Debian. Jeg antar at du bruker Debian 7.x. Hvis du kjører Debian 6 eller 8, kan dette fungere, men

Hvordan installere Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Hvordan installere Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Bruker du et annet system? Reader Self 3.5 er en enkel og fleksibel, gratis og åpen kildekode, selvhostet RSS-leser og Google Reader-alternativ. Leser Sel

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Bruker du et annet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvennlig, gratis og åpen kildekode Content Management System (CMS) som lar oss

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.

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.

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.

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