Sådan konfigurerer du Quassel på Debian 9

IRC er populær blandt udviklere og brugere af open source-software. En af ulemperne ved IRC er, at når du ikke er online, kan du gå glip af vigtige samtaler eller omtaler af dit kaldenavn. Med Quassel og en lille VPS kan du have IRC-vedholdenhed, komplet med en webbaseret brugergrænseflade og et søgbart efterslæb.

Jeg vil antage, at du allerede ved, hvordan man opretter en VPS i Vultr-kontrolpanelet.

Først skal du logge ind på dit Vultr-kontrolpanel og oprette dig en helt ny VPS. I dette eksempel har jeg opsat en Debian 9, $2,50/måned VPS. Du kan vælge enhver størrelse, men målet for dette er at være så lave omkostninger som muligt. Du skal give den et navn, såsom quassel.example.netog sørge for, at du har konfigureret en DNS A-post.

Da disse instruktioner er fokuseret omkring Debian, bliver du nødt til at ændre dem lidt, hvis du planlægger at bruge en anden Linux-distribution såsom Ubuntu eller CentOS.

Når din VPS kører, vil du gerne installere et par pakker for at få det grundlæggende i gang.

Du skal installere Quassel-Core, PostgreSQL, Apache og PHP sammen med et par biblioteker mere for at kunne tale med SQL-serveren.

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

Du skal også bruge Node.js. Webdelen af ​​din personlige IRC-skyserver kræver Node. Fuldstændig installationsinstruktion kan findes her , men disse er de eneste to linjer, du skal bruge:

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

Dernæst skal du oprette en database for Quassel-kernen. Skift til Postgres-brugeren og kør psql.

# su - postgres
$ psql

Når du er ved PostgreSQL-prompten, skal du oprette en bruger til Quassel og dens database:

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

Nu hvor det grundlæggende er konfigureret, kan du nu starte Quassel-klienten og oprette forbindelse til din kerne.

Når du starter Quassel-klienten på din lokale maskine, vil du blive præsenteret for en forbindelsesdialog. Indtast IP-adressen eller værtsnavnet på din VPS og portnummeret (standard: 4242), og vælg SSL. Hvis du har en proxyserver, kan du indtaste proxyoplysningerne i dialogboksen.

Under den første forbindelse vil du blive guidet gennem en anden guide til at konfigurere kernen. Indtast dit første Quasselcore brugernavn og adgangskode. Den første bruger vil være administratoren. Vælg derefter PostgreSQL-databasens backend og angiv Quassel-databasens brugernavn og adgangskode som defineret i det foregående trin.

Når du har konfigureret det grundlæggende i din kerne, kan du nu opsætte webdelen. Dette giver dig mulighed for at oprette forbindelse til din kerne fra enhver webbrowser. Vi kommer til at bruge Quassel-Webserver .

Opret en bruger til webtjenesten:

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

Træk nu Quassel-webserveren ned og skift ejerskabet til den tidligere oprettede bruger:

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

Du skal derefter "installere" Node.js-applikationen:

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

Kopier settings.jstil settings-user.js og skift værdierne host, forcedefaultog prefixpath:

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

Mens du er i /opt/quassel-webserverstien som root, kan du installere servicefilen til Systemd.

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

Du skal redigere /lib/systemd/system/quassel-webserver.serviceog ændre ExecStartlinjen:

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

Du kan nu aktivere og starte Quassel-webserveren:

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

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

Dernæst skal vi konfigurere Apache.

Du skal aktivere nogle få moduler for at begynde, såsom proxy_http, proxy_wstunnelog rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Opret en ny konfigurationsfil til 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 dit websted:

a2ensite quassel

Genstart Apache for at anvende ændringerne:

systemctl restart apache2

Hvis alt er gået godt, kan du nu browse til din quassel-webserverinstans på http://quassel.example.net.

Dernæst skal vi opsætte en efterslæbssøgning . Dette vil kræve ændringer af quassel-coredatabasen. Lad os først begynde med at klone kildekoden:

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

Når den er klonet, skal du omdøbe filen qrs_config.default.phptil qrs_config.phpog redigere filen. Du bliver nødt til at definere din database db_name, db_user, db_pathog path_prefix. Det skulle ende med at se sådan her ud:

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

Dernæst ændrer vi databasen til at blive brugt af quassel-rest-search:

Skift til postgresbrugeren og kør psql:

# su - postgres
$ psql quassel

Tilføj først en ny kolonne til backlog-tabellen:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

For det andet skal du tilføje de to nye indekser:

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 skal du konfigurere en trigger til at udfylde 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 skal du udfylde tsvkolonnen " ":

UPDATE backlog SET messageid = messageid;

Nu kan du opdatere Apache-konfigurationen, som vi oprettede tidligere og tilføje:

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

Genstart Apache:

systemctl restart apache2

Hvis alt gik godt, kan du navigere til, http://quassel.example.net/searchog du vil se en log-in-skærm.

Nu kan det være et godt tidspunkt at sikre din webserver ved hjælp af Let's Encrypt. Detaljer om hvordan du installerer og konfigurerer Let's Encrypt kan findes på EFF -webstedet eller her på Vultr docs .

Hvis du er bekymret for at løbe tør for RAM, vil du måske aktivere swap på din VPS. Følg venligst denne Linux swap tutorial .


Opsæt Cacti på Debian Jessie

Opsæt Cacti på Debian Jessie

Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed

Konfigurer iRedMail på Debian Wheezy

Konfigurer iRedMail på Debian Wheezy

Bruger du et andet system? Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af Debian Wheezy. Du bør bruge en serve

Sådan konfigureres uovervågede opgraderinger på Debian 9 (Stretch)

Sådan konfigureres uovervågede opgraderinger på Debian 9 (Stretch)

Bruger du et andet system? Hvis du køber en Debian-server, bør du altid have de nyeste sikkerhedsrettelser og opdateringer, uanset om du sover eller ej

Opsæt din egen DNS-server på Debian/Ubuntu

Opsæt din egen DNS-server på Debian/Ubuntu

Denne vejledning forklarer, hvordan man opsætter en DNS-server ved hjælp af Bind9 på Debian eller Ubuntu. Gennem hele artiklen skal du erstatte dit-domænenavn.com i overensstemmelse hermed. Ved th

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

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

I denne artikel vil vi se, hvordan du kompilerer og installerer Nginx mainline fra de officielle kilder til Nginx med PageSpeed-modulet, som giver dig mulighed for at

Sådan installeres Kanboard på Debian 9

Sådan installeres Kanboard på Debian 9

Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere

Sådan installeres Gitea på Debian 9

Sådan installeres Gitea på Debian 9

Bruger du et andet system? Gitea er et alternativt open source, selvhostet versionskontrolsystem drevet af Git. Gitea er skrevet på Golang og er

Installer Lynis på Debian 8

Installer Lynis på Debian 8

Introduktion Lynis er et gratis, open source-systemrevisionsværktøj, der bruges af mange systemadministratorer til at verificere integriteten og hærde deres systemer. jeg

Sådan installeres Thelia 2.3 på Debian 9

Sådan installeres Thelia 2.3 på Debian 9

Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Oprettelse af et netværk af Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hvad skal du bruge En Vultr VPS med mindst 1 GB RAM. SSH-adgang (med root/administrative rettigheder). Trin 1: Installation af BungeeCord Første ting først

Sådan installeres Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Sådan installeres Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Golang er et programmeringssprog udviklet af Google. Takket være sin alsidighed, enkelhed og pålidelighed er Golang blevet en af ​​de mest populære

Nulstil MySQL Root Password på Debian/Ubuntu

Nulstil MySQL Root Password på Debian/Ubuntu

Hvis du har glemt din MySQL root-adgangskode, kan du nulstille den ved at følge trinene i denne artikel. Processen er ret enkel og fungerer på disse

Oprettelse af netværksshares ved hjælp af Samba på Debian

Oprettelse af netværksshares ved hjælp af Samba på Debian

Der er tidspunkter, hvor vi skal dele filer, der skal kunne ses af Windows-klienter. Da Fuse-baserede systemer kun virker på Linux, må du godt introducere

Opsætning af Counter Strike: Source på Debian

Opsætning af Counter Strike: Source på Debian

I denne vejledning vil vi opsætte en Counter Strike: Source-spilserver på Debian 7. Disse kommandoer blev testet på Debian 7, men de burde også virke o

Sådan installeres Unturned 2.2.5 på Debian 8

Sådan installeres Unturned 2.2.5 på Debian 8

I denne vejledning lærer du, hvordan du opsætter en Unturned 2.2.5-server på en Vultr VPS, der kører Debian 8. Bemærk: Dette er en redigeret version af Unturned, der ikke

Sådan installeres Cachet på Debian 8

Sådan installeres Cachet på Debian 8

I denne vejledning lærer du, hvordan du installerer Cachet på Debian 8. Cachet er et kraftfuldt open source-statussidesystem. Installation Denne vejledning er i gang

Sikkerhedskopier flere MySQL- eller MariaDB-databaser automatisk

Sikkerhedskopier flere MySQL- eller MariaDB-databaser automatisk

Introduktion I denne skrive-up, gå godt igennem, hvordan du sikkerhedskopierer flere MySQL- eller MariaDB-databaser, der sidder på den samme maskine ved hjælp af et brugerdefineret bash-script

Opsætning af Chroot på Debian

Opsætning af Chroot på Debian

Denne artikel vil lære dig, hvordan du opsætter et chroot-fængsel på Debian. Jeg går ud fra, at du bruger Debian 7.x. Hvis du kører Debian 6 eller 8, kan dette virke, men

Sådan installeres Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Sådan installeres Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Bruger du et andet system? Reader Self 3.5 er en enkel og fleksibel, gratis og open source, selvhostet RSS-læser og Google Reader-alternativ. Læser Sel

Sådan installeres Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Sådan installeres Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Bruger du et andet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvenligt, gratis og open source Content Management System (CMS), der giver os mulighed for

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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere