Jak skonfigurować Quassel w Debianie 9

IRC jest popularny wśród programistów i użytkowników oprogramowania typu open source. Jedną z wad IRC jest to, że kiedy nie jesteś online, możesz przegapić ważne rozmowy lub wzmianki o swoim pseudonimie. Dzięki Quassel i niewielkiemu VPS możesz mieć trwałość IRC, wraz z internetowym interfejsem użytkownika i przeszukiwalnym zaległem.

Zakładam, że już wiesz, jak utworzyć VPS w panelu sterowania Vultr.

Najpierw musisz zalogować się do panelu sterowania Vultr i stworzyć sobie zupełnie nowy VPS. W tym przykładzie skonfigurowałem Debian 9, 2,50 $ / miesiąc VPS. Możesz wybrać dowolny rozmiar, ale celem tego jest jak najmniejszy koszt. Musisz nadać mu nazwę, na przykład quassel.example.neti upewnić się, że masz skonfigurowany rekord DNS A.

Ponieważ te instrukcje dotyczą Debiana, będziesz musiał je nieco zmodyfikować, jeśli planujesz użyć innej dystrybucji Linuksa, takiej jak Ubuntu lub CentOS.

Po uruchomieniu VPS, będziesz chciał zainstalować kilka pakietów, aby uruchomić podstawy.

Będziesz musiał zainstalować Quassel-Core, PostgreSQL, Apache i PHP, a także kilka innych bibliotek, aby rozmawiać z serwerem SQL.

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

Będziesz także potrzebować Node.js. Część internetowa twojego osobistego serwera w chmurze IRC wymaga Węzła. Kompletne instrukcje instalacji można znaleźć tutaj , ale są to jedyne dwa wiersze, których potrzebujesz:

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

Następnie musisz utworzyć bazę danych dla rdzenia Quassel. Przejdź do użytkownika Postgres i uruchom psql.

# su - postgres
$ psql

Po wyświetleniu monitu PostgreSQL musisz utworzyć użytkownika dla Quassel i jego bazy danych:

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

Po skonfigurowaniu podstaw możesz teraz uruchomić klienta Quassel i połączyć się ze swoim rdzeniem.

Po uruchomieniu klienta Quassel na komputerze lokalnym zostanie wyświetlone okno dialogowe połączenia. Wprowadź adres IP lub nazwę hosta VPS i numer portu (domyślnie: 4242) i wybierz SSL. Jeśli masz serwer proxy, możesz wpisać szczegóły proxy w oknie dialogowym.

Podczas pierwszego połączenia zostaniesz poprowadzony przez innego kreatora, aby skonfigurować rdzeń. Wpisz swoją pierwszą nazwę użytkownika i hasło do Quasselcore. Pierwszym użytkownikiem będzie administrator. Następnie wybierz zaplecze bazy danych PostgreSQL i podaj nazwę użytkownika i hasło do bazy danych Quassel, jak zdefiniowano w poprzednim kroku.

Po skonfigurowaniu podstaw rdzenia możesz teraz skonfigurować część internetową. Pozwala to połączyć się z twoim rdzeniem z dowolnej przeglądarki internetowej. Użyjemy Quassel-Webserver .

Utwórz użytkownika dla usługi internetowej:

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

Teraz rozwiń serwer Quassel i zmień własność na wcześniej utworzonego użytkownika:

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

Następnie musisz „zainstalować” aplikację Node.js:

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

Skopiować settings.jsdo settings-user.js i zmieniać host, forcedefaulti prefixpathwartości:

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

Będąc na /opt/quassel-webserverścieżce jako root, możesz zainstalować plik usługi dla Systemd.

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

Będziesz musiał edytować /lib/systemd/system/quassel-webserver.servicei zmienić ExecStartlinię:

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

Możesz teraz włączyć i uruchomić serwer Quassel:

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

Możesz sprawdzić, czy quassel-webserver działa, wykonując systemctl status quassel-webserver.service. Jeśli widzisz Active: active (running), wszystko gotowe!

Następnie skonfigurujemy Apache.

Musisz włączyć kilka modułów, aby rozpocząć, jak proxy_http, proxy_wstunneli rewrite.

# a2enmod proxy_http proxy_wstunnel rewrite

Utwórz nowy plik konfiguracyjny dla 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>

I włącz swoją stronę:

a2ensite quassel

Uruchom ponownie Apache, aby zastosować zmiany:

systemctl restart apache2

Jeśli wszystko poszło dobrze, możesz teraz przejść do swojej quassel-webserverinstancji pod adresem http://quassel.example.net.

Następnie skonfigurujemy wyszukiwanie zaległości . Będzie to wymagać modyfikacji quassel-corebazy danych. Najpierw zacznijmy od klonowania kodu źródłowego:

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

Po sklonowaniu zmień nazwę pliku qrs_config.default.phpna qrs_config.phpi edytuj plik. Trzeba będzie określić bazę danych db_name, db_user, db_pathi path_prefix. Powinno to wyglądać mniej więcej tak:

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

Następnie modyfikujemy bazę danych do użycia przez quassel-rest-search:

Przejdź do postgresużytkownika i uruchom psql:

# su - postgres
$ psql quassel

Najpierw dodaj nową kolumnę do tabeli zaległości:

ALTER TABLE backlog ADD COLUMN tsv tsvector;

Po drugie, dodaj dwa nowe indeksy:

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;

Po trzecie, skonfiguruj wyzwalacz, aby wypełnić kolumnę tsv:

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

Po czwarte, wypełnij tsvkolumnę „ ”:

UPDATE backlog SET messageid = messageid;

Teraz możesz zaktualizować konfigurację Apache, którą wcześniej stworzyliśmy i dodać:

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

Uruchom ponownie Apache:

systemctl restart apache2

Jeśli wszystko poszło dobrze, możesz przejść do, http://quassel.example.net/searcha zobaczysz ekran logowania.

Teraz może być dobry moment, aby zabezpieczyć serwer WWW za pomocą Let's Encrypt. Szczegółowe informacje na temat instalacji i konfiguracji Let's Encrypt można znaleźć na stronie internetowej EFF lub tutaj w dokumentacji Vultr .

Jeśli martwisz się brakiem pamięci RAM, możesz włączyć wymianę w VPS. Postępuj zgodnie z tym samouczkiem wymiany systemu Linux .

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.