نحوه تنظیم 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 [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>

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

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 خود را تعویض کنید. لطفاً این آموزش تعویض لینوکس را دنبال کنید .



Leave a Comment

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

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

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

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

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

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

با استفاده از نمایش های MySQL در Debian 7

با استفاده از نمایش های MySQL در Debian 7

مقدمه MySQL دارای یک ویژگی عالی است که به عنوان بازدید شناخته می شود. نمایش نمایش داده شد. برای یک سؤال طولانی مدت از آنها فکر کنید. در این راهنما ،

راه اندازی یک Chroot در دبیان

راه اندازی یک Chroot در دبیان

در این مقاله به شما می آموزد که چگونه زندان دزدگیر را در دبیان تنظیم کنید. تصور می کنم از Debian 7.x استفاده می کنید. اگر دبیان 6 یا 8 را اجرا کردید ، ممکن است این کار کند

نحوه نصب PiVPN در Debian

نحوه نصب PiVPN در Debian

مقدمه یک راه آسان برای راه اندازی سرور VPN در دبیان با PiVPN است. PiVPN نصب و بسته بندی OpenVPN است. این دستورات ساده را برای شما ایجاد می کند

Nginx ، Wordpress را نصب کنید و رمزگذاری را در چند دقیقه با EasyEngine روی Debian 8 یا Ubuntu 16.04 نصب کنید

Nginx ، Wordpress را نصب کنید و رمزگذاری را در چند دقیقه با EasyEngine روی Debian 8 یا Ubuntu 16.04 نصب کنید

EasyEngine (ee) ابزاری پایتون است که به شما امکان می دهد سایت های وردپرس خود را به راحتی و به صورت خودکار مدیریت کنید. با استفاده از EasyEngine ، شما مجبور به dea نیستید

نحوه ساخت Brotli از Source on Debian 9

نحوه ساخت Brotli از Source on Debian 9

با استفاده از یک سیستم متفاوت؟ Brotli یک روش فشرده سازی جدید با نسبت فشرده سازی بهتر از Gzip است. کد منبع آن در Github به صورت عمومی میزبانی می شود. تی

نحوه نصب BlogoText CMS بر روی Debian 9 LAMP VPS

نحوه نصب BlogoText CMS بر روی Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ BlogoText CMS یک سیستم مدیریت محتوا (CMS) ساده و سبک ، آزاد و متن باز است و موتور وبلاگ مینیمالیستی

نحوه نصب InvoicePlane در Debian 9

نحوه نصب InvoicePlane در Debian 9

با استفاده از یک سیستم متفاوت؟ InvoicePlane یک برنامه صورتحساب رایگان و متن باز است. کد منبع آن را می توانید در این مخزن Github پیدا کنید. این راهنما

نحوه نصب Backdrop CMS 1.8.0 در Debian 9 LAMP VPS

نحوه نصب Backdrop CMS 1.8.0 در Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ Backdrop CMS 1.8.0 یک سیستم مدیریت محتوا منبع باز و آزاد و متناسب با تلفن همراه ، رایگان و آزاد است که به ما اجازه می دهد

Plesk را روی Debian 7 (Wheezy) نصب کنید

Plesk را روی Debian 7 (Wheezy) نصب کنید

با استفاده از یک سیستم متفاوت؟ Plesk یک صفحه کنترل میزبان وب اختصاصی است که به کاربران امکان می دهد وب سایت ها ، بانک اطلاعاتی شخصی و / یا مشتری خود را مدیریت کنند.

نحوه نصب BookStack در Debian 9

نحوه نصب BookStack در Debian 9

با استفاده از یک سیستم متفاوت؟ BookStack یک سکوی ساده ، خود میزبان و با کاربرد آسان برای سازماندهی و ذخیره اطلاعات است. BookStack کاملاً رایگان و باز است

نحوه نصب Pagekit 1.0 CMS بر روی Debian 9 LAMP VPS

نحوه نصب Pagekit 1.0 CMS بر روی Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ Pagekit 1.0 CMS یک سیستم زیبا و مدولار زیبا ، مدولار ، قابل تمدید و سبک ، آزاد و منبع باز منبع آزاد (CMS) با

نصب اسفنج و Minecraft Forge در Debian 9

نصب اسفنج و Minecraft Forge در Debian 9

با استفاده از یک سیستم متفاوت؟ اسفنج یک پروژه منبع باز است که قابلیت های سرورهای Minecraft را از طریق افزونه ها گسترش می دهد. همراه با برنامه تعدیل شده

ابزارهای نظارت بهتر برای اوبونتو و CentOS

ابزارهای نظارت بهتر برای اوبونتو و CentOS

معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند

نحوه نصب CMS اکتبر 1.0 بر روی یک Debian 9 LAMP VPS

نحوه نصب CMS اکتبر 1.0 بر روی یک Debian 9 LAMP VPS

با استفاده از یک سیستم متفاوت؟ اکتبر 1.0 CMS یک سیستم مدیریت محتوا (CMS) ساده و قابل اعتماد ، رایگان و منبع باز است که در چارچوب Laravel ساخته شده است

وضعیت سرور Debian را با Munin نظارت کنید

وضعیت سرور Debian را با Munin نظارت کنید

Munin ابزاری برای نظارت بر فرآیندها و منابع موجود در دستگاه شما است و اطلاعات را در نمودارها از طریق رابط وب ارائه می دهد. از پیگیری استفاده کنید

نحوه فعال سازی TLS 1.3 در Apache در Debian 10

نحوه فعال سازی TLS 1.3 در Apache در Debian 10

با استفاده از یک سیستم متفاوت؟ TLS 1.3 نسخه ای از پروتکل Transport Layer Security (TLS) است که در سال 2018 به عنوان یک استاندارد پیشنهادی در RFC 8446 منتشر شد

Nginx را با ماژول PageSpeed ​​در Debian 8 کامپایل و نصب کنید

Nginx را با ماژول PageSpeed ​​در Debian 8 کامپایل و نصب کنید

در این مقاله خواهیم دید که چگونه خط اصلی Nginx را از منابع رسمی Nginx با ماژول PageSpeed ​​کامپایل و نصب کنید ، که به شما امکان می دهد

نحوه نصب انجمن Flarum در Debian 10

نحوه نصب انجمن Flarum در Debian 10

با استفاده از یک سیستم متفاوت؟ Flarum یک نرم افزار انجمن نسل بعدی آزاد و منبع باز است که بحث آنلاین را سرگرم کننده می کند. ساده ، سریع و رایگان است

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

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

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

نحوه نصب 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

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

نحوه نصب 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

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

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

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

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

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

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