Thứ tư, 26/08/2015 | 00:00 GMT+7

Cách thiết lập server IRC trên Ubuntu 14.04 với InspIRCd 2.0 và Shaltúre

Hướng dẫn này giải thích cách cài đặt và cấu hình InspIRCd 2.0, một server IRC, trên Ubuntu 14.04. Việc cài đặt trên server của bạn giúp bạn linh hoạt trong việc quản lý user , thay đổi nick của họ, thay đổi thuộc tính kênh, v.v.

Ở phần cuối của hướng dẫn này, bạn sẽ có một server IRC hoạt động đầy đủ mà bạn có thể kết nối với hầu hết các client IRC.

Yêu cầu

Xin lưu ý các mục được đánh dấu tùy chọn sẽ hữu ích nhưng không cần thiết.

  • Một server Ubuntu 14.04
  • User không phải root có quyền sudo ( Cài đặt server ban đầu với Ubuntu 14.04 giải thích cách cài đặt điều này.)
  • RVM được cài đặt với version Ruby mới nhất. Kiểm tra hướng dẫn này để được trợ giúp.
  • Nếu bạn có một domain , bạn có thể cấu hình irc. your_domain_nameservices. your_domain_name để trỏ đến Server. Đi tới hướng dẫn này để cài đặt domain và các bản ghi A và AAAA cho nó. Nếu bạn chỉ muốn chuyển hướng hai domain phụ, hãy sử dụng hướng dẫn này .
  • (Tùy chọn) Ứng dụng khách IRC đã được cài đặt trên máy local của bạn
  • (Tùy chọn) Chứng chỉ SSL

Để nhận certificate SSL miễn phí để sử dụng với server IRC của bạn, hãy làm theo Cách cài đặt Apache với Chứng chỉ SSL được ký miễn phí trên VPS và certificate request cho irc. your_domain_name .

Nếu bạn đã có certificate SSL trả phí từ tổ chức phát hành certificate , bạn cần các file *.pem , *.crt hoặc *.key đi kèm với nó.

Tất cả các lệnh trong hướng dẫn này phải được chạy với quyền user không phải root. Nếu cần có quyền truy cập root cho lệnh, nó sẽ được đặt trước sudo .

Bước 1 - Cài đặt InspIRCd

Để cài đặt InspIRCd, ta cần tạo một gói mới cho nó. Thật không may cho ta , gói InspIRCd trong repository lưu trữ Ubuntu 14.04 đã lỗi thời. May mắn là có một tập lệnh có sẵn để tạo file .deb cài đặt từ tarball nguồn. Nó là open-souce , vì vậy ta có thể sửa đổi nó theo yêu cầu của bạn .

Ta bắt đầu bằng cách cài đặt một số gói mà tập lệnh sử dụng:

  • sudo apt-get install rake git gnutls-bin libgnutls-dev

Bây giờ sao chép repository Git được sử dụng để tạo gói:

  • git clone https://github.com/SaberUK/inspircd-packages.git

Sau đó, chuyển sang folder mà nó đã được sao chép thành:

  • cd ./inspircd-packages

Ta cần yêu cầu tập lệnh sử dụng version ổn định của InspIRCd, là version 2.0. Ta cũng cần nói với nó rằng ta cần hỗ trợ SSL. Đối với điều này, ta xuất hai biến môi trường mà tập lệnh sẽ đọc và hoạt động tương ứng.

  • export INSPIRCD_REVISION=insp20
  • export INSPIRCD_MODULES="regex_posix ssl_gnutls"

Ngoài ra, hãy xóa một bản vá bổ sung hiện có nhưng gây ra sự cố cho version 2.0.

  • rm ./extras/fix-data-and-log-paths.patch

Tạo file .deb để cài đặt:

  • rake deb

Quá trình này sẽ mất một lúc, vì vậy hãy lấy một tách cà phê trong khi máy chạy. Sau khi hoàn tất, hãy chạy lệnh sau để xem tên file của file đã tạo:

  • ls *.deb

