IRC është i popullarizuar në mesin e zhvilluesve dhe përdoruesve të softuerit me burim të hapur. Një nga disavantazhet e IRC është kur nuk jeni në linjë, mund të humbisni biseda të rëndësishme ose përmendje të pseudonimit tuaj. Me Quassel dhe një VPS të vogël, mund të keni këmbëngulje IRC, të kompletuar me një ndërfaqe të bazuar në ueb dhe një ngarkesë të kërkueshme.
Unë do të supozoj se ju tashmë e dini se si të krijoni një VPS në panelin e kontrollit Vultr.
Së pari, do t'ju duhet të identifikoheni në panelin tuaj të kontrollit Vultr dhe të krijoni një VPS krejt të re. Në këtë shembull, unë kam vendosur një Debian 9, 2,50 $/muaj VPS. Ju mund të zgjidhni çdo madhësi, por synimi për këtë është që të jetë me kosto sa më të ulët. Do t'ju duhet t'i jepni një emër, si p.sh. quassel.example.net
dhe sigurohuni që të keni konfiguruar një rekord DNS A.
Meqenëse këto udhëzime janë të përqendruara rreth Debian, do t'ju duhet t'i modifikoni ato pak nëse planifikoni të përdorni një shpërndarje të ndryshme Linux si Ubuntu ose CentOS.
Pasi VPS-ja juaj të funksionojë, do të dëshironi të instaloni disa paketa për të filluar gjërat themelore.
Do t'ju duhet të instaloni Quassel-Core, PostgreSQL, Apache dhe PHP, së bashku me disa biblioteka të tjera për të folur me serverin SQL.
apt-get install quassel-core postgresql libqt5sql5-psql apache2 php php-pgsql
Ju gjithashtu do të keni nevojë për Node.js. Pjesa e uebit e serverit tuaj personal të cloud IRC kërkon Node. Udhëzimet e plota për instalim mund të gjenden këtu , por këto janë të vetmet dy rreshta që ju nevojiten:
# curl -sL https://deb.nodesource.com/setup_8.x | bash -
# apt-get install -y nodejs
Më pas, do t'ju duhet të krijoni një bazë të dhënash për bërthamën Quassel. Kalo te përdoruesi Postgres dhe ekzekuto psql
.
# su - postgres
$ psql
Pasi të jeni në kërkesën PostgreSQL, do t'ju duhet të krijoni një përdorues për Quassel dhe bazën e të dhënave të tij:
CREATE USER quassel ENCRYPTED PASSWORD 'somepassword';
CREATE DATABASE quassel WITH OWNER quassel ENCODING 'UTF8';
Tani që bazat janë konfiguruar, tani mund të nisni klientin Quassel dhe të lidheni me bërthamën tuaj.
Kur nisni klientin Quassel në kompjuterin tuaj lokal, do t'ju paraqitet një dialog lidhjeje. Futni adresën IP ose emrin e hostit të VPS-së tuaj dhe numrin e portit (parazgjedhja: 4242) dhe zgjidhni SSL. Nëse keni një server proxy, mund të futni detajet e proxy në dialog.
Gjatë lidhjes së parë, do të udhëzoheni përmes një magjistari tjetër për të konfiguruar bërthamën. Futni emrin e përdoruesit dhe fjalëkalimin tuaj të parë të Quasselcore. Përdoruesi i parë do të jetë administratori. Më pas, zgjidhni bazën e bazës së të dhënave PostgreSQL dhe jepni emrin e përdoruesit dhe fjalëkalimin e bazës së të dhënave Quassel siç përcaktohet në hapin e mëparshëm.
Pasi të keni konfiguruar bazat e bërthamës suaj, tani mund të konfiguroni pjesën e internetit. Kjo ju lejon të lidheni me bërthamën tuaj nga çdo shfletues uebi. Ne do të përdorim Quassel-Webserver .
Krijoni një përdorues për shërbimin në internet:
# useradd -d /opt/quassel-webserver -M -r quassel-webserver
Tani tërhiqni uebserverin Quassel dhe ndryshoni pronësinë në përdoruesin e krijuar më parë:
# git clone https://github.com/magne4000/quassel-webserver.git /opt/quassel-webserver
# chown -R quassel-webserver:quasselweb-server /opt/quassel-webserver
Më pas duhet të "instaloni" aplikacionin Node.js:
# su - quassel-webserver
$ npm install --production
Copy settings.js
për të settings-user.js
dhe për të ndryshuar host
, forcedefault
dhe prefixpath
vlerat:
host: 'localhost',
forcedefault: 'true',
prefixpath: '/app'
Ndërsa jeni në /opt/quassel-webserver
shtegun si rrënjë, mund të instaloni skedarin e shërbimit për Systemd.
# cp scripts/quassel-webserver.service /lib/systemd/system/quassel-webserver.service
Do t'ju duhet të modifikoni /lib/systemd/system/quassel-webserver.service
dhe ndryshoni ExecStart
rreshtin:
ExecStart=/usr/bin/node /opt/quassel-webserver/app.js -l 127.0.0.1 -m http
Tani mund të aktivizoni dhe nisni uebserverin Quassel:
systemctl enable quassel-webserver.service
systemctl start quassel-webserver.service
Mund të kontrolloni që serveri kuasel-ueb po funksionon duke ekzekutuar systemctl status quassel-webserver.service
. Nëse e shihni Active: active (running)
, jeni gati!
Më pas, ne do të konfigurojmë Apache.
Do t'ju duhet të aktivizoni disa module për të filluar, të tilla si proxy_http
, proxy_wstunnel
dhe rewrite
.
# a2enmod proxy_http proxy_wstunnel rewrite
Krijo një skedar të ri konfigurimi për 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>
Dhe aktivizoni faqen tuaj:
a2ensite quassel
Rinisni Apache për të aplikuar ndryshimet:
systemctl restart apache2
Nëse gjithçka ka shkuar mirë, tani mund të shfletoni në quassel-webserver
shembullin tuaj në http://quassel.example.net
.
Më pas, ne do të konfigurojmë një kërkim të prapambetur . Kjo do të kërkojë modifikime në quassel-core
bazën e të dhënave. Së pari, le të fillojmë me klonimin e kodit burimor:
# git clone https://github.com/justjanne/quassel-rest-search.git /opt/quassel-rest-search
Pasi të klonuar, ndërrojë emrin e file qrs_config.default.php
për të qrs_config.php
dhe të redaktoni skedarin. Ju do të duhet për të përcaktuar bazën e të dhënave tuaja db_name
, db_user
, db_path
dhe path_prefix
. Duhet të përfundojë diçka si kjo:
<?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');
Më pas, ne modifikojmë bazën e të dhënave për t'u përdorur nga quassel-rest-search
:
Kalo te postgres
përdoruesi dhe ekzekuto psql
:
# su - postgres
$ psql quassel
Së pari, shtoni një kolonë të re në tabelën e prapambetjes:
ALTER TABLE backlog ADD COLUMN tsv tsvector;
Së dyti, shtoni dy indekset e reja:
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;
Së treti, vendosni një shkas për të mbushur kolonën tsv:
CREATE TRIGGER tsvectorupdate
BEFORE INSERT OR UPDATE
ON backlog
FOR EACH ROW
EXECUTE PROCEDURE tsvector_update_trigger('tsv', 'pg_catalog.english', 'message');
Së katërti, plotësoni tsv
kolonën " ":
UPDATE backlog SET messageid = messageid;
Tani mund të përditësoni konfigurimin Apache që kemi krijuar më parë dhe të shtoni:
# Quassel Search
Alias /search /opt/quassel-rest-search
<Directory /opt/quassel-rest-search>
Require all granted
</Directory>
Rinis Apache:
systemctl restart apache2
Nëse gjithçka shkoi mirë, mund të lundroni http://quassel.example.net/search
dhe do të shihni një ekran identifikimi.
Tani mund të jetë një kohë e mirë për të siguruar ueb serverin tuaj duke përdorur Let's Encrypt. Detajet se si të instaloni dhe konfiguroni Let's Encrypt mund të gjenden në faqen e internetit të EFF ose këtu në dokumentet Vultr .
Në rast se jeni të shqetësuar për mbarimin e RAM-it, mund të dëshironi të aktivizoni shkëmbimin në VPS-në tuaj. Ju lutemi ndiqni këtë tutorial të shkëmbimit të Linux .