IRC, açık kaynak yazılım geliştiricileri ve kullanıcıları arasında popülerdir. IRC'nin dezavantajlarından biri, çevrimiçi olmadığınızda, takma adınızın önemli konuşmalarını veya sözlerini kaçırabilirsiniz. İle Quassel ve küçük VPS, bir web tabanlı kullanıcı arayüzü ve aranabilir birikim ile komple IRC sebat, sahip olabilir.
Vultr kontrol panelinde nasıl VPS oluşturacağınızı bildiğinizi varsayacağım.
İlk olarak, Vultr kontrol panelinize giriş yapmanız ve kendinize yepyeni bir VPS oluşturmanız gerekir. Bu örnekte, Debian 9, 2,50 $ / ay VPS ayarladım. Herhangi bir boyut seçebilirsiniz, ancak bunun amacı mümkün olduğunca düşük maliyettir. Bunun gibi bir ad vermeniz quassel.example.netve yapılandırılmış bir DNS A kaydınızın olduğundan emin olmanız gerekir.
Bu talimatlar Debian'a odaklandığından, Ubuntu veya CentOS gibi farklı bir Linux dağıtımı kullanmayı planlıyorsanız, bunları biraz değiştirmeniz gerekecektir.
VPS'niz çalışmaya başladığında, temel bilgileri almak için birkaç paket yüklemek istersiniz.
SQL sunucusuyla konuşmak için Quassel-Core, PostgreSQL, Apache ve PHP ile birlikte birkaç kütüphane daha kurmanız gerekiyor.
apt-get install quassel-core postgresql libqt5sql5-psql apache2 php php-pgsql
Ayrıca Node.js'ye de ihtiyacınız olacak. Kişisel IRC bulut sunucunuzun web bölümü Düğüm gerektirir. Yüklemek için tam talimatları burada bulabilirsiniz , ancak bunlar sadece ihtiyacınız olan iki satırdır:
# curl -sL https://deb.nodesource.com/setup_8.x | bash -
# apt-get install -y nodejs
Ardından, Quassel çekirdeği için bir veritabanı oluşturmanız gerekecektir. Postgres kullanıcısına geçin ve çalıştırın psql.
# su - postgres
$ psql
PostgreSQL komut istemine girdikten sonra Quassel ve veritabanı için bir kullanıcı oluşturmanız gerekir:
CREATE USER quassel ENCRYPTED PASSWORD 'somepassword';
CREATE DATABASE quassel WITH OWNER quassel ENCODING 'UTF8';
Temel bilgiler yapılandırıldığı için artık Quassel istemcisini başlatabilir ve çekirdeğinize bağlanabilirsiniz.
Yerel makinenizde Quassel istemcisini başlattığınızda, size bir bağlantı iletişim kutusu sunulur. VPS'nizin IP adresini veya ana bilgisayar adını ve bağlantı noktası numarasını (varsayılan: 4242) girin ve SSL'yi seçin. Proxy sunucunuz varsa, iletişim kutusuna proxy ayrıntılarını girebilirsiniz.
İlk bağlantı sırasında, çekirdeği yapılandırmak için başka bir sihirbazdan yönlendirileceksiniz. İlk Quasselcore kullanıcı adınızı ve şifrenizi girin. İlk kullanıcı yönetici olacaktır. Ardından, PostgreSQL veritabanı arka ucunu seçin ve önceki adımda tanımlandığı gibi Quassel veritabanı kullanıcı adını ve şifresini girin.
Çekirdeğinizin temellerini yapılandırdıktan sonra, web bölümünü ayarlayabilirsiniz. Bu, herhangi bir web tarayıcısından çekirdeğinize bağlanmanızı sağlar. Quassel-Webserver kullanacağız .
Web hizmeti için bir kullanıcı oluşturun:
# useradd -d /opt/quassel-webserver -M -r quassel-webserver
Şimdi Quassel web sunucusunu aşağı çekin ve sahipliğini önceden oluşturulan kullanıcıya değiştirin:
# git clone https://github.com/magne4000/quassel-webserver.git /opt/quassel-webserver
# chown -R quassel-webserver:quasselweb-server /opt/quassel-webserver
Daha sonra Node.js uygulamasını "yüklemeniz" gerekir:
# su - quassel-webserver
$ npm install --production
Kopya settings.jsiçin settings-user.js ve değiştirmek host, forcedefaultve prefixpathdeğerleri:
host: 'localhost',
forcedefault: 'true',
prefixpath: '/app'
İken /opt/quassel-webserverroot olarak yoluna, sen systemd için servis dosyası yükleyebilirsiniz.
# cp scripts/quassel-webserver.service /lib/systemd/system/quassel-webserver.service
Satırı düzenlemeniz /lib/systemd/system/quassel-webserver.serviceve değiştirmeniz gerekir ExecStart:
ExecStart=/usr/bin/node /opt/quassel-webserver/app.js -l 127.0.0.1 -m http
Artık Quassel web sunucusunu etkinleştirebilir ve başlatabilirsiniz:
systemctl enable quassel-webserver.service
systemctl start quassel-webserver.service
Quassel-web sunucusunun çalışıp çalışmadığını kontrol edebilirsiniz systemctl status quassel-webserver.service. Görüyorsanız Active: active (running), hazırsınız!
Sonra, Apache'yi yapılandıracağız.
Aşağıdaki gibi, başlamak için bir kaç modül devreye sokmanız gerekecektir proxy_http, proxy_wstunnelve rewrite.
# a2enmod proxy_http proxy_wstunnel rewrite
Quassel için yeni bir yapılandırma dosyası oluşturun:
# 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>
Ve sitenizi etkinleştirin:
a2ensite quassel
Değişiklikleri uygulamak için Apache'yi yeniden başlatın:
systemctl restart apache2
Tüm kaybolmuş ise, artık göz atabilirsiniz quassel-webserverde mesela http://quassel.example.net.
Ardından, bir biriktirme listesi araması ayarlayacağız . Bu, quassel-coreveritabanında değişiklik yapılmasını gerektirir . İlk olarak, kaynak kodunu klonlamaya başlayalım:
# git clone https://github.com/justjanne/quassel-rest-search.git /opt/quassel-rest-search
Klonlanmış sonra dosyayı yeniden adlandırmak qrs_config.default.phpiçin qrs_config.phpdosya ve düzenlemek. Eğer veritabanı tanımlamak gerekir db_name, db_user, db_pathve path_prefix. Sonunda böyle bir şeye bakmalı:
<?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');
Ardından, aşağıdakiler tarafından kullanılacak veritabanını değiştiriyoruz quassel-rest-search:
postgresKullanıcıya geçin ve çalıştırın psql:
# su - postgres
$ psql quassel
İlk olarak, biriktirme tablosu tablosuna yeni bir sütun ekleyin:
ALTER TABLE backlog ADD COLUMN tsv tsvector;
İkinci olarak, iki yeni endeksi ekleyin:
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;
Üçüncü olarak, tsv sütununu doldurmak için bir tetikleyici ayarlayın:
CREATE TRIGGER tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON backlog
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger('tsv', 'pg_catalog.english', 'message');
Dördüncü olarak, " tsv" sütununu doldurun:
UPDATE backlog SET messageid = messageid;
Şimdi daha önce oluşturduğumuz Apache yapılandırmasını güncelleyebilir ve ekleyebilirsiniz:
# Quassel Search
Alias /search /opt/quassel-rest-search
<Directory /opt/quassel-rest-search>
        Require all granted
</Directory>
Apache'yi yeniden başlat:
systemctl restart apache2
Her şey yolunda giderse, adresine gidebilir http://quassel.example.net/searchve bir giriş ekranı görürsünüz.
Şimdi Let's Encrypt kullanarak web sunucunuzu korumak için iyi bir zaman olabilir. Let's Encrypt'in nasıl kurulacağı ve yapılandırılacağıyla ilgili ayrıntılar EFF web sitesinde veya Vultr belgelerinde bulunabilir .
RAM'inizin bitmesinden endişe ediyorsanız, VPS'nizde takas özelliğini etkinleştirmek isteyebilirsiniz. Lütfen bu Linux takas eğitimini izleyin .