Sau đó cài đặt file .deb bằng lệnh sau (sử dụng tên file bạn vừa tìm thấy ở bước cuối cùng):

  • sudo dpkg -i ./inspircd_2.0.20_amd64.deb

Bây giờ ta sẽ xóa các file nguồn cho InspIRCd, vì vậy nếu tin tặc có quyền truy cập, chúng không thể biên dịch lại bằng mã độc hại.

  • cd ~
  • rm -rf ./inspircd-packages

Bước 2 - Cấu hình InspIRCd

Trước khi InspIRCd có thể chạy, ta cần phải cấu hình nó đúng cách. Khi làm điều này, ta cũng đặt một số tùy chọn quan trọng đối với hoạt động của server của ta . Một số thứ là duy nhất đối với ta , chẳng hạn như tên mạng.

Tạo inspircd.conf file:

  • sudo nano /etc/inspircd/inspircd.conf

Bây giờ, hãy sao chép file cấu hình ví dụ sau vào đó. Các giá trị màu đỏ cần được tùy chỉnh. Sau khi bạn sao chép nội dung vào inspircd.conf , ta sẽ bắt đầu ở trên cùng và thay đổi chúng thành các giá trị chính xác.

/etc/inspircd/inspircd.conf
# This is just a more or less working example configuration file, please # customize it for your needs! <server name="irc.example.com"         description="Example IRC Server"         network="ExampleNet"         id="00A">  <admin name="Hameer Abbasi"        nick="habbasi"        email="admin@example.com">  <bind address="" port="6667" type="clients">  <power diepass="SecretPassword" restartpass="OtherSecretPassword" pause="2">  <connect allow="*"          timeout="60"          flood="20"          threshold="1"          pingfreq="120"          sendq="262144"          recvq="8192"          localmax="3"          globalmax="3">  <class name="Shutdown"        commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOAD"> <class name="ServerLink"        commands="CONNECT SQUIT RCONNECT MKPASSWD MKSHA256"> <class name="BanControl"        commands="KILL GLINE KLINE ZLINE QLINE ELINE"> <class name="OperChat"        commands="WALLOPS GLOBOPS SETIDLE SPYLIST SPYNAMES"> <class name="HostCloak"        commands="SETHOST SETIDENT SETNAME CHGHOST CHGIDENT">  <type name="NetAdmin"       classes="OperChat BanControl HostCloak Shutdown ServerLink"       host="netadmin.omega.org.za"> <type name="GlobalOp"       classes="OperChat BanControl HostCloak ServerLink"       host="ircop.omega.org.za"> <type name="Helper"       classes="HostCloak"       host="helper.omega.org.za">  <oper name="habbasi"       password="secretpass"       host="*@localhost"       type="NetAdmin">  <files motd="/etc/inspircd/inspircd.motd"        rules="/etc/inspircd/inspircd.rules">  <channels users="20"           opers="60">  <dns server="208.67.222.222" timeout="5"> <dns server="208.67.220.220" timeout="5">  <options prefixquit="Quit: "          noservices="no"          qaprefixes="no"          deprotectself="no"          deprotectothers="no"          flatlinks="no"          hideulines="no"          syntaxhints="no"          cyclehosts="yes"          ircumsgprefix="no"          announcets="yes"          disablehmac="no"          hostintopic="yes"          quietbursts="yes"          pingwarning="15"          allowhalfop="yes"          exemptchanops="">  <security hidewhois=""           userstats="Pu"           customversion=""           hidesplits="no"           hidebans="no"           operspywhois="no"           hidemodes="eI"           maxtargets="20">  <performance nouserdns="no"              maxwho="128"              softlimit="1024"                    somaxconn="128"              netbuffersize="10240">  <log method="file"      type="* -USERINPUT -USEROUTPUT"      level="default"      target="/var/log/inspircd.log">  <whowas groupsize="10"         maxgroups="100000"         maxkeep="3d">  <timesync enable="no" master="no">  <badnick nick="NickServ" reason="Reserved For Services">     <badnick nick="ChanServ" reason="Reserved For Services"> <badnick nick="Global" reason="Reserved For S ervices"> <badnick nick="InfoServ" reason="Reserved For Services"> <badnick nick="OperServ" reason="Reserved For Services"> <badnick nick="SaslServ" reason="Reserved For Services"> <badnick nick="StatServ" reason="Reserved For Services"> <badnick nick="ALIS" reason="Reserved For Services"> 

Ta cần thay đổi một vài giá trị dành riêng cho bạn và Server. Ở trên cùng, tìm phần server . Thay đổi nó thành tên server , mô tả và tên mạng mong muốn của bạn. id phải được thay đổi để nó có hai số và một chữ cái. Ví dụ:

/etc/inspircd/inspircd.conf
<server name="irc.yourdomain.com"         description="Example description for the IRC server"         network="ExampleNet"         id="46T"> 

Bây giờ, hãy tìm khối admin . Thay đổi các giá trị thành thông tin cho nhà khai thác mạng IRC. Người sử dụng nhà điều hành sẽ có thể làm mọi thứ trên mạng.

/etc/inspircd/inspircd.conf
<admin name="Hameer Abbasi"        nick="habbasi"        email="admin@example.com"> 

Ta cần có thể khởi động lại hoặc tắt server . Điều này được thực hiện trong khối power . Tại đây, bạn cần thay đổi password . Giá trị của diepass là password quản trị mạng sẽ sử dụng để tắt server , và giá trị của restartpass là password mà họ sẽ sử dụng để khởi động lại nó. Giá trị của thời pause cho server biết bao lâu để chặn một người thực hiện (tính bằng giây) thực hiện các thao tác này nếu nhập sai password . Hãy tiếp tục và thay đổi password . Để pause ở giá trị mặc định của nó.

/etc/inspircd/inspircd.conf
<power diepass="SecretPassword" restartpass="OtherSecretPassword" pause="2"> 

Tìm khối oper . Ta cần xác định account và password của nhà điều hành. Administrator bạn đã xác định trước đó và người điều hành có thể là cùng một người. Nếu bạn có địa chỉ IP tĩnh hoặc domain tin cậy , hãy thay đổi server lưu trữ để bao gồm nó. Nếu có thể, không đặt giá trị này thành *@* , điều này cho phép nhà điều hành kết nối từ bất kỳ đâu.

/etc/inspircd/inspircd.conf
<oper name="habbasi"       password="secretPassword"       host="*@localhost *@your.local.ip.here *@your.local.domain.here"       type="NetAdmin"> 

Đối với giá trị host , hãy phân tách nhiều địa chỉ IP và domain bằng dấu cách. Bạn cũng nên thêm địa chỉ IP và các domain (nếu có) của Server hiện tại của bạn. Lưu các thay đổi và đóng file.

Bước 3 - Chỉnh sửa thông điệp trong ngày

Thông báo trong ngày sẽ được hiển thị mỗi khi user kết nối với mạng IRC. Để tùy chỉnh nó, hãy tạo một file inspircd.motd trong /etc/inspircd/ :

  • sudo nano /etc/inspircd/inspircd.motd

Trong file này, hãy thêm thông báo trong ngày mà bạn muốn hiển thị cho user . Thông thường, bạn muốn có một dấu nhắc thân thiện thông báo cho user về các luật . Ngoài ra, nếu có bất cứ điều gì thay đổi trên toàn mạng, đây là nơi để thông báo cho họ. Ví dụ:

/etc/inspircd/inspircd.motd
<^>This is ExampleNet. We are the world's newest IRC network.  Support us by joining and becoming regular!  Be sure to view the rules by typing "/rules" and hitting ENTER.<^> 

Tiếp theo, chỉnh sửa file luật .

  • sudo nano /etc/inspircd/inspircd.rules

Trong file này, hãy đặt bất kỳ luật nào. Những điều này sẽ được hiển thị cho user mỗi khi họ nhập lệnh /rules . Ví dụ,

/etc/inspircd/inspircd.rules
1. No children under 13 are allowed to be on this network without the knowledge and consent of their parent or legal guardian. 2. No discussion or links involving pirated software is allowed on the network. 3. No discussion of drugs or other narcotics. 4. No trading of weapons. 5. No porn. There are minors on this network. 

Bước 4 - Khởi động Server IRC

Trước khi khởi động server IRC, ta cần sửa các quyền và quyền sở hữu file :

  • sudo find /etc/inspircd -type d -exec chmod 770 {} \;
  • sudo find /etc/inspircd -type f -exec chmod 644 {} \;
  • sudo chown -R irc:irc /etc/inspircd

Tiếp theo, ta cần đặt quyền chính xác cho file PID và folder file log .

  • sudo chown -R irc:irc /var/inspircd/
  • sudo chown -R irc:irc /var/log/inspircd

Đến đây bạn đã đọc để bắt đầu InspIRCd:

  • sudo service inspircd start

Bạn sẽ nhận được thông báo sau ở gần cuối, nghĩa là ta đã bắt đầu InspIRCd thành công:

InspIRCd is now running as 'irc.example.com'[46T] with 1024 max open sockets 

Bước 5 - Kiểm tra chức năng cơ bản

Vì các chức năng cơ bản đã hoạt động, hãy thử kết nối với mạng IRC mới tạo của bạn. Ta sẽ hướng dẫn bạn cách cài đặt ứng dụng IRC dựa trên dòng lệnh đơn giản trên Server. Đầu tiên, cài đặt IRSSI.

  • sudo apt-get install irssi

Sau đó, khởi động ứng dụng IRC:

  • irssi

Bạn có thể nhập vào cửa sổ dưới cùng có nội dung [(status)] . Lưu ý tất cả các lệnh IRC đều bắt đầu bằng dấu gạch chéo. Để kết nối với mạng IRC của bạn, hãy nhập:

/connect irc.example.com 

Nếu bạn không cấu hình tên server cho server của bạn , bạn có thể sử dụng địa chỉ IP của Server. Nếu bạn đã cấu hình server của bạn đúng cách, bạn sẽ thấy một màn hình tương tự như sau:

Đã kết nối thành công!

Bây giờ hãy đăng nhập với quyền là một toán tử, bằng lệnh lệnh sau:

/oper habbasi secretPassword 

Nếu nó hoạt động, bạn sẽ thấy dòng chữ “Bạn hiện là một NetAdmin”. Điều này nghĩa là quyền nhà điều hành của bạn đang hoạt động. Để thoát, ta sẽ sử dụng một lệnh khác:

/quit 

Có rất nhiều ứng dụng client IRC có sẵn cho hầu hết mọi thiết bị. Đây là danh sách nhỏ các khách hàng được đề xuất:

  • HexChat dành cho Windows, Mac OS X và Linux
  • mIRC dành cho Windows
  • Colloquy dành cho Mac OS X và iOS
  • IRSSI dành cho Linux và Mac OS X
  • AndChat dành cho Android
  • Kiwi IRC ( ứng dụng client trình duyệt web)

Xin lưu ý với Kiwi IRC, bạn sẽ gặp khó khăn khi sử dụng các quyền của công ty. Kiwi kết nối thông qua proxy và không duy trì địa chỉ IP của bạn. Nếu bạn chọn chỉ liệt kê các địa chỉ IP cụ thể được phép kết nối cho các hành động của nhà điều hành ( được khuyến khích để bảo mật), thì quyền hoạt động sẽ không hoạt động với Kiwi IRC.

Bước 6 - Cài đặt SSL (Tùy chọn)

Mục tiêu của phần này là bảo vệ quyền riêng tư của user của bạn và bảo vệ password và những thứ khác có thể hiển thị cho bất kỳ ai đang xem dữ liệu được truyền như ISP. Tất nhiên, nó là tùy chọn, nhưng rất được khuyến khích.

Trước hết, ta cần sao chép certificate SSL của bạn vào đúng folder . Đối với điều này, ta cần tạo một folder trong folder cấu hình server IRC.

  • sudo mkdir /etc/inspircd/sslcerts

Tiếp theo, ta cần sao chép certificate SSL có liên quan và khóa vào folder cấu hình mới tạo của bạn:

  • sudo cp /path/to/ssl/private.key /etc/inspircd/sslcerts/private.key
  • sudo cp /path/to/ssl/certificate.crt /etc/inspircd/sslcerts/cert.pem
  • sudo cp /path/to/ca/validation.crt /etc/inspircd/sslcerts/ca.pem

Nếu đang sử dụng certificate tự ký, bạn có thể bỏ qua việc sao chép file ca.pem . Điều này được thực hiện trong lệnh cuối cùng ở trên.

Cài đặt cho phép thích hợp cho các inspircd folder để bảo vệ certificate của bạn, và vì vậy InspIRCd sẽ có thể đọc chúng.

  • sudo find /etc/inspircd -type d -exec chmod 770 {} \;
  • sudo find /etc/inspircd -type f -exec chmod 644 {} \;
  • sudo chown -R irc:irc /etc/inspircd

Chỉnh sửa file cấu hình để bảo nó sử dụng SSL:

  • sudo nano /etc/inspircd/inspircd.conf

Tìm thấy điều này:

/etc/inspircd/inspircd.conf
<bind address="" port="6667" type="clients"> 

Bên dưới phần liên kết, thêm các dòng sau:

/etc/inspircd/inspircd.conf
<bind address="" port="6697" type="clients" ssl="gnutls"> <gnutls cafile="/etc/inspircd/sslcerts/ca.pem"         certfile="/etc/inspircd/sslcerts/cert.pem"         keyfile="/etc/inspircd/sslcerts/private.key"         priority="SECURE192:-VERS-SSL3.0">  <module name="m_ssl_gnutls.so"> 

Nếu đang sử dụng certificate tự ký, bạn có thể bỏ qua chỉ thị cafile .

Khởi động lại server để kích hoạt các thay đổi.

  • sudo service inspircd restart

SSL bây giờ sẽ được bật trên cổng 6697.

Bước 7 - Kiểm tra SSL (Tùy chọn)

, để kiểm tra SSL, ta sẽ sử dụng IRSSI. Nhập cái này như trước để bắt đầu IRSSI:

  • irssi

Tiếp theo, gõ lệnh sau để kết nối với SSL được bật:

/connect -SSL -SSL_Verify irc.example.com 6697 

Nếu đang sử dụng certificate tự ký, bạn nên bỏ qua tùy chọn -SSL_Verify .

Nếu nó thành công, bạn sẽ thấy một màn hình như sau:

 Server  của bạn có SSL

Tiếp tục và thoát khỏi khách hàng với /quit .

Bước 8 - Cài đặt dịch vụ Shaltúre

Server IRC của bạn hoạt động và bạn có thể kết nối với nó. Nhưng hãy đoán xem? Bạn không thể đăng ký nick. Bạn không thể quản lý quyền sở hữu kênh và role . Bạn không thể gửi hoặc nhận bản ghi nhớ. Đối với tất cả những điều đó, ta sử dụng dịch vụ. Nền tảng dịch vụ phổ biến nhất là Atheme, nhưng sự phát triển của nó đã dừng lại và nó sẽ không được cập nhật ngoại trừ có thể để vá các lỗ hổng bảo mật nghiêm trọng. Vì lý do này, tôi sẽ giải thích cách cài đặt một fork được phát triển tích cực của Atheme có tên là Shaltúre.

Ta bắt đầu bằng cách cài đặt gói yêu cầu :

  • sudo apt-get install gettext

Shaltúre tốt nhất là không chạy dưới dạng root. Nhưng nếu ta chạy nó với quyền là user chính của bạn , có thể có những tác động bảo mật. Vì lý do này, ta sẽ tạo một user không có password cho Shaltúre. Bạn không thể đăng nhập vào account này, chỉ có thể truy cập nó bằng sudo .

  • sudo adduser --disabled-password shalture

Thao tác này sẽ cung cấp cho bạn một số dấu nhắc , nhưng bạn chỉ cần nhấn enter thông qua chúng. Bây giờ chuyển sang user :

  • sudo -i -u shalture

