Cara Menyiapkan Quassel pada Debian 9

IRC popular di kalangan pembangun dan pengguna perisian sumber terbuka. Salah satu kelemahan IRC adalah ketika anda tidak berada dalam talian, anda mungkin terlepas perbincangan atau sebutan penting mengenai nama panggilan anda. Dengan Quassel dan VPS kecil, anda dapat memperoleh ketekunan IRC, lengkap dengan UI berasaskan web dan backlog yang boleh dicari.

Saya akan menganggap anda sudah tahu bagaimana membuat VPS di panel kawalan Vultr.

Pertama, anda perlu log masuk ke panel kawalan Vultr anda dan buat VPS yang baru. Dalam contoh ini, saya telah menyediakan VPS Debian 9, $ 2.50 / bulan. Anda boleh memilih ukuran apa pun, tetapi tujuannya adalah dengan kos serendah mungkin. Anda harus memberikannya nama, seperti quassel.example.netdan pastikan anda mempunyai rekod DNS A yang dikonfigurasikan.

Oleh kerana arahan ini difokuskan di sekitar Debian, anda harus mengubahnya sedikit jika anda merancang untuk menggunakan pengedaran Linux yang berbeza seperti Ubuntu atau CentOS.

Setelah VPS anda berjalan, anda perlu memasang beberapa pakej untuk meneruskan asasnya.

Anda perlu memasang Quassel-Core, PostgreSQL, Apache dan PHP, bersama dengan beberapa lagi perpustakaan untuk bercakap dengan pelayan SQL.

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

Anda juga akan memerlukan Node.js. Bahagian web pelayan awan IRC peribadi anda memerlukan Node. Arahan lengkap untuk dipasang boleh didapati di sini , tetapi ini adalah satu-satunya dua baris yang anda perlukan:

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

Seterusnya, anda perlu membuat pangkalan data untuk teras Quassel. Tukar ke pengguna Postgres dan jalankan psql.

# su - postgres
$ psql

Sebaik sahaja anda berada di prompt PostgreSQL, anda perlu membuat pengguna untuk Quassel dan pangkalan datanya:

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

Setelah asas-asasnya dikonfigurasi, kini anda dapat melancarkan klien Quassel dan menyambung ke teras anda.

Apabila anda memulakan klien Quassel di mesin tempatan anda, anda akan diberi dialog sambungan. Masukkan alamat IP atau nama host VPS anda dan nombor port (lalai: 4242) dan pilih SSL. Sekiranya anda mempunyai pelayan proksi, anda boleh memasukkan butiran proksi dalam dialog.

Semasa sambungan pertama, anda akan dibimbing melalui ahli sihir lain untuk mengkonfigurasi intinya. Masukkan nama pengguna dan kata laluan Quasselcore pertama anda. Pengguna pertama akan menjadi pentadbir. Seterusnya, pilih backend pangkalan data PostgreSQL dan berikan nama pengguna dan kata laluan pangkalan data Quassel seperti yang ditentukan pada langkah sebelumnya.

Setelah anda mengkonfigurasi asas-asas inti anda, anda kini dapat mengatur bahagian web. Ini membolehkan anda menyambung ke inti anda dari penyemak imbas web mana pun. Kami akan menggunakan Quassel-Webserver .

Buat pengguna untuk perkhidmatan web:

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

Sekarang tarik pelayan web Quassel dan ubah hak milik kepada pengguna yang dibuat sebelumnya:

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

Anda kemudian perlu "memasang" aplikasi Node.js:

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

Salin settings.jske settings-user.js dan ubah host, forcedefaultdan prefixpathnilai:

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

Semasa berada di /opt/quassel-webserverjalan sebagai root, anda boleh memasang fail perkhidmatan untuk Systemd.

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

Anda perlu mengedit /lib/systemd/system/quassel-webserver.servicedan menukar ExecStartbaris:

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

Anda kini boleh mengaktifkan dan memulakan pelayan web Quassel:

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

Anda boleh memastikan bahawa server web quassel berjalan dengan menjalankan systemctl status quassel-webserver.service. Sekiranya anda melihat Active: active (running), anda sudah bersedia!

Seterusnya, kita akan mengkonfigurasi Apache.

Anda perlu mengaktifkan beberapa modul untuk dimulakan, seperti proxy_http, proxy_wstunneldan rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Buat fail konfigurasi baru untuk 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>

Dan aktifkan laman web anda:

a2ensite quassel

Mulakan semula Apache untuk menerapkan perubahan:

systemctl restart apache2

Sekiranya semuanya berjalan lancar, kini anda boleh melihat quassel-webservercontoh anda di http://quassel.example.net.

Seterusnya, kita akan membuat carian backlog . Ini memerlukan pengubahsuaian pada quassel-corepangkalan data. Pertama, mari kita mulakan pengklonan kod sumber:

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

Sekali diklon, menamakan semula fail qrs_config.default.phpke qrs_config.phpdan mengedit fail. Anda akan perlu untuk menentukan pangkalan data anda db_name, db_user, db_pathdan path_prefix. Ia mesti kelihatan seperti ini:

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

Seterusnya, kami mengubah pangkalan data untuk digunakan oleh quassel-rest-search:

Tukar ke postgrespengguna dan jalankan psql:

# su - postgres
$ psql quassel

Pertama, tambahkan lajur baru ke jadual tunggakan:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

Kedua, tambahkan dua indeks baru:

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;

Ketiga, sediakan pemicu untuk mengisi lajur tsv:

CREATE TRIGGER tsvectorupdate
  BEFORE INSERT OR UPDATE
  ON backlog
  FOR EACH ROW
  EXECUTE PROCEDURE tsvector_update_trigger('tsv', 'pg_catalog.english', 'message');

Keempat, isikan ruangan " tsv":

UPDATE backlog SET messageid = messageid;

Sekarang anda boleh mengemas kini konfigurasi Apache yang kami buat sebelumnya dan menambahkan:

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

Restart Apache:

systemctl restart apache2

Sekiranya semuanya berjalan lancar, anda boleh menavigasi ke http://quassel.example.net/searchdan anda akan melihat skrin log masuk.

Sekarang mungkin masa yang tepat untuk melindungi pelayan web anda menggunakan Let's Encrypt. Perincian mengenai cara memasang dan mengkonfigurasi Let's Encrypt boleh didapati di laman web EFF atau di sini di dokumen Vultr .

Sekiranya anda bimbang kehabisan RAM, anda mungkin mahu mengaktifkan pertukaran pada VPS anda. Sila ikuti tutorial pertukaran Linux ini .



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut