IRC je popularan među programerima i korisnicima softvera otvorenog koda. Jedan od nedostataka IRC-a je kada niste na mreži, možete propustiti važne razgovore ili spominjanje svog nadimka. Uz Quassel i mali VPS, možete imati IRC postojanost, zajedno s web-baziranim korisničkim sučeljem i zaostatkom koji se može pretraživati.
Pretpostavljam da već znate kako stvoriti VPS na Vultr upravljačkoj ploči.
Prvo, morat ćete se prijaviti na svoju Vultr kontrolnu ploču i stvoriti sebi potpuno novi VPS. U ovom primjeru, postavio sam Debian 9, 2,50 USD/mjesečno VPS. Možete odabrati bilo koju veličinu, ali cilj je da to bude što niža cijena. Morat ćete mu dati ime, kao što je quassel.example.neti provjeriti imate li konfiguriran DNS A zapis.
Budući da su ove upute usmjerene na Debian, morat ćete ih malo izmijeniti ako planirate koristiti drugu distribuciju Linuxa kao što je Ubuntu ili CentOS.
Nakon što vaš VPS bude pokrenut, htjet ćete instalirati nekoliko paketa kako biste pokrenuli osnove.
Morat ćete instalirati Quassel-Core, PostgreSQL, Apache i PHP, zajedno s još nekoliko knjižnica za razgovor sa SQL poslužiteljem.
apt-get install quassel-core postgresql libqt5sql5-psql apache2 php php-pgsql
Također će vam trebati Node.js. Web dio vašeg osobnog IRC cloud poslužitelja zahtijeva Node. Cjelovite upute za instalaciju možete pronaći ovdje , ali ovo su jedine dvije linije koje će vam trebati:
# curl -sL https://deb.nodesource.com/setup_8.x | bash -
# apt-get install -y nodejs
Zatim ćete morati stvoriti bazu podataka za Quassel jezgru. Prijeđite na korisnika Postgresa i pokrenite psql.
# su - postgres
$ psql
Kada dođete do PostgreSQL prompta, morat ćete stvoriti korisnika za Quassel i njegovu bazu podataka:
CREATE USER quassel ENCRYPTED PASSWORD 'somepassword';
CREATE DATABASE quassel WITH OWNER quassel ENCODING 'UTF8';
Sada kada su osnove konfigurirane, sada možete pokrenuti Quassel klijent i povezati se sa svojom jezgrom.
Kada pokrenete Quassel klijent na svom lokalnom računalu, prikazat će vam se dijaloški okvir za povezivanje. Unesite IP adresu ili naziv hosta vašeg VPS-a i broj porta (zadano: 4242) i odaberite SSL. Ako imate proxy poslužitelj, možete unijeti pojedinosti proxyja u dijaloški okvir.
Tijekom prvog povezivanja bit ćete vođeni putem drugog čarobnjaka da konfigurirate jezgru. Unesite svoje prvo Quasselcore korisničko ime i lozinku. Prvi korisnik bit će administrator. Zatim odaberite pozadinu baze podataka PostgreSQL i navedite korisničko ime i lozinku Quassel baze podataka kako je definirano u prethodnom koraku.
Nakon što ste konfigurirali osnove svoje jezgre, sada možete postaviti web-dio. To vam omogućuje povezivanje s vašom jezgrom iz bilo kojeg web-preglednika. Koristit ćemo Quassel-Webserver .
Napravite korisnika za web uslugu:
# useradd -d /opt/quassel-webserver -M -r quassel-webserver
Sada povucite prema dolje web poslužitelj Quassel i promijenite vlasništvo na prethodno kreiranog korisnika:
# git clone https://github.com/magne4000/quassel-webserver.git /opt/quassel-webserver
# chown -R quassel-webserver:quasselweb-server /opt/quassel-webserver
Zatim morate "instalirati" aplikaciju Node.js:
# su - quassel-webserver
$ npm install --production
Kopirati settings.jsna settings-user.js i promijeniti host, forcedefaulti prefixpathvrijednosti:
host: 'localhost',
forcedefault: 'true',
prefixpath: '/app'
Dok ste na /opt/quassel-webserverputu kao root, možete instalirati servisnu datoteku za Systemd.
# cp scripts/quassel-webserver.service /lib/systemd/system/quassel-webserver.service
Morat ćete urediti /lib/systemd/system/quassel-webserver.servicei promijeniti ExecStartredak:
ExecStart=/usr/bin/node /opt/quassel-webserver/app.js -l 127.0.0.1 -m http
Sada možete omogućiti i pokrenuti Quassel web poslužitelj:
systemctl enable quassel-webserver.service
systemctl start quassel-webserver.service
Možete provjeriti je li quassel-webserver pokrenut tako da izvršite systemctl status quassel-webserver.service. Ako vidite Active: active (running), sve je spremno!
Zatim ćemo konfigurirati Apache.
Za početak ćete morati omogućiti nekoliko modula, kao što su proxy_http, proxy_wstunneli rewrite.
# a2enmod proxy_http proxy_wstunnel rewrite
Napravite novu konfiguracijsku datoteku 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>
I omogućite svoju web stranicu:
a2ensite quassel
Ponovo pokrenite Apache da biste primijenili promjene:
systemctl restart apache2
Ako je sve prošlo dobro, sada možete pretraživati svoj quassel-webserverprimjerak na http://quassel.example.net.
Zatim ćemo postaviti pretragu zaostatka . To će zahtijevati izmjene quassel-corebaze podataka. Prvo, počnimo s kloniranjem izvornog koda:
# git clone https://github.com/justjanne/quassel-rest-search.git /opt/quassel-rest-search
Nakon kloniranja, preimenujte datoteku qrs_config.default.phpu qrs_config.phpi uredite datoteku. Morat ćete definirati svoju bazu podataka db_name, db_user, db_pathi path_prefix. Na kraju bi trebao izgledati otprilike ovako:
<?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');
Zatim mijenjamo bazu podataka koju će koristiti quassel-rest-search:
Prebacite se na postgreskorisnika i pokrenite psql:
# su - postgres
$ psql quassel
Prvo dodajte novi stupac u tablicu zaostatka:
ALTER TABLE backlog ADD COLUMN tsv tsvector;
Drugo, 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;
Treće, postavite okidač za popunjavanje tsv stupca:
CREATE TRIGGER tsvectorupdate
BEFORE INSERT OR UPDATE
ON backlog
FOR EACH ROW
EXECUTE PROCEDURE tsvector_update_trigger('tsv', 'pg_catalog.english', 'message');
Četvrto, popunite tsvstupac " ":
UPDATE backlog SET messageid = messageid;
Sada možete ažurirati Apache konfiguraciju koju smo ranije kreirali i dodati:
# Quassel Search
Alias /search /opt/quassel-rest-search
<Directory /opt/quassel-rest-search>
Require all granted
</Directory>
Ponovno pokrenite Apache:
systemctl restart apache2
Ako je sve prošlo dobro, možete se kretati do http://quassel.example.net/searchi vidjet ćete zaslon za prijavu.
Sada je možda dobro vrijeme da osigurate svoj web poslužitelj pomoću Let's Encrypt. Pojedinosti o tome kako instalirati i konfigurirati Let's Encrypt mogu se pronaći na web stranici EFF- a ili ovdje na Vultr dokumentima .
U slučaju da ste zabrinuti da će vam ponestati RAM-a, možete omogućiti zamjenu na svom VPS-u. Slijedite ovaj vodič za zamjenu Linuxa .