Ta tiến hành bằng cách thay đổi folder thành folder chính của bạn và sao chép repository shalture . Ta sẽ sao chép sang một folder khác vì ta muốn cài đặt trong folder ~/shalture .

  • git clone git://github.com/shalture/shalture.git shalture-devel

Thay đổi folder hoạt động của bạn thành folder shalture-devel và sao chép một số repository cần thiết khác.

  • cd ./shalture-devel
  • git submodule init
  • git submodule update

Chạy cấu hình tạo tiền đề cho quá trình biên dịch, sau đó biên dịch và cài đặt:

  • ./configure --enable-contrib
  • make
  • make install

Sẽ mất một khoảng thời gian sau khi lệnh thứ hai trong khi nó biên dịch, vì vậy hãy đi bộ xung quanh để duỗi chân một chút. Sau khi hoàn tất, hãy xóa các file nguồn.

  • cd ~
  • rm -rf ./shalture-devel/

Bước 9 - Cấu hình dịch vụ Shaltúre

Khi cài đặt xong, thay đổi folder thành folder cấu hình Shaltúre để ta có thể cấu hình nó. Ta sẽ bắt đầu với file cấu hình ví dụ.

  • cd ~/shalture/etc
  • cp shalture.conf.example shalture.conf
  • nano shalture.conf

Tìm cái này trong file :

/home/shalture/shalture/etc/shalture.conf
#loadmodule "modules/protocol/charybdis"; 

Bỏ comment bằng cách loại bỏ ký tự # ở đầu dòng và thay thế charybdis bằng Browseircd :

/home/shalture/shalture/etc/shalture.conf
loadmodule "modules/protocol/inspircd"; 

Tiếp theo, hãy tìm:

/home/shalture/shalture/etc/shalture.conf
name = "services.int"; 

Thay đổi int để trùng với domain hoặc địa chỉ IP của server IRC của bạn:

/home/shalture/shalture/etc/shalture.conf
name = "services.your_domain_name_or_IP"; 

Tìm dòng này:

/home/shalture/shalture/etc/shalture.conf
numeric = "00A"; 

Thay đổi giá trị của numeric để nó khác với id server bạn đã cung cấp trước đó, nhưng nó phải chứa hai chữ số và một chữ cái như vậy:

/home/shalture/shalture/etc/shalture.conf
numeric = "07C"; 

Bây giờ hãy tìm:

/home/shalture/shalture/etc/shalture.conf
netname = "misconfigured network"; 

Thay đổi giá trị của netname thành tên mạng mà bạn đặt trong khối server của file cấu hình InspIRCd. Ví dụ:

/home/shalture/shalture/etc/shalture.conf
netname = "ExampleNet"; 

Cũng tìm:

/home/shalture/shalture/etc/shalture.conf
hidehostsuffix = "users.misconfigured"; 

Và xóa mọi thứ trong dấu ngoặc kép sau khi users :

/home/shalture/shalture/etc/shalture.conf
hidehostsuffix = "users"; 

Tiếp theo, hãy tìm cái này:

/home/shalture/shalture/etc/shalture.conf
adminname = "misconfigured admin"; 

Thay đổi phần bên trong dấu ngoặc kép thành tên hoặc bút danh của bạn.

Bây giờ, hãy thay đổi email liên hệ cho mạng. Tìm thấy:

/home/shalture/shalture/etc/shalture.conf
adminemail = "admin@example.com"; 

Thay đổi giá trị của adminemail thành địa chỉ email của bạn.

Tiếp theo, hãy tìm cái này:

/home/shalture/shalture/etc/shalture.conf
registeremail = "noreply@admin.tld"; 

Thay đổi giá trị của registeremail noreply@ your_domain_name . Đây là địa chỉ email sẽ được hiển thị trong email chào mừng user khi họ đăng ký nick lần đầu trên mạng của bạn. Đây cũng là email sẽ gửi hướng dẫn đặt lại password và hướng dẫn kích hoạt. Ta đã đặt nó thành một email không tồn tại để nó không làm xáo trộn hộp thư đến thực của bạn và vì không cần trả lời những email này.

