IRC és popular entre els desenvolupadors i usuaris de programari de codi obert. Un dels desavantatges de l'IRC és que quan no esteu en línia, podeu perdre converses importants o mencions del vostre àlies. Amb Quassel i un VPS petit, podeu tenir la persistència de l'IRC, amb una interfície d'usuari basada en web i un backlog cercable.
Suposo que ja sabeu com crear un VPS al tauler de control de Vultr.
Primer, haureu d'iniciar sessió al vostre tauler de control Vultr i crear-vos un VPS nou. En aquest exemple, he configurat un VPS Debian 9, 2,50 $/mes. Podeu triar qualsevol mida, però l'objectiu és que sigui el més baix possible. Haureu de donar-li un nom, com ara quassel.example.neti assegurar-vos que teniu un registre DNS A configurat.
Com que aquestes instruccions es centren al voltant de Debian, les haureu de modificar lleugerament si teniu previst utilitzar una distribució de Linux diferent com Ubuntu o CentOS.
Un cop s'executi el vostre VPS, voldreu instal·lar uns quants paquets per posar en marxa els conceptes bàsics.
Haureu d'instal·lar Quassel-Core, PostgreSQL, Apache i PHP, juntament amb un parell de biblioteques més per parlar amb el servidor SQL.
apt-get install quassel-core postgresql libqt5sql5-psql apache2 php php-pgsql
També necessitareu Node.js. La part web del vostre servidor personal de núvol IRC requereix Node. Les instruccions completes per instal·lar es poden trobar aquí , però aquestes són les úniques dues línies que necessitareu:
# curl -sL https://deb.nodesource.com/setup_8.x | bash -
# apt-get install -y nodejs
A continuació, haureu de crear una base de dades per al nucli Quassel. Canvieu a l'usuari de Postgres i executeu psql.
# su - postgres
$ psql
Un cop us trobeu a l'indicador de PostgreSQL, haureu de crear un usuari per a Quassel i la seva base de dades:
CREATE USER quassel ENCRYPTED PASSWORD 'somepassword';
CREATE DATABASE quassel WITH OWNER quassel ENCODING 'UTF8';
Ara que els conceptes bàsics estan configurats, ara podeu llançar el client Quassel i connectar-vos al vostre nucli.
Quan inicieu el client Quassel a la vostra màquina local, se us presentarà un diàleg de connexió. Introduïu l'adreça IP o el nom d'amfitrió del vostre VPS i el número de port (per defecte: 4242) i seleccioneu SSL. Si teniu un servidor intermediari, podeu introduir els detalls del servidor intermediari al diàleg.
Durant la primera connexió, se us guiarà mitjançant un altre assistent per configurar el nucli. Introduïu el vostre primer nom d'usuari i contrasenya de Quasselcore. El primer usuari serà l'administrador. A continuació, seleccioneu el backend de la base de dades PostgreSQL i proporcioneu el nom d'usuari i la contrasenya de la base de dades Quassel tal com es va definir al pas anterior.
Un cop hàgiu configurat els conceptes bàsics del vostre nucli, ara podeu configurar la part web. Això us permet connectar-vos al vostre nucli des de qualsevol navegador web. Utilitzarem Quassel-Webserver .
Creeu un usuari per al servei web:
# useradd -d /opt/quassel-webserver -M -r quassel-webserver
Ara tireu cap avall el servidor web Quassel i canvieu la propietat a l'usuari creat anteriorment:
# git clone https://github.com/magne4000/quassel-webserver.git /opt/quassel-webserver
# chown -R quassel-webserver:quasselweb-server /opt/quassel-webserver
Aleshores cal que "instal·leu" l'aplicació Node.js:
# su - quassel-webserver
$ npm install --production
Copia el settings.jsque settings-user.js i canviar les host, forcedefaulti els prefixpathvalors:
host: 'localhost',
forcedefault: 'true',
prefixpath: '/app'
Mentre /opt/quassel-webserveresteu al camí com a root, podeu instal·lar el fitxer de servei per a Systemd.
# cp scripts/quassel-webserver.service /lib/systemd/system/quassel-webserver.service
Haureu d'editar /lib/systemd/system/quassel-webserver.servicei canviar la ExecStartlínia:
ExecStart=/usr/bin/node /opt/quassel-webserver/app.js -l 127.0.0.1 -m http
Ara podeu habilitar i iniciar el servidor web Quassel:
systemctl enable quassel-webserver.service
systemctl start quassel-webserver.service
Podeu comprovar que el servidor web quassel s'està executant executant systemctl status quassel-webserver.service. Si ho veus Active: active (running), ja estàs a punt!
A continuació, configurarem Apache.
Haureu d'habilitar alguns mòduls per començar, com ara proxy_http, proxy_wstunneli rewrite.
# a2enmod proxy_http proxy_wstunnel rewrite
Creeu un fitxer de configuració nou per a 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 habiliteu el vostre lloc:
a2ensite quassel
Reinicieu Apache per aplicar els canvis:
systemctl restart apache2
Si tot ha anat bé, ara podeu navegar a la vostra quassel-webserverinstància a http://quassel.example.net.
A continuació, configurarem una cerca de retard . Això requerirà modificacions a la quassel-corebase de dades. Primer, comencem per clonar el codi font:
# git clone https://github.com/justjanne/quassel-rest-search.git /opt/quassel-rest-search
Un cop clonat, canviar el nom de l'arxiu qrs_config.default.phpa qrs_config.phpi editar el fitxer. Vostè haurà de definir la seva base de dades db_name, db_user, db_pathi path_prefix. Hauria d'acabar semblant una cosa així:
<?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');
A continuació, modifiquem la base de dades que serà utilitzada per quassel-rest-search:
Canvia a l' postgresusuari i executa psql:
# su - postgres
$ psql quassel
Primer, afegiu una nova columna a la taula de retards:
ALTER TABLE backlog ADD COLUMN tsv tsvector;
En segon lloc, afegiu els dos índexs nous:
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;
En tercer lloc, configureu un activador per omplir la columna tsv:
CREATE TRIGGER tsvectorupdate
BEFORE INSERT OR UPDATE
ON backlog
FOR EACH ROW
EXECUTE PROCEDURE tsvector_update_trigger('tsv', 'pg_catalog.english', 'message');
En quart lloc, empleneu la tsvcolumna " ":
UPDATE backlog SET messageid = messageid;
Ara podeu actualitzar la configuració d'Apache que hem creat anteriorment i afegir:
# Quassel Search
Alias /search /opt/quassel-rest-search
<Directory /opt/quassel-rest-search>
Require all granted
</Directory>
Reinicieu Apache:
systemctl restart apache2
Si tot ha anat bé, podeu navegar http://quassel.example.net/searchi veureu una pantalla d'inici de sessió.
Ara pot ser un bon moment per protegir el vostre servidor web amb Let's Encrypt. Els detalls sobre com instal·lar i configurar Let's Encrypt es poden trobar al lloc web de l'EFF o aquí a Vultr docs .
En cas que us preocupeu per quedar-vos sense memòria RAM, potser voldreu habilitar l'intercanvi al vostre VPS. Si us plau, seguiu aquest tutorial d'intercanvi de Linux .