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_name
vàservices. 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.
# 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ụ:
<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.
<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ó.
<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.
<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ụ:
<^>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ụ,
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:
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
Khách hàng IRC được đề xuất
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:
<bind address="" port="6667" type="clients">
Bên dưới phần liên kết, thêm các dòng sau:
<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:
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 :
#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 :
loadmodule "modules/protocol/inspircd";
Tiếp theo, hãy tìm:
name = "services.int";
Thay đổi int
để trùng với domain hoặc địa chỉ IP của server IRC của bạn:
name = "services.your_domain_name_or_IP";
Tìm dòng này:
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:
numeric = "07C";
Bây giờ hãy tìm:
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ụ:
netname = "ExampleNet";
Cũng tìm:
hidehostsuffix = "users.misconfigured";
Và xóa mọi thứ trong dấu ngoặc kép sau khi users
:
hidehostsuffix = "users";
Tiếp theo, hãy tìm cái này:
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:
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:
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:
/* 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:
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:
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
:
nickserv { ... host = "services.int"; ... };
Thay đổi nó thành server mà bạn muốn NickServ có. Như vậy:
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:
operator "jilles" {
Và thay đổi nó để nó có nick bạn đã chọn trong khối oper
trong cấu hình InspIRCd:
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 :
<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ả sendpass
và recvpass
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:
Đ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.
Các tin liên quan
Cách chuyển tiếp cổng thông qua cổng Linux với Iptables2015-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