Tìm khối mã uplink đầu tiên và comment toàn bộ khối bằng cách thêm /* trước và */ sau nó. Nó sẽ giống như thế này:

/home/shalture/shalture/etc/shalture.conf
/* uplink "irc.example.net" {     // The server name of the ircd you're linking to goes above.      // host     // The hostname to connect to.     host = "127.0.0.1";      // vhost     // The source IP to connect from, used on machines with multiple interfaces.     #vhost = "192.0.2.5";      // send_password     // The password sent for linking.     send_password = "mypassword";      // receive_password     // The password received for linking.     receive_password = "theirpassword";      // port     // The port to connect to.     port = 6667; }; */ 

Trong phần tiếp theo (sau phần bạn đã comment ), hãy tìm:

/home/shalture/shalture/etc/shalture.conf
uplink "irc6.example.net" {         host = "::1";          // password         // If you want to have same send_password and accept_password, you         // can specify both using 'password' instead of individually.         password = "linkage";          port = 6667; }; 

Thay đổi irc6.example.net thành services. your_domain_name . (Bạn nên cài đặt bản ghi A cho các dịch vụ. Tên domain của bạn như một phần của yêu cầu .) Thay đổi password thành một thứ gì đó an toàn. Thay đổi cổng thành 7001 . Bây giờ nó sẽ trông giống như sau:

/home/shalture/shalture/etc/shalture.conf
uplink "services.your_domain_name" {         host = "::1";          // password         // If you want to have same send_password and accept_password, you         // can specify both using 'password' instead of individually.         password = "SuperSecret123";          port = 7001; }; 

Tiếp theo, tìm phần sau trong khối nickserv :

/home/shalture/shalture/etc/shalture.conf
nickserv { ... host = "services.int"; ... }; 

Thay đổi nó thành server mà bạn muốn NickServ có. Như vậy:

/home/shalture/shalture/etc/shalture.conf
host = "ExampleNet/services/NickServ" 

áp dụng các thay đổi tương tự như lần cuối cùng cho các dịch vụ sau. Sẽ có một khối trong file cấu hình cho mỗi khối:

  • ChanServ
  • Global
  • InfoServ
  • OperServ
  • SaslServ
  • MemoServ
  • GroupServ
  • StatServ
  • ALIS

Các dịch vụ này là những dịch vụ được bật theo mặc định với Shaltúre. Tiếp theo, tìm dòng này:

/home/shalture/shalture/etc/shalture.conf
operator "jilles" { 

Và thay đổi nó để nó có nick bạn đã chọn trong khối oper trong cấu hình InspIRCd:

/home/shalture/shalture/etc/shalture.conf
operator "habbasi" { 

Cuối cùng, sao chép file cấu hình cron mặc định để sử dụng sau này:

  • cp /home/shalture/shalture/etc/shalture.cron.example /home/shalture/shalture/etc/shalture.cron

Ta đã cấu hình dịch vụ thành công! Bây giờ, thoát khỏi dấu nhắc để quay lại user không phải root sudo của bạn.

  • exit

Bước 10 - Cấu hình InspIRCd để làm việc với Shaltúre

Tiếp theo, ta cần cấu hình InspIRCd để chơi tốt với Shaltúre. Chỉnh sửa file cấu hình InspIRCd :

  • sudo nano /etc/inspircd/inspircd.conf

Thêm các dòng này vào nó ở cuối file :

/etc/inspircd/inspircd.conf
<bind address="::1" port="7001" type="servers">  <uline server="services.example.com">  <link name="services.example.com"       ipaddr="::1"       port="7001"       allowmask="::1"       sendpass="password"       recvpass="password">  <chanprotect noservices="no"              qprefix="~"              aprefix="&">  # Modules needed for services to function <module name="m_chanprotect.so"> <module name="m_halfop.so"> <module name="m_services_account.so"> <module name="m_deaf.so"> <module name="m_spanningtree.so"> <module name="m_globops.so"> <module name="m_cban.so"> <module name="m_svshold.so"> <module name="m_hidechans.so"> <module name="m_servprotect.so"> <module name="m_chghost.so"> <module name="m_namesx.so"> <module name="m_uhnames.so"> 

Đối với các giá trị được đánh dấu đỏ, thay đổi các giá trị domain của bạn và cả sendpassrecvpass vào password mà bạn sử dụng trong uplink phần của cấu hình Shaltúre.

Lưu và thoát khỏi editor .

Tất cả ta đã được cấu hình ! Tất cả những gì ta phải làm bây giờ là khởi động lại server và các dịch vụ!

  • sudo service inspircd restart
  • sudo -i -u shalture /home/shalture/shalture/bin/shalture-services

Bạn sẽ thấy một thông báo ở cuối có nội dung tương tự như sau:

[2015-07-24 22:21:10] running in background mode from /home/shalture/shalture 

Điều này nghĩa là Shaltúre đã bắt đầu thành công.

Bước 11 - Kiểm tra các dịch vụ của Shaltúre

, hãy kết nối với server của bạn bằng IRSSI như bạn đã làm ở bước 5 hoặc 7. Bạn sẽ thấy một màn hình tương tự như sau:

Shaltúre hoạt động

Điều này nghĩa là Shaltúre đang hoạt động bình thường và đã liên kết thành công với InspIRCd.

Bước 12 - Làm cho InspIRCd và Shaltúre liên tục qua các lần khởi động lại

Ta đã cấu hình server IRC của bạn. Giờ thì sao? Chà, Shaltúre không được cài đặt như một dịch vụ, nghĩa là nó sẽ không tồn tại khi khởi động lại. Để làm được điều đó, hãy nhập:

  • sudo -i -u shalture crontab -e

Nếu bạn nhận được dấu nhắc về việc sử dụng editor nào, hãy nhấn 2 để chọn nano hoặc bất kỳ editor nào khác mà bạn muốn.

Và ở cuối file , thêm cái này:

*/5 * * * * /home/shalture/shalture/etc/shalture.cron >/dev/null 2>&1 

Thao tác này sẽ kiểm tra năm phút một lần để xem các dịch vụ có đang chạy hay không. Nếu không, nó bắt đầu chúng. Thật không may, InspIRCd cũng không được thêm vào danh sách khởi động, nhưng việc thêm nó vào danh sách chỉ là một lệnh đơn giản:

  • sudo update-rc.d inspircd defaults

Bây giờ cả InspIRCd và Shaltúre sẽ chạy khi khởi động!

Kết luận

InspIRCd cho phép bạn cài đặt một mạng IRC tùy chỉnh, một mạng mà bạn có thể tự quản lý và quản lý. Shaltúre bổ sung cho nó bằng cách thêm chức năng cho quyền sở hữu biệt hiệu, quyền sở hữu kênh, bản ghi nhớ và hơn thế nữa.

Để cấu hình thêm server IRC của bạn, hãy xem wiki InspIRCd hoặc các file cấu hình mẫu có trong Shaltúre.


Tags:

Các tin liên quan

Cách chuyển tiếp cổng thông qua cổng Linux với Iptables
2015-08-20
Cách cấu hình dịch vụ Linux để khởi động tự động sau khi gặp sự cố hoặc khởi động lại - Phần 1: Ví dụ thực tế
2015-08-19
Cách sử dụng Hệ thống kiểm toán Linux trên CentOS 7
2015-07-16
Cách sử dụng Hệ thống kiểm toán Linux trên CentOS 7
2015-07-16
Thiết lập ban đầu của server Fedora 22
2015-07-08
Cách thiết lập Shiny Server trên Ubuntu 14.04
2015-06-28
Cách backup server LAMP bằng Bacula trên Ubuntu 14.04
2015-06-11
Cách cấu hình sao chép DNS trên server Slave PowerDNS trên Ubuntu 14.04
2015-06-04
Cách thay đổi mật khẩu tài khoản trên server OpenLDAP
2015-05-29
Cách thay đổi mật khẩu tài khoản trên server OpenLDAP
2015-05-29