نحوه تنظیم Quassel در Debian 9

IRC در بین توسعه دهندگان و کاربران نرم افزار منبع باز محبوب است. یکی از معایب IRC زمانی که شما آنلاین نیستید ، ممکن است مکالمات یا ذکرهای مهم درباره نام مستعار خود را از دست بدهید. با استفاده از Quassel و یک VPS کوچک ، می توانید پشتیبان IRC داشته باشید ، با یک رابط کاربر مبتنی بر وب و یک بقیه جستجو قابل جستجو.

من قصد دارم فرض كنم كه شما می دانید كه چگونه می توانید VPS را در پانل كنترل Vultr ایجاد كنید.

ابتدا باید وارد پنل کنترل Vultr خود شوید و خود را با یک VPS جدید بسازید. در این مثال ، من یک VPS 9 ، 2.50 دلار در ماه VPS تنظیم کرده ام. شما می توانید هر اندازه ای را انتخاب کنید ، اما هدف از این کار این است که تا حد ممکن کم هزینه باشید. باید نامی مانند آن را بدهید quassel.example.netو مطمئن شوید که یک پرونده ضبط شده DNS A دارید.

از آنجا که این دستورالعمل ها در اطراف Debian متمرکز شده اند ، اگر قصد دارید از توزیع لینوکس متفاوت مانند Ubuntu یا CentOS استفاده کنید ، باید آنها را کمی تغییر دهید.

پس از اجرای VPS ، می خواهید چند بسته را نصب کنید تا اصول اولیه به مرحله اجرا درآید.

برای گفتگو با سرور SQL ، باید Quassel-Core ، PostgreSQL ، Apache و PHP را به همراه چند کتابخانه دیگر نصب کنید.

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

شما همچنین به Node.js. بخش وب سرور ابر شخصی IRC شما به Node احتیاج دارد. دستورالعملهای کامل برای نصب را می توان در اینجا یافت ، اما این تنها دو خط مورد نیاز شما هستند:

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

در مرحله بعد ، شما نیاز به ایجاد یک پایگاه داده برای هسته Quassel دارید. به کاربر Postgres تغییر دهید و اجرا کنید psql.

# su - postgres
$ psql

هنگامی که شما در اعلان PostgreSQL هستید ، باید یک کاربر برای Quassel و پایگاه داده آن ایجاد کنید:

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

اکنون که مقدمات پیکربندی شده است ، اکنون می توانید مشتری Quassel را راه اندازی کرده و به هسته خود متصل شوید.

وقتی مشتری Quassel را در دستگاه محلی خود شروع می کنید ، به شما گفتگوی اتصال ارائه می شود. آدرس IP یا نام میزبان VPS و شماره پورت خود را وارد کنید (پیش فرض: 4242) و SSL را انتخاب کنید. اگر سرور پروکسی دارید ، می توانید جزئیات پروکسی را در گفتگو وارد کنید.

در اولین اتصال ، شما جادوگر دیگری برای پیکربندی هسته هدایت می شوید. اولین نام کاربری و رمز عبور Quasselcore را وارد کنید. اولین کاربر سرپرست خواهد بود. در مرحله بعد ، پس زمینه پایگاه داده PostgreSQL را انتخاب کنید و نام کاربری و رمزعبور پایگاه داده Quassel را همانطور که در مرحله قبل تعریف شده بود ، تهیه کنید.

پس از پیکربندی اصول اولیه هسته ، اکنون می توانید بخش وب را تنظیم کنید. این به شما امکان می دهد از هر مرورگر وب به هسته خود متصل شوید. ما قصد داریم از Quassel-Webserver استفاده کنیم .

برای سرویس وب یک کاربر ایجاد کنید:

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

اکنون وب سرور Quassel را پایین بیاورید و مالکیت را به کاربر قبلاً ایجاد شده تغییر دهید:

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

سپس باید برنامه "Node.js" را نصب کنید:

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

کپی settings.jsبه settings-user.js و تغییر host، forcedefaultو prefixpathارزش ها:

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

در حالی که در /opt/quassel-webserverمسیر به عنوان root هستید ، می توانید فایل سرویس را برای Systemd نصب کنید.

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

شما نیاز به ویرایش /lib/systemd/system/quassel-webserver.serviceو تغییر ExecStartخط دارید:

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

اکنون می توانید وب سرور Quassel را فعال و راه اندازی کنید:

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

می توانید بررسی کنید که quassel-webserver در حال اجرا است systemctl status quassel-webserver.service. اگر دیدید Active: active (running)، همه شما تنظیم شده اید!

در مرحله بعد می خواهیم آپاچی را پیکربندی کنیم.

برای شروع باید چند ماژول را فعال کنید ، مانند proxy_http، proxy_wstunnelو rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

یک فایل پیکربندی جدید برای 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>

و سایت خود را فعال کنید:

a2ensite quassel

راه اندازی مجدد Apache برای اعمال تغییرات:

systemctl restart apache2

اگر همه چیز خوب پیش رفته است ، اکنون می توانید در نمون your خود quassel-webserverدر فهرست مرور کنید http://quassel.example.net.

در مرحله بعد ، ما می خواهیم یک جستجوی باقیمانده را تنظیم کنیم . این کار به تغییر در quassel-coreپایگاه داده نیاز دارد. ابتدا ، با کلون کردن کد منبع شروع می کنیم:

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

پس از کلون سازی ، پرونده را تغییر دهید و پرونده qrs_config.default.phpرا qrs_config.phpویرایش کنید. شما نیاز به تعریف پایگاه داده خود را db_name، db_user، db_pathو path_prefix. باید در پایان به دنبال چیزی شبیه به این باشد:

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

بعد ، دیتابیس را اصلاح می کنیم تا مورد استفاده قرار گیرد quassel-rest-search:

به postgresکاربر تغییر دهید و اجرا کنید psql:

# su - postgres
$ psql quassel

ابتدا ستون جدیدی را به جدول بقیه اضافه کنید:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

دوم ، دو شاخص جدید را اضافه کنید:

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;

سوم ، ماشه ای برای پر کردن ستون tsv تنظیم کنید:

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

چهارم ، tsvستون "" را جمع کنید:

UPDATE backlog SET messageid = messageid;

اکنون می توانید پیکربندی Apache را که قبلاً ایجاد کرده ایم به روز کنید و اضافه کنید:

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

راه اندازی مجدد Apache:

systemctl restart apache2

اگر همه چیز خوب پیش رفت ، می توانید به آن بروید http://quassel.example.net/searchو صفحه ورود به سیستم را مشاهده خواهید کرد.

اکنون ممکن است زمان خوبی برای تأمین امنیت سرور وب شما با استفاده از Let Encrypt باشد. جزئیات مربوط به نصب و پیکربندی Letry Encrypt را می توان در وب سایت EFF یا اینجا در اسناد Vultr یافت .

در صورت نگرانی در مورد از بین رفتن رم ، ممکن است بخواهید VPS خود را تعویض کنید. لطفاً این آموزش تعویض لینوکس را دنبال کنید .

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.