IRCServices 5.1.24 Kurulumu – Linux ve UnrealIRCd 3.2.x Yapılandırma Rehberi
Merhaba arkadaşlar,
Bu konumuzda IRC dünyasının eski ama önemli servis yazılımlarından IRCServices 5.1.24 sürümünün Linux üzerinde kurulumunu ve UnrealIRCd 3.2.x ile bağlantısını ele alacağız.
Amacımız yalnızca programı derlemek değil; IRCd ile Services arasındaki bağlantının nasıl kurulduğunu ve NickServ, ChanServ, MemoServ ile OperServ servislerinin nasıl çalıştırıldığını da anlatmak.
1. IRCServices Nedir?
IRCServices, IRC ağlarında kullanıcı ve kanal kayıtlarını yönetmek amacıyla geliştirilmiş bir servis yazılımıdır.
Başlıca bileşenleri:
NickServ: Kullanıcı rumuzlarının kaydedilmesi ve korunması.
ChanServ: Kanal kayıtları ve erişim yetkileri.
MemoServ: Kullanıcılar arasında çevrimdışı mesajlaşma.
OperServ: IRC operatörleri ve servis yöneticileri için ağ yönetimi.
Bu rehberde IRCServices 5.1.24 ve UnrealIRCd 3.2.x esas alınmıştır.
Önemli: IRCServices 5.1.24 artık geliştirilmiyor. Güvenlik güncellemesi almadığından internete açık yeni sistemlerde kullanılmasını önermiyorum. Eski ağların incelenmesi ve laboratuvar ortamında test edilmesi için hazırlanmış bir anlatımdır.
2. Gerekli Paketlerin Kurulması
Örnek sistemimiz Debian/Ubuntu tabanlı bir Linux dağıtımıdır.
Terminal üzerinden:
Kod:
sudo apt update
sudo apt install build-essential gcc make wget tar
Kurulum sonrasında derleyici kontrolünü yapabiliriz:
Kod:
gcc --version
make --version
IRCServices eski bir C projesidir. Güncel GCC sürümlerinde derleme hatalarıyla karşılaşılabilir. Böyle bir durumda eski bir Linux sanal makinesinde derlemek daha uygun olabilir.
3. IRCServices 5.1.24 Kaynak Kodlarının İndirilmesi
Resmî proje arşivi:
[Only registered and activated users can see links. ]
Buradan 5.1.24 kaynak kod paketini indiriyoruz.
Ardından kaynak kodun bulunduğu dizine geçiyoruz:
Kod:
tar -xzf ircservices-5.1.24.tar.gz
cd ircservices-5.1.24
Arşiv dosyasını farklı bir adla indirdiyseniz komuttaki dosya adını ona göre düzenleyin.
4. IRCServices Derleme İşlemi
Kurulumu kullanıcımızın ev dizini altında gerçekleştirelim.
find "$HOME/ircservices" -name ircservices -type f
5. Yapılandırma Dosyalarının Hazırlanması
IRCServices 5.1.x sürümünde iki temel yapılandırma dosyası bulunur:
ircservices.conf
modules.conf
ircservices.conf genel bağlantı ve servis ayarlarını içerir.
modules.conf ise yüklenen modüllere ait özel ayarları içerir.
Kurulum sırasında oluşturulan veri dizinine geçerek örnek dosyaları kopyalıyoruz.
Kod:
cd "$HOME/ircservices/lib/ircservices"
cp example-ircservices.conf ircservices.conf
cp example-modules.conf modules.conf
Not: Veri dizininin konumu configure sırasında belirlenen seçeneklere göre değişebilir. Dosyalar farklı bir yere kurulmuşsa o dizini kullanın.
6. ircservices.conf Ayarları
Dosyayı açıyoruz:
Kod:
nano ircservices.conf
Öncelikle aşağıdaki bağlantı ve kimlik ayarlarını bulup kendi ağımıza göre düzenliyoruz:
Kod:
RemoteServer 127.0.0.1 7000 "GUCLU_BIR_LINK_SIFRESI"
ServerName "services.example.net"
ServerDesc "IRC Network Services"
ServiceUser "[Only registered and activated users can see links. ]"
Umask 077
Parametrelerin açıklaması:
RemoteServer: Services'in bağlanacağı IRC sunucusunu, portunu ve bağlantı şifresini belirtir.
ServerName: Services'in ağda görüneceği sunucu adıdır.
ServerDesc: Services sunucusunun açıklamasıdır.
ServiceUser: Servis kullanıcılarının user@host bilgisidir.
Umask: Oluşturulan veri dosyalarının erişim izinlerini sınırlar.
Dikkat: Bunlar mevcut yapılandırma dosyasındaki ilgili satırların yerine düzenlenecek örnek değerlerdir. Dosyanın diğer zorunlu ayarlarını silmeyin.
Ayrıca aynı dosyadaki protokol ve servis modüllerini kontrol edin. UnrealIRCd için protokol modülü ve kullanılacak servislerin ana modülleri etkin olmalıdır.
Bunlar modül isimleridir; tek başlarına yapılandırma satırı değildir. Mevcut örnek dosyada bulunan LoadModule direktifleri üzerinden düzenleme yapılmalıdır.
7. modules.conf Yapılandırması
Şimdi modül ayarlarını inceleyelim:
Kod:
nano modules.conf
Burada NickServ, ChanServ, MemoServ ve OperServ için gerekli ayarlar bulunmaktadır.
Özellikle kontrol edilmesi gerekenler:
NickServ servis adı ve kayıt politikası
ChanServ servis adı ve kanal kayıt ayarları
OperServ yönetici yetkileri
Servislerin kullanılacağı ağ bilgileri
Unreal protokolüne ait ServerNumeric ayarı
Unreal protokol modülünde ServerNumeric kullanılıyorsa ağdaki diğer sunucularla çakışmayan bir değer seçilmelidir.
Örnek:
Kod:
ServerNumeric 50
Bu değeri mevcut ağınızın numeric düzenine göre belirleyin.
Örnek yapılandırma dosyasında yer alan diğer zorunlu modül ayarlarını da tamamlamadan Services'i başlatmayın.
8. UnrealIRCd 3.2.x Link Yapılandırması
Şimdi IRCd tarafına geçiyoruz.
UnrealIRCd yapılandırma dosyasında Services bağlantısına izin vermemiz gerekiyor.
Örneğimizde IRCServices ile UnrealIRCd aynı makinede çalışıyor.
UnrealIRCd 3.2.x için örnek link bloğu:
Kod:
link services.example.net
{
username *;
hostname 127.0.0.1;
bind-ip *;
port 7000;
hub *;
password-connect "GUCLU_BIR_LINK_SIFRESI";
password-receive "GUCLU_BIR_LINK_SIFRESI";
class servers;
};
Bu örnek eski UnrealIRCd 3.2.x yapılandırma sözdizimini kullanır.
Services bağlantısının kabul edileceği yerel dinleme portunu da yapılandırmamız gerekir.
Örnek:
Kod:
listen 127.0.0.1:7000;
Burada 7000 portu yalnızca örnek olarak kullanılmıştır.
IRCServices tarafındaki RemoteServer portuyla UnrealIRCd tarafındaki dinleme portu aynı olmalıdır.
9. ULine Tanımlaması
Services sunucusunun ağ üzerinde gerekli yetkilere sahip olabilmesi için UnrealIRCd yapılandırmasına ULine ekliyoruz.
Kod:
ulines {
services.example.net;
};
Buradaki sunucu adı, IRCServices tarafında belirttiğimiz ServerName ile aynı olmalıdır.
Önemli: ULine yalnızca güvenilir Services sunucuları için tanımlanmalıdır. Normal IRC sunucularına veya bilinmeyen bağlantılara ULine yetkisi verilmemelidir.
Birden fazla UnrealIRCd sunucusu bulunan ağlarda Services sunucu adı, gerekli bütün sunucuların ULine yapılandırmasında yer almalıdır.
10. IRCServices'in Başlatılması
Öncelikle UnrealIRCd'nin çalıştığından ve yapılandırma dosyasında hata bulunmadığından emin olun.
Ardından IRCServices kurulum dizinindeki çalıştırılabilir dosyayı buluyoruz:
Kod:
find "$HOME/ircservices" -name ircservices -type f
Programın bulunduğu dizine geçerek çalıştırıyoruz.
Örnek:
Kod:
cd "$HOME/ircservices/sbin"
./ircservices
Çalıştırılabilir dosyanın yolu farklıysa kendi kurulum yolunuzu kullanın.
Services başlangıç sırasında veri dizinindeki yapılandırma dosyalarını okuyacaktır.
11. Servislerin Kontrol Edilmesi
IRC sunucusuna mIRC üzerinden bağlanıyoruz.
NickServ'in çalışıp çalışmadığını kontrol edelim:
Kod:
/msg NickServ HELP
ChanServ:
Kod:
/msg ChanServ HELP
MemoServ:
Kod:
/msg MemoServ HELP
OperServ:
Kod:
/msg OperServ HELP
Servisler doğru şekilde bağlandıysa ilgili yardım yanıtlarını görebilmemiz gerekir.
12. NickServ ve ChanServ Testleri
Test amaçlı bir rumuz kaydı oluşturabiliriz.
Kod:
/msg NickServ REGISTER GucluBirTestSifresi
Kayıt politikası gereği ek doğrulama isteniyorsa NickServ'in verdiği talimatları takip edin.
Ardından test kanalına giriyoruz:
Kod:
/join #Test
Kanal kayıt işlemi:
Kod:
/msg ChanServ REGISTER #Test GucluKanalSifresi Test kanalimiz
Bu komutların ayrıntıları etkin modüllere ve servis ayarlarına göre değişebilir. Kayıt işlemlerini test ortamında gerçekleştirin.
IRCServices ve UnrealIRCd tarafındaki bağlantı şifreleri uyuşmuyordur.
Her iki yapılandırmada aynı bağlantı şifresinin kullanıldığından emin olun.
No such module / Module load failed
Yanlış modül adı kullanılmış olabilir veya derleme sırasında ilgili modül oluşturulmamıştır.
Kurulu modülleri kontrol edin ve örnek yapılandırma dosyasıyla karşılaştırın.
Services bağlanıyor fakat NickServ görünmüyor
NickServ ana modülü yüklenmemiş, modül ayarları eksik veya servis başlatılırken hata oluşmuş olabilir.
Log dosyalarını ve LoadModule direktiflerini inceleyin.
14. Güvenlik ve Uyumluluk
IRCServices 5.1.24 tarihî bir yazılımdır ve artık güvenlik güncellemesi almamaktadır.
Bu nedenle:
Mümkünse izole bir sanal makinede kullanın.
Services bağlantı portunu internete açmayın.
Bağlantıyı 127.0.0.1 ile sınırlandırın.
Services'i root hesabıyla çalıştırmayın.
Veritabanı dosyalarının yedeklerini alın.
Gerçek kullanıcı verileriyle test yapmayın.
Ayrıca UnrealIRCd 5.x ve 6.x sürümleri, eski 3.2.x sunucu protokolünü desteklemediğinden bu kurulum rehberini güncel UnrealIRCd sürümlerine doğrudan uygulamayın.
15. Sonuç
Bu anlatımda IRCServices 5.1.24 kaynak kodlarının kurulmasını, temel yapılandırma dosyalarını, UnrealIRCd bağlantısını ve servislerin kontrol edilmesini ele aldık.
IRCServices kurulumu yalnızca bir programı çalıştırmaktan ibaret değildir. IRCd protokolü, sunucu bağlantısı, ULine yetkileri ve servis modüllerinin birbirleriyle uyumlu olması gerekir.
Özellikle eski IRC altyapıları üzerinde çalışan arkadaşlar için bu yapıların mantığını bilmek hâlâ faydalıdır.
Kaynaklar:
Resmî proje arşivi: [Only registered and activated users can see links. ]
IRCServices 5.1.24 kurulum kılavuzu: [Only registered and activated users can see links. ]
Yapılandırma direktifleri: [Only registered and activated users can see links. ]
UnrealIRCd 3.2.x yapılandırma farkları: [Only registered and activated users can see links. ]
IRCdForum.Net; 5651 sayılı kanuna göre yer sağlayıcı bir forum sitesidir.
Dolayısıyla forumdaki içeriklerden ilgili içeriği paylaşan üyeler sorumludur.
Hukuka aykırı içerik bildirimleri için
İLETİŞİM
linkinden bildirim gönderebilirsiniz.
IRCdForum.Net; altyapı gücünü Güzel Hosting'den alır.