Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

Ogologo bụ onye ahịa IRC dabere na webụ edere ya Node.js enwere ike itinye ya wee nweta ya site na ihe nchọgharị ọgbara ọhụrụ ọ bụla maka ahụmịhe dị ka nwa afọ na-enweghị etinyere ngwa raara onwe ya nye.

Ụfọdụ n'ime uru ndị ahịa nke Ụlọ ezumike IRC gụnyere:

  • E wetara atụmatụ ọgbara ọhụrụ na IRC. Pịa ngosi, nlebanya njikọ, akara ozi ọhụrụ, na ndị ọzọ wetara IRC na narị afọ 21st.
  • Ejikọtara ya mgbe niile. A na-ejikọta ya na sava IRC mgbe ịnọghị n'ịntanetị.
  • Cross ikpo okwu. Ọ baghị uru OS ị na-eji, ọ na-arụ ọrụ ebe ọ bụla Node.js na-agba.
  • interface na-anabata. Onye ahịa na-arụ ọrụ nke ọma na desktọpụ ọ bụla, smartphone na mbadamba.
  • Ahụmịhe emekọrịtara ọnụ. Malitegharịa mgbe niile ebe ị kwụsịrị n'agbanyeghị ngwaọrụ ọ bụla.

N'ime nkuzi a, ị ga-amụta ka esi eme Wụnye onye ahịa IRC Lounge na Debian 11 Bullseye.

Prerequisites

  • OS akwadoro: Nnenna 11 Bullseye
  • Akaụntụ onye ọrụ: Akaụntụ onye ọrụ nwere sudo ihe ùgwù or ohere mgbọrọgwụ (su Command).
  • Ngwungwu achọrọ: 

Na-emelite Sistemụ Ọrụ

Melite gi Debian 11 Sistemụ arụmọrụ iji hụ na ngwugwu niile dị adị adịla ugbu a:

sudo apt update && sudo apt upgrade

Mgbọrọgwụ ma ọ bụ Sudo Access

Site na ndabara, mgbe ị mepụtara akaụntụ gị na mmalite na Debian ma e jiri ya tụnyere nkesa ndị ọzọ, ọ naghị enweta ọkwa sudoers ozugbo. Ị ga-enwerịrị ike ịnweta ya mgbọrọgwụ paswọọdụ iji iwu su ma ọ bụ gaa na nkuzi nkuzi anyị Otu esi etinye onye ọrụ na Sudoers na Debian.


Advertisement


Wụnye Node.js

Nke mbụ, ị ga-achọ ịwụnye Node.js na sistemụ arụmọrụ Debian gị. Iji mee nke a, jiri iwu a:

sudo apt install nodejs

Ihe atụ mmepụta:

Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

ụdị (NA), pịa pịa ( Tinye) igodo iji gaa n'ihu na ntinye.

Ozugbo arụnyere, nyochaa nrụnye site na ịlele nọmba ụdị:

sudo nodejs -v

Ihe atụ mmepụta:

v12.22.5

Mara, Onye ahịa IRC nke ezumike na-achọ a Node.js kacha nta nke ụdị 6. Site na ndabara, ebe nchekwa Debian dị elu karịa nke a. Agbanyeghị, ọ bụrụ na ị na-eji ụdị dị ala, ị ga-achọ ịkwalite ruo nke kacha nta achọrọ.

Wụnye Ụlọ ezumike

Ka ịwụnye onye ahịa ụlọ ezumike IRC, gaa na onye ọrụ gọọmentị Github weputara ibe iji jide njikọ ngwugwu .deb kacha ọhụrụ wee budata ya. Ị ga-ahụ ụdị kwụsiri ike na nke ewepụtara tupu ewepụta ya. Maka ndị ọrụ oge mbụ, a ga-adụ ọdụ ka ha jiri kwụ ọtọ tupu ahapụ ya.

Ihe Nlereanya:

wget https://github.com/thelounge/thelounge/releases/download/v4.2.0/thelounge_4.2.0_all.deb

Na .deb ngwugwu ebudatara, tinye iwu a ugbu a:

sudo apt install ./thelounge_4.2.0_all.deb

Chọpụta na nrụnye ahụ gara nke ọma site na ịlele nọmba ụdị:

thelounge -version

Ihe atụ mmepụta:

v4.2.0

Ugbu a site na ndabara, onye ahịa ngwanrọ IRC kwesịrị ịmalite. Iji nyochaa nke a, jiri iwu systemctl a:

systemctl status thelounge

Ihe atụ mmepụta:

Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

Ọ bụrụ na onye ahịa agaghị arụ ọrụ, jiri usoro systemctl na-esonụ iji malite ya:

sudo systemctl start thelounge

Iji kwụsị Ụlọ ezumike:

