Ubuntu VPS Üzerine ZNC (IRC Bouncer) Kurulumu: Kapsamlı Bir Rehber
ZNC, kullanıcıların IRC sunucularına sürekli bağlı kalmasını sağlayan, sunucu tabanlı bir IRC bouncer’ıdır. Bir Ubuntu Sanal Özel Sunucusu (VPS) üzerine ZNC kurmak, IRC deneyiminizi önemli ölçüde geliştirebilir. Bu rehberde, ZNC’yi baştan sona kurmak, yapılandırmak ve yönetmek için gerekli adımları ayrıntılı bir şekilde ele alacağız.
ZNC Nedir ve Neden Kullanmalısınız?
ZNC, IRC istemciniz kapalıyken bile IRC sunucusuna bağlı kalmanızı sağlayan bir proxy görevi görür. Temel amacı, IRC bağlantılarınızın kesintisizliğini sağlamaktır. Geleneksel IRC kullanımında, istemciniz kapandığında veya internet bağlantınız koptuğunda sunucuyla olan bağlantınız da kesilir ve önemli sohbetleri veya özel mesajları kaçırabilirsiniz. ZNC bu sorunu ortadan kaldırır.
ZNC’nin başlıca avantajları şunlardır:
* Sürekli Bağlantı: İstemciniz kapalı olsa bile ZNC, IRC sunucusuna bağlı kalır ve tüm sohbetleri, özel mesajları ve kanal aktivitelerini kaydeder. İstemcinizi tekrar açtığınızda, kaçırdığınız tüm geçmişi anında alırsınız.
* Çoklu İstemci Desteği: Birden fazla cihazdan (masaüstü, mobil, tablet) aynı IRC oturumuna bağlanabilirsiniz. ZNC, tüm istemcilerinizin senkronize olmasını sağlar.
* Güvenlik ve Gizlilik: ZNC, gerçek IP adresinizi IRC sunucularından gizleyebilir. Ayrıca, SSL/TLS şifrelemesi kullanarak hem ZNC ile IRC sunucusu arasındaki hem de istemciniz ile ZNC arasındaki iletişimi güvenli hale getirebilirsiniz.
* Modüler Yapı: ZNC, işlevselliğini genişletmek için birçok modülü destekler. Bu modüller, NickServ kimlik doğrulaması, SASL, away durumu yönetimi, otomatik komutlar, gelişmiş loglama ve daha fazlasını içerebilir.
* Ağ Esnekliği: ZNC’yi farklı ağlara ve kanallara kolayca bağlayabilir, her biri için ayrı ayarlar yapabilirsiniz.
Bu avantajlar sayesinde ZNC, özellikle sürekli IRC kullanıcıları, birden fazla cihazdan bağlananlar veya gizliliğine önem verenler için vazgeçilmez bir araç haline gelmiştir.
Ön Gereksinimler
Bu rehbere başlamadan önce aşağıdaki maddelere sahip olduğunuzdan emin olun:
* Ubuntu VPS: En az 1 GB RAM’e sahip bir Ubuntu 20.04 veya üzeri sürüm yüklü bir VPS.
* SSH Erişimi: VPS’inize SSH üzerinden bağlanabilme yeteneği.
* Root veya Sudo Yetkileri: Komutları çalıştırmak için root kullanıcısı veya sudo yetkisine sahip bir kullanıcı.
* Temel Linux Bilgisi: Komut satırı kullanımı ve dosya sistemi navigasyonu hakkında temel bilgi.
Sistem Güncelleme ve Gerekli Paketlerin Kurulumu
ZNC’yi kaynak koddan derlemek, size en güncel sürümü ve daha fazla yapılandırma esnekliği sunar. Bu işlem için bazı geliştirme araçlarına ve kütüphanelere ihtiyacımız olacak.
Öncelikle, sunucunuzdaki paket listesini güncelleyin ve yüklü paketleri en son sürümlerine yükseltin:
sudo apt update
sudo apt upgrade -y
Ardından, ZNC’yi derlemek için gerekli olan build-essential (derleyici ve geliştirme araçları), git (kaynak kodu indirmek için) ve çeşitli kütüphanelerin geliştirme paketlerini kurun. Bu kütüphaneler ZNC’nin SSL desteği, Perl, Python ve Tcl modüllerini etkinleştirmesi için gereklidir:
sudo apt install -y build-essential git libssl-dev libperl-dev libpython3-dev libtcl-dev pkg-config zlib1g-dev
* build-essential: C/C++ derleyicileri ve yardımcı programları içerir.
* git: ZNC kaynak kodunu GitHub’dan klonlamak için kullanılır.
* libssl-dev: OpenSSL kütüphanesinin geliştirme dosyaları, ZNC’nin SSL/TLS şifrelemesini desteklemesi için gereklidir.
* libperl-dev, libpython3-dev, libtcl-dev: ZNC’nin Perl, Python ve Tcl modüllerini etkinleştirmek için gereken geliştirme dosyalarıdır. Bu modüller, ZNC’nin işlevselliğini betiklerle genişletmenizi sağlar.
* pkg-config: Kütüphanelerin derleyiciye doğru parametrelerini sağlamak için kullanılır.
* zlib1g-dev: Zlib sıkıştırma kütüphanesinin geliştirme dosyaları.
ZNC Kaynak Kodunu İndirme ve Derleme
Gerekli paketler yüklendikten sonra, ZNC kaynak kodunu GitHub deposundan klonlayabilir ve derlemeye başlayabiliriz. Kaynak kodu genellikle /usr/local/src veya /opt gibi bir dizine indirilir.
cd /usr/local/src
sudo git clone https://github.com/znc/znc.git
cd znc
Şimdi, derleme sürecini başlatmadan önce yapılandırma betiğini oluşturmamız gerekiyor:
sudo ./autogen.sh
Bu komut, configure betiğini oluşturacaktır. Ardından, ZNC’yi istediğiniz özelliklerle yapılandırın. --prefix bayrağı, ZNC’nin nereye kurulacağını belirtir. /usr/local/znc yaygın ve iyi bir seçimdir. Ayrıca SSL ve betik dilleri için modülleri etkinleştirmek önemlidir:
sudo ./configure --prefix=/usr/local/znc --enable-openssl --enable-perl --enable-python --enable-tcl
* --prefix=/usr/local/znc: ZNC’nin tüm dosyalarının bu dizine kurulmasını sağlar. Bu, sistem dosyalarından ayrı tutulduğu için yönetimi kolaylaştırır.
* --enable-openssl: ZNC’nin SSL/TLS şifrelemesini kullanmasını sağlar. Bu, hem IRC sunucuları ile ZNC arasındaki hem de ZNC ile istemciniz arasındaki iletişimin güvenliğini sağlamak için kritik öneme sahiptir.
* --enable-perl, --enable-python, --enable-tcl: ZNC’nin bu betik dilleriyle yazılmış modülleri yüklemesine izin verir. İleri düzey kullanıcılar için modül geliştirme veya mevcut modülleri kullanma yeteneği sunar.
Yapılandırma başarılı olursa, derleme işlemine geçebilirsiniz:
sudo make
Bu adım biraz zaman alabilir. Derleme tamamlandığında, ZNC’yi sisteminize kurun:
sudo make install
Bu komut, derlenmiş ZNC ikili dosyalarını, kütüphanelerini ve diğer gerekli dosyaları --prefix ile belirttiğiniz /usr/local/znc dizinine kopyalayacaktır.
ZNC Kullanıcısı Oluşturma
Güvenlik en iyi uygulaması olarak, ZNC’yi root kullanıcısı yerine özel, ayrıcalıksız bir kullanıcı altında çalıştırmak her zaman tavsiye edilir. Bu, ZNC’de olası bir güvenlik açığının sistemin tamamını tehlikeye atmasını engeller.
ZNC için bir sistem kullanıcısı ve grubu oluşturalım:
sudo useradd -r -s /bin/false -d /var/lib/znc znc
* useradd: Yeni bir kullanıcı oluşturur.
* -r: Kullanıcıyı bir sistem kullanıcısı olarak oluşturur (genellikle UID < 1000).
* -s /bin/false: Bu kullanıcının kabuk erişimine sahip olmamasını sağlar, bu da güvenliği artırır.
* -d /var/lib/znc: Kullanıcının ana dizinini /var/lib/znc olarak ayarlar. ZNC’nin yapılandırma dosyaları ve verileri bu dizinde saklanacaktır.
* znc: Oluşturulan kullanıcının adıdır.
Şimdi, ZNC kullanıcısının ana dizinini oluşturalım ve gerekli izinleri verelim:
sudo mkdir /var/lib/znc
sudo chown znc:znc /var/lib/znc
Bu, ZNC kullanıcısının kendi ana dizininde yapılandırma dosyalarını oluşturabilmesini ve yönetebilmesini sağlar. Ayrıca, ZNC’nin kurulu olduğu dizinin (örneğin /usr/local/znc) ZNC kullanıcısı tarafından okunabilir olduğundan emin olun. make install genellikle doğru izinleri ayarlar, ancak yine de kontrol etmek faydalıdır.
ZNC İlk Yapılandırması
ZNC’yi ilk kez çalıştırdığınızda, etkileşimli bir yapılandırma sihirbazı aracılığıyla temel ayarları yapmanız gerekir. Bu işlemi, az önce oluşturduğumuz znc kullanıcısı altında yapmalıyız.
sudo -u znc /usr/local/znc/bin/znc --makeconf
Bu komut, znc kullanıcısı olarak ZNC’yi çalıştırır ve yapılandırma sihirbazını başlatır. Sihirbaz size aşağıdaki soruları soracaktır:
1. Listen Port: ZNC’nin gelen bağlantıları dinleyeceği portu girin (örn. 6667 veya 443 HTTPS için). 443 kullanmak, bazı ağlarda daha az kısıtlamayla karşılaşmanızı sağlayabilir, ancak sunucunuzda başka bir servis tarafından kullanılmadığından emin olun.
2. SSL: ZNC’nin SSL/TLS şifrelemesi kullanıp kullanmayacağını seçin. Kesinlikle yes seçeneğini seçin. Bu, ZNC ile IRC istemciniz arasındaki iletişimin güvenliğini sağlar. ZNC, ilk çalıştırmada kendi kendine imzalı bir SSL sertifikası oluşturacaktır. Daha sonra bunu Let’s Encrypt gibi güvenilir bir sertifika ile değiştirebiliriz.
3. IPv4/IPv6: Hangi IP protokollerini kullanmak istediğinizi seçin. Genellikle varsayılan seçenek (both) yeterlidir.
4. Admin Kullanıcısı Oluşturma: ZNC’yi yönetmek için bir yönetici kullanıcı adı ve şifresi oluşturun. Bu bilgiler hem IRC istemcinizden ZNC’ye bağlanırken hem de ZNC’nin web arayüzüne erişirken kullanılacaktır.
5. Modüller: Yüklemek istediğiniz varsayılan modülleri seçin. webadmin modülü, ZNC’yi web tarayıcınız üzerinden yönetmenizi sağlar ve şiddetle tavsiye edilir. control modülü de IRC üzerinden komutları çalıştırmak için faydalıdır.
6. Ağ Ekleme: İlk IRC ağınızı yapılandırabilirsiniz (örn. freenode, Libera.Chat).
* Network Name: Ağ için bir isim (örn. freenode).
* IRC Server: IRC sunucusunun adresi (örn. irc.libera.chat).
* Port: IRC sunucusunun portu (örn. 6697 SSL için).
* SSL: IRC sunucusuyla SSL kullanılıp kullanılmayacağı. Genellikle yes olmalıdır.
* Password: IRC sunucusuna bağlanmak için bir şifre (isteğe bağlı, genellikle NickServ ile kimlik doğrulaması için kullanılır).
* Nick: IRC’de kullanmak istediğiniz takma ad.
* Alt. Nicks: Alternatif takma adlar.
* Ident: Ident dizesi (genellikle takma adınızla aynı).
* Real Name: Gerçek adınız (isteğe bağlı).
* Channels: Otomatik olarak katılmak istediğiniz kanallar (örn. #channel1 #channel2).
* Perform Commands: IRC sunucusuna bağlandıktan sonra çalıştırılacak komutlar (örn. /msg NickServ IDENTIFY ).
Tüm soruları yanıtladıktan sonra ZNC, yapılandırmayı /var/lib/znc/.znc/configs/znc.conf dosyasına kaydedecektir. Bu dosya, ZNC’nin tüm ayarlarını içerir ve manuel olarak düzenlenebilir, ancak genellikle web arayüzü daha kullanışlıdır.
ZNC Servisini Yönetme (systemd)
ZNC’nin sunucu yeniden başlatıldığında otomatik olarak başlaması ve arka planda sürekli çalışması için bir systemd servisi olarak yapılandırmak en iyi yöntemdir.
Bir systemd servis dosyası oluşturalım:
sudo nano /etc/systemd/system/znc.service
Aşağıdaki içeriği dosyaya yapıştırın:
[Unit]
Description=ZNC IRC Bouncer
After=network.target
[Service]
ExecStart=/usr/local/znc/bin/znc --datadir=/var/lib/znc/.znc
Restart=always
User=znc
Group=znc
WorkingDirectory=/var/lib/znc
[Install]
WantedBy=multi-user.target
* [Unit] Bölümü:
* Description: Servisin kısa bir açıklaması.
* After=network.target: ZNC servisinin, ağ servisleri başlatıldıktan sonra başlamasını sağlar.
* [Service] Bölümü:
* ExecStart=/usr/local/znc/bin/znc --datadir=/var/lib/znc/.znc: ZNC’yi çalıştıran komut. --datadir bayrağı, ZNC’nin yapılandırma ve veri dosyalarını nerede arayacağını belirtir. Daha önce /var/lib/znc ana dizini altına .znc klasörünü oluşturmuştuk.
* Restart=always: ZNC servisi herhangi bir nedenle durursa otomatik olarak yeniden başlatılır.
* User=znc: ZNC servisinin znc kullanıcısı altında çalışmasını sağlar.
* Group=znc: ZNC servisinin znc grubu altında çalışmasını sağlar.
* WorkingDirectory=/var/lib/znc: ZNC’nin çalışma dizinini belirtir.
* [Install] Bölümü:
* WantedBy=multi-user.target: Servisin çok kullanıcılı sistem başlatma hedefiyle etkinleştirilmesini sağlar, yani sistem açıldığında otomatik olarak başlar.
Dosyayı kaydedin ve kapatın (Ctrl+X, Y, Enter).
Şimdi systemd‘yi yeni servisi tanıması için yeniden yükleyin:
sudo systemctl daemon-reload
ZNC servisini başlatın:
sudo systemctl start znc
Servisin durumunu kontrol ederek düzgün çalışıp çalışmadığını doğrulayın:
sudo systemctl status znc
Yeşil renkli “active (running)” çıktısını görmelisiniz. Servisin sistem açılışında otomatik olarak başlamasını sağlamak için etkinleştirin:
sudo systemctl enable znc
Diğer yaygın systemctl komutları:
* sudo systemctl stop znc: ZNC servisini durdurur.
* sudo systemctl restart znc: ZNC servisini yeniden başlatır.
* sudo systemctl disable znc: ZNC servisinin sistem açılışında otomatik başlamasını devre dışı bırakır.
Güvenlik Duvarı Yapılandırması (UFW)
Sunucunuzda bir güvenlik duvarı (örneğin UFW) etkinse, ZNC’nin dinlediği portu açmanız gerekir, aksi takdirde dışarıdan erişilemez olacaktır. Varsayılan olarak ZNC’yi 6667 portunda veya 443 portunda çalıştırdıysanız, bu portları açmanız gerekir.
Örnek olarak, ZNC’nin 6667 portunda dinlediğini varsayarsak:
sudo ufw allow 6667/tcp
Eğer web arayüzü için farklı bir port kullanıyorsanız veya SSL için 443 portunu kullanıyorsanız, onu da açın:
sudo ufw allow 443/tcp
Güvenlik duvarını etkinleştirin (eğer zaten etkin değilse):
sudo ufw enable
Güvenlik duvarı kurallarınızı kontrol edin:
sudo ufw status
ZNC’ye Bağlanma ve Yönetim
ZNC kurulumu tamamlandı ve çalışır durumda olduğuna göre, şimdi ona bağlanabilir ve yönetebilirsiniz.
IRC İstemcisi ile Bağlanma
Favori IRC istemcinizi (HexChat, mIRC, irssi, WeeChat vb.) kullanarak ZNC’ye bağlanabilirsiniz. Bağlantı ayarları aşağıdaki gibi olacaktır:
* Sunucu (Server): VPS’inizin IP adresi veya alan adı.
* Port: ZNC’nin dinlediği port (yapılandırma sırasında belirlediğiniz, örn. 6667 veya 443).
* SSL/TLS: Etkinleştirin (eğer ZNC’yi SSL ile yapılandırdıysanız, ki kesinlikle önerilir). Güvenilmeyen sertifika uyarısı alırsanız, bu ZNC’nin kendi kendine imzalı sertifikası nedeniyledir. Şimdilik kabul edebilirsiniz, daha sonra Let’s Encrypt ile değiştireceğiz.
* Şifre (Password): ZNC yönetici kullanıcı adınız, ardından iki nokta üst üste ve ZNC şifreniz, ardından eğik çizgi ve ağ adınız.
* Örnek: admin_kullaniciadi:admin_sifre/ag_adi (örn. john:pass123/libera).
* Eğer sadece ZNC’ye bağlanıp ağ eklemek istiyorsanız, admin_kullaniciadi:admin_sifre şeklinde de bağlanabilirsiniz.
Başarılı bir şekilde bağlandığınızda, ZNC size hoş geldiniz mesajları gönderecek ve yapılandırdığınız IRC ağlarına otomatik olarak bağlanacaktır.
Web Arayüzü ile Yönetim
ZNC’nin web arayüzü, kullanıcıları, ağları, modülleri ve diğer ayarları grafiksel bir arayüz üzerinden yönetmenizi sağlar.
Web tarayıcınızı açın ve aşağıdaki adrese gidin:
https://your_vps_ip_or_domain:znc_port
Örneğin, https://192.168.1.100:6667 veya https://irc.example.com:443.
Kullanıcı adı ve şifre olarak ZNC yapılandırması sırasında oluşturduğunuz yönetici kullanıcı adı ve şifresini kullanın. Web arayüzü, ZNC’nizin tüm yönlerini yönetmek için güçlü bir araçtır. Buradan yeni kullanıcılar ekleyebilir, mevcut kullanıcılar için ağlar yapılandırabilir, modülleri etkinleştirebilir veya devre dışı bırakabilir ve daha fazlasını yapabilirsiniz.
Kullanıcı ve Ağ Ekleme
Web arayüzü üzerinden yeni kullanıcılar ve her kullanıcı için yeni IRC ağları eklemek oldukça basittir.
1. Kullanıcı Ekleme: Web arayüzünde “Add User” (Kullanıcı Ekle) seçeneğini bulun. Yeni bir kullanıcı adı, şifre belirleyin ve diğer ayarları yapılandırın. Her kullanıcının kendi ayrı yapılandırması ve bağlı olduğu IRC ağları olacaktır.
2. Ağ Ekleme: Mevcut bir kullanıcıyı seçin ve “Add Network” (Ağ Ekle) seçeneğini kullanın. Burada, IRC sunucu adresi, port, SSL ayarları, takma adlar ve otomatik katılınacak kanallar gibi detayları girersiniz. Ayrıca, perform modülü aracılığıyla NickServ kimlik doğrulaması gibi otomatik komutları da ekleyebilirsiniz.
İleri Düzey Yapılandırma ve Optimizasyon
ZNC’nin temel kurulumu tamamlandı, ancak deneyiminizi daha da iyileştirmek için bazı ileri düzey yapılandırmalar ve optimizasyonlar yapabilirsiniz.
SSL Sertifikası Kullanımı (Let’s Encrypt)
ZNC’nin ilk kurulumunda oluşturduğu kendi kendine imzalı sertifika, tarayıcınızda veya IRC istemcinizde güvenlik uyarılarına neden olur. Bunu önlemek ve daha güvenli bir bağlantı sağlamak için Let’s Encrypt gibi güvenilir bir sertifika yetkilisinden ücretsiz bir SSL sertifikası alabilirsiniz.
Ön Koşul: Alan adınızın (örneğin irc.example.com) VPS’inizin IP adresine işaret ettiğinden emin olun.
1. Certbot Kurulumu: Let’s Encrypt sertifikalarını yönetmek için certbot aracını kurun:
sudo apt install certbot
2. Sertifika Alma: certbot‘u standalone modunda kullanarak sertifikayı alın. Bu modda certbot geçici olarak kendi web sunucusunu çalıştırır, bu nedenle ZNC’nin 443 portunu kullanıyorsanız, sertifika almadan önce ZNC’yi durdurmanız gerekebilir:
sudo systemctl stop znc
sudo certbot certonly --standalone -d your_domain.com
your_domain.com yerine kendi alan adınızı yazın. E-posta adresi ve hizmet şartlarını kabul etme gibi soruları yanıtlayın.
Sertifikalarınız /etc/letsencrypt/live/your_domain.com/ dizininde oluşturulacaktır. fullchain.pem genel sertifikayı ve privkey.pem özel anahtarı içerir.
3. ZNC’yi Sertifikaları Kullanacak Şekilde Yapılandırma: ZNC’nin znc.conf dosyasını düzenleyerek yeni sertifikaları kullanmasını sağlayın. Bu işlemi web arayüzünden de yapabilirsiniz.
sudo -u znc nano /var/lib/znc/.znc/configs/znc.conf
Listen bloğunu bulun ve SSLCertFile ile SSLKeyFile satırlarını aşağıdaki gibi güncelleyin:
# ... diğer ayarlar ...
SSLCertFile = /etc/letsencrypt/live/your_domain.com/fullchain.pem
SSLKeyFile = /etc/letsencrypt/live/your_domain.com/privkey.pem
ZNC’nin bu dosyalara erişebilmesi için znc kullanıcısına okuma izni vermeniz gerekebilir. Ancak Let’s Encrypt, bu dosyaları genellikle root kullanıcısına ait yapar ve diğer kullanıcılar için kısıtlar. En iyi yol, bu dosyaları ZNC’nin okuyabileceği bir konuma kopyalamak ve izinleri ayarlamaktır:
sudo cp /etc/letsencrypt/live/your_domain.com/fullchain.pem /var/lib/znc/.znc/znc.pem
sudo cp /etc/letsencrypt/live/your_domain.com/privkey.pem /var/lib/znc/.znc/znc.key
sudo chown znc:znc /var/lib/znc/.znc/znc.pem /var/lib/znc/.znc/znc.key
sudo chmod 600 /var/lib/znc/.znc/znc.pem /var/lib/znc/.znc/znc.key
Ve znc.conf dosyasını buna göre güncelleyin:
# ... diğer ayarlar ...
SSLCertFile = /var/lib/znc/.znc/znc.pem
SSLKeyFile = /var/lib/znc/.znc/znc.key
Değişiklikleri kaydettikten sonra ZNC servisini yeniden başlatın:
sudo systemctl restart znc
Artık IRC istemciniz veya web tarayıcınız ZNC’ye bağlanırken geçerli bir SSL sertifikası kullanacaktır.
4. Otomatik Yenileme: Certbot, sertifikaları otomatik olarak yenilemek için bir cron işi veya systemd zamanlayıcısı kurar. Ancak ZNC’nin sertifikalarını kopyaladığımız için, yenileme sonrası bu kopyaların da güncellenmesi gerekir. Bu, bir certbot yenileme kancası kullanılarak otomatize edilebilir:
sudo nano /etc/letsencrypt/renewal-hooks/deploy/znc_cert_deploy.sh
İçine aşağıdaki betiği yapıştırın:
#!/bin/bash
cp /etc/letsencrypt/live/your_domain.com/fullchain.pem /var/lib/znc/.znc/znc.pem
cp /etc/letsencrypt/live/your_domain.com/privkey.pem /var/lib/znc/.znc/znc.key
chown znc:znc /var/lib/znc/.znc/znc.pem /var/lib/znc/.znc/znc.key
chmod 600 /var/lib/znc/.znc/znc.pem /var/lib/znc/.znc/znc.key
systemctl restart znc
Betiği yürütülebilir yapın:
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/znc_cert_deploy.sh
Bu betik, certbot sertifikaları yenilediğinde otomatik olarak çalışacak ve ZNC’nin sertifika dosyalarını güncelleyip ZNC servisini yeniden başlatacaktır.
Modüller
ZNC’nin modüler yapısı, işlevselliğini büyük ölçüde genişletmenizi sağlar. Modüller, web arayüzü üzerinden veya IRC istemcinizden *control modülü aracılığıyla yüklenebilir, boşaltılabilir ve yapılandırılabilir.
Bazı popüler ve kullanışlı modüller:
* webadmin: ZNC’yi web tarayıcınızdan yönetmenizi sağlar. (Varsayılan olarak yüklenmiş olmalı).
control: IRC istemcinizden ZNC’yi yönetmek için komutlar sağlar (örn. /msg control help).
* nickserv: IRC sunucusuna bağlandıktan sonra otomatik olarak NickServ’e kimlik doğrulaması yapar.
* sasl: IRC sunucusuna bağlanırken SASL (Simple Authentication and Security Layer) kimlik doğrulaması kullanır.
* away: IRC istemciniz ZNC’den ayrıldığında otomatik olarak sizi “away” durumuna ayarlar ve geri döndüğünüzde “unaway” yapar.
* log: Tüm kanal ve özel mesaj aktivitelerini günlüğe kaydeder.
* perform: IRC sunucusuna bağlandıktan sonra belirli komutları otomatik olarak çalıştırır.
* schat: Kullanıcıların ZNC üzerinden şifreli sohbetler yapmasını sağlar.
Modülleri yüklemek için web arayüzünde ilgili kullanıcı veya ağ ayarları altında “Modules” (Modüller) bölümüne gidin ve istediğiniz modülü seçip etkinleştirin.
Çoklu Kullanıcı ve Ağ Yönetimi
ZNC, birden fazla kullanıcıyı ve her kullanıcı için birden fazla IRC ağını destekler. Her kullanıcının kendi şifresi, takma adları, ayarları ve bağlı olduğu ağları olabilir. Bu, ZNC’yi bir aile, arkadaşlar grubu veya küçük bir organizasyon için merkezi bir IRC bouncer’ı olarak kullanmanıza olanak tanır. Her kullanıcı birbirinden tamamen izole çalışır.
Loglama ve Yedekleme
log modülü etkinleştirildiğinde, ZNC tüm sohbetleri ve olayları ana dizinindeki (örn. /var/lib/znc/.znc/users/kullaniciadi/networks/agadi/moddata/log/) dosyalara kaydeder. Bu log dosyaları, geçmiş sohbetleri incelemek için çok değerlidir.
ZNC yapılandırma dosyalarınız ve loglarınız /var/lib/znc/.znc dizininde bulunur. Bu dizini düzenli olarak yedeklemek, herhangi bir veri kaybı durumunda ZNC kurulumunuzu kolayca geri yüklemenizi sağlar. Basit bir yedekleme komutu şöyle olabilir:
sudo tar -czvf znc_backup_$(date +%Y%m%d).tar.gz /var/lib/znc/.znc
Bu komut, ZNC veri dizininin sıkıştırılmış bir arşivini oluşturur. Bu arşivi güvenli bir yere (örneğin uzak bir depolama servisi veya yerel makinenize) kopyalamanız önerilir.
Sorun Giderme
ZNC kurulumu veya çalışması sırasında sorunlarla karşılaşabilirsiniz. İşte bazı yaygın sorunlar ve çözümleri:
* ZNC Başlamıyor:
* sudo systemctl status znc komutuyla servisin durumunu kontrol edin. Hata mesajlarını dikkatlice okuyun.
* journalctl -xeu znc komutuyla sistem günlüklerini kontrol edin. Bu, ZNC’nin neden başlamadığına dair daha ayrıntılı bilgi sağlayabilir.
* znc.conf dosyasında syntax hatası olup olmadığını kontrol edin. sudo -u znc /usr/local/znc/bin/znc --verify-config komutuyla yapılandırma dosyanızı doğrulayabilirsiniz.
* ZNC’ye Bağlanamıyorum (IRC İstemcisi veya Web Arayüzü):
* Güvenlik duvarı (UFW) ayarlarınızı kontrol edin. ZNC’nin dinlediği portun açık olduğundan emin olun (sudo ufw status).
* VPS IP adresinizi veya alan adınızı doğru girdiğinizden emin olun.
* ZNC’nin dinlediği portu doğru girdiğinizden emin olun.
* SSL kullanıyorsanız, istemcinizin SSL/TLS bağlantısını desteklediğinden ve sertifika uyarılarını kabul ettiğinizden emin olun (veya Let’s Encrypt sertifikasını doğru kurduğunuzdan).
* Bağlantı şifrenizi (örneğin kullaniciadi:sifre/agadi) doğru girdiğinizden emin olun.
* ZNC IRC Sunucusuna Bağlanamıyor:
ZNC web arayüzünden veya IRC istemcinizden status kanalına bağlanarak ZNC’nin IRC sunucusuyla bağlantı durumunu kontrol edin. Hata mesajları genellikle orada görünür.
* IRC sunucu adresini ve portunu doğru girdiğinizden emin olun.
* IRC sunucusunun SSL gerektirip gerektirmediğini kontrol edin ve ZNC’nin ağ ayarlarında SSL’yi buna göre etkinleştirin veya devre dışı bırakın.
* IRC sunucusu geçici olarak kapalı veya erişilemez olabilir.
* Modüller Yüklenmiyor:
* ./configure komutunu çalıştırırken ilgili betik dili modüllerini (örn. --enable-python) etkinleştirdiğinizden emin olun.
* Modül adını doğru yazdığınızdan emin olun.
Sonuç
Bu kapsamlı rehberde, Ubuntu VPS üzerine ZNC (IRC Bouncer) kurma sürecini baştan sona ele aldık. Sistem güncellemelerinden başlayarak, kaynak koddan derlemeye, özel bir kullanıcı oluşturmaya, systemd servisi olarak yapılandırmaya, güvenlik duvarı ayarlarını yapmaya ve nihayet ZNC’ye bağlanıp yönetmeye kadar tüm adımları detaylandırdık. Ayrıca, Let’s Encrypt ile SSL sertifikası kullanımı ve ZNC modülleri gibi ileri düzey konulara da değindik.
Artık kendi ZNC bouncer’ınıza sahipsiniz ve IRC deneyiminizi kesintisiz, güvenli ve esnek bir şekilde yaşayabilirsiniz. Unutmayın, ZNC’nin potansiyelini tam olarak kullanmak için modüllerini keşfetmekten ve yapılandırmasını ihtiyaçlarınıza göre ayarlamaktan çekinmeyin. İyi sohbetler!