sudo systemctl stop thelounge

Iji mee ka Ụlọ ezumike dị na mmalite sistemụ:

sudo systemctl enable thelounge

Iji gbanyụọ Lounge na mmalite sistemụ:

sudo systemctl disable thelounge

Ka ịmalitegharịa ọrụ ụlọ ezumike:

sudo systemctl restart thelounge

Advertisement


Mepee onye ahịa ụlọ ezumike

Tupu ịmalite, ị ga-achọ ịmepụta onye ọrụ ọhụrụ na ọdụ Debian gị maka Ụlọ ezumike. Iji mee nke a, mebie iwu a:

sudo -u thelounge thelounge add USERNAME

Dochie USERNAME na aha njirimara nke nhọrọ gị. Ọzọ, a ga-akpali gị itinye paswọọdụ wee họrọ ịchekwa faịlụ log na diski.

Ihe Nlereanya:

Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

Iji banye n'ọdụ ụgbọ mmiri IRC, mepee ihe nchọgharị ịntanetị kachasị amasị gị wee jiri ọdụ ụgbọ mmiri 9000 tinye adresị nkesa gị n'ihi na nke a bụ ọdụ ụgbọ mmiri maka ngwanrọ.

Ihe Nlereanya:

http://yourserverip:9000

Na-esote, a ga-ekele gị site na ibe njikọ na-esonụ, ebe a ga-akpali gị itinye aha njirimara na paswọọdụ gị.

Ihe Nlereanya:

Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

Ugbu a ịkwesịrị ịbanye na ngalaba njikọ, ebe a ị nwere ike itinye nkọwa nkesa nke netwọk ndị ịchọrọ ijikọ. Site ebe a, a ga-ejikọta gị site na iji The Lounge webụ UI na ọwa IRC ọkacha mmasị gị.

Ihe Nlereanya:

Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

Mepụta Proxy Apache Lounge Reverse

Ị nwere ike ịtọ proxy reverse iji nweta Lounge site na kọmputa ma ọ bụ netwọk dịpụrụ adịpụ. N'ọmụmaatụ a, nkuzi ga-edozi ihe nkesa proxy Apache. Ọ bụrụ n’ịchọrọ iji Nginx, mafee akụkụ a wee gaa na ya Tọọ Nginx ka ọ bụrụ onye nnọchi anya azụ.

Nke mbụ, wụnye Apache:

sudo apt install apache2 -y

Site na ndabara, Apache kwesịrị ịgbanye ma ọ bụrụ na agbaghị ya ọrụ. jiri:

sudo systemctl start apache2

Iji mee ka Apache malite na buut, jiri iwu a:

sudo systemctl enable apache2

Mwepụta ihe atụ ma ọ bụrụ na ọ ga nke ọma:

Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2

Nyochaa ọkwa Apache:

systemctl status apache2

Ihe atụ mmepụta:

Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

Iji jiri Apache dị ka onye nnọchi anya, ị ga-eme ka modul ahụ nwee iwu a:

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Na-esote, mepụta mebere nnabata maka subdomain gị:

sudo nano /etc/apache2/sites-available/irc.conf

Ị ga-achọ ngalaba aha na-arụsi ọrụ ike nke enwere ike ịzụta maka ihe dị ka 1 ruo 2 dollar ma ọ bụrụ na ịnweghị otu. AhaCheap nwere ngalaba dị ọnụ ala kachasị mma na-aga gburugburu ma ọ bụrụ na ịchọrọ .com, jiri Igwe ojii.

Mgbe ịmechara ngalaba ngalaba gị, tinye ihe ndị a na faịlụ ngọngọ sava:

<VirtualHost *:80>
   ServerName irc.example.com
   ErrorDocument 404 /404.html

   #HTTP proxy
   ProxyPass / http://localhost:9000/
   ProxyPassReverse / http://localhost:9000/

   #Websocket proxy
   SSLProxyEngine on
   <Location /:/websockets/notifications>
        ProxyPass wss://localhost:9000:/websockets/notifications
        ProxyPassReverse wss://localhost:9000/:/websockets/notifications
   </Location>

   Header always unset X-Frame-Options
</VirtualHost>

Chekwaa faịlụ (Ctrl+O), wee pụọ (CTRL+X).

Ugbu a, mee ọsọ ọsọ iji jide n'aka na ọ nweghị njehie na nhazi Apache ma ọ bụ onye nnabata gị:

sudo apache2ctl configtest

Ọ bụrụ na ihe niile na-arụ ọrụ nke ọma, ihe atụ kwesịrị ịbụ:

Syntax OK

Kwado onye nnabata mebere na Apache dị ka ndị a:

sudo a2ensite irc.conf

Mgbe ahụ malitegharịa Apache:

sudo systemctl restart apache2

Advertisement


Mepụta Lounge Nginx Reverse Proxy

Ị nwere ike ịtọ proxy reverse iji nweta Lounge site na kọmputa ma ọ bụ netwọk dịpụrụ adịpụ. N'ọmụmaatụ a, nkuzi ga-edozi ihe nkesa proxy Nginx.

Nke mbụ, wụnye Nginx:

sudo apt install nginx -y

Site na ndabara, ekwesịrị ịgbanye Nginx ma ọ bụrụ na agbaghị ya ọrụ. jiri:

sudo systemctl start nginx

Iji mee ka Nginx malite na buut, jiri iwu a:

sudo systemctl enable nginx

Mwepụta ihe atụ ma ọ bụrụ na ọ ga nke ọma:

Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx

Chọpụta ọkwa Nginx:

sudo systemctl status nginx

Ihe atụ mmepụta:

Otu esi etinye onye ahịa IRC ezumike na Debian 11 Bullseye

Ugbu a, mepụta ngọngọ sava ọhụrụ dị ka ndị a:

sudo nano /etc/nginx/conf.d/irc.conf

Ị ga-achọ ngalaba aha na-arụsi ọrụ ike nke enwere ike ịzụta maka ihe dị ka 1 ruo 2 dollar ma ọ bụrụ na ịnweghị otu. AhaCheap nwere ngalaba dị ọnụ ala kachasị mma na-aga gburugburu ma ọ bụrụ na ịchọrọ .com, jiri Igwe ojii.

Mgbe ịmechara ngalaba ngalaba gị, tinye ihe ndị a na faịlụ ngọngọ sava:

server {
      listen 80;
      server_name irc.example.com;

      access_log /var/log/nginx/irc.access;
      error_log /var/log/nginx/irc.error;

      location / {
          proxy_pass http://127.0.0.1:9000;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;

          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Forwarded-Protocol $scheme;
          proxy_set_header X-Forwarded-Host $http_host;

	# by default nginx times out connections in one minute
	 proxy_read_timeout 1d;
      }
}

Chekwaa faịlụ (Ctrl+O), wee pụọ (CTRL+X).

Ugbu a, mee ọsọ ọsọ iji jide n'aka na ọ dịghị njehie na nhazi Nginx ma ọ bụ ngọngọ nkesa gị:

sudo nginx -t

Ọ bụrụ na ihe niile na-arụ ọrụ nke ọma, ihe atụ kwesịrị ịbụ:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Bugharịa Nginx maka mgbanwe ahụ ka ọ rụọ ọrụ:

sudo systemctl reload nginx

Ọ bụrụ na ịtọlitela ngalaba gị na ndekọ DNS iji rụtụ aka na IP nkesa gị, ị nwere ike nweta onye ahịa IRC gị ugbu a. irc.example.com.

Chekwaa Nginx ma ọ bụ Apache na ka anyị zoo SSL Asambodo efu

Dị ka o kwesịrị, ị ga-achọ ịgba ọsọ Apache ma ọ bụ Nginx gị HTTPS na-eji asambodo SSL. Ụzọ kacha mma isi mee nke a bụ iji Ka anyị zoo, ikike asambodo efu, akpaaka na mepere emepe nke ndị Otu nyocha nchekwa ịntanetị anaghị akwụ ụgwọ (ISRG).

Mbụ, wụnye ngwugwu certbot dị ka ndị a:

Apache:

sudo apt install python3-certbot-apache -y

Nginx:

sudo apt install python3-certbot-nginx -y

Ozugbo arụnyere, gbanye iwu a ka ịmalite imepụta asambodo gị:

Apache:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d irc.example.com

Nginx:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d irc.example.com

Nke a bụ ezigbo ntọala nke gụnyere ike HTTPS 301 redirects, Strict-Transport-Security nkụnye eji isi mee, na OCSP Stapling. Naanị jide n'aka na ịhazigharịa e-mail na ngalaba aha na ihe ị chọrọ.

Ugbu a URL gị ga-abụ HTTPS://irc.example.com kama HTTP://irc.example.com.

Rịba ama, ọ bụrụ na ị na-eji nke ochie URL HTTP, ọ ga-akpaghị aka redirect gaa na HTTPS.


Advertisement


Okwu na mmechi

N'ime nkuzi a, ị mụtala otu esi etinye onye ahịa Lounge IRC na Debian 11 Bullseye. Onye ahịa IRC bụ ihe ọzọ na-abụghị nke ọtụtụ ndị ọzọ, na-enye UI dị ọcha ma mara mma maka ndị chọrọ inwe ihe dị ntakịrị mma ma e jiri ya tụnyere ọtụtụ ụdị ụlọ akwụkwọ ochie nke ndị ahịa IRC.

Ahapụ a Comment