Pardus Server 25 Üzerinde ZoneMinder Kurulumu: Adım Adım Tam Rehber
Pardus ZoneMinder kurulumu ile tüm kamera sistemimizi tek bir noktadan yönetmeye başlıyoruz. Günümüzde fiziksel güvenlik, dijital dünyadaki varlığımız kadar kritik bir hale geldi. Özellikle kurumsal ortamlarda veya kişisel projelerde, verilerin tamamen yerel ağda kaldığı, lisans maliyeti olmayan ve özgür yazılım felsefesiyle çalışan bir kamera yönetim sistemi (NVR/VMS) kurmak büyük bir avantajdır. Bu rehberde, Türkiye’nin yerli işletim sistemi Pardus Server 25 (BİLGE) üzerinde, dünyanın en popüler açık kaynaklı kamera yazılımlarından biri olan ZoneMinder‘ın kurulumunu ve karşılaşılabilecek kritik hataların çözümlerini inceleyeceğiz.
ZoneMinder Nedir ve Neden Kullanılır?
ZoneMinder, her türlü IP, USB ve analog kamerayı tek bir merkezden yönetmenize olanak tanıyan, açık kaynak kodlu ve profesyonel seviyede özellikler sunan gelişmiş bir video gözetim yazılım paketidir. Ancak onu piyasadaki standart NVR (Network Video Recorder) yazılımlarından ayıran en temel özellik, sunduğu modüler yapı ve tam denetim yeteneğidir.

Esnek Kayıt Mimarisi: Kayıt Tutma Zorunluluğu Yoktur
Birçok kullanıcı, bir güvenlik yazılımının temel görevinin sadece “görüntü kaydetmek” olduğunu düşünür. ZoneMinder ise bu paradigmayı yıkar. Yazılımı yapılandırırken görüntüleri saklama konusundaki kararı tamamen size bırakır:
- NVR ile Hibrit Çalışma: Eğer halihazırda görüntüleri kaydeden fiziksel bir NVR cihazınız varsa, ZoneMinder’ı bu sisteme paralel olarak kurabilirsiniz. ZoneMinder görüntüleri kaydedip disk alanınızı doldurmak yerine; sadece görüntüleri analiz edebilir, hareket algılayabilir veya yapay zeka entegrasyonları ile nesne tanıma (insan, araç, plaka vb.) yapabilir. Kayıt işini NVR cihazı yaparken, akıllı analiz işini Pardus Server üzerindeki ZoneMinder üstlenebilir.
- İzleme ve Analiz Odaklı Yapılandırma: ZoneMinder’da her kamera için farklı “çalışma modları” tanımlayabilirsiniz:
- Monitor: Sadece canlı izleme yapar, kayıt tutmaz.
- Modect (Motion Detection): Sadece hareket olduğunda analiz yapar.
- Record: Sürekli kayıt yapar.
- Mocord: Hem sürekli kayıt yapar hem de hareket olan anları işaretler.
Bu esneklik, sunucunuzdaki kaynakları (CPU ve Disk) sadece ihtiyacınız olan işlevler için harcamanıza olanak tanır.
Web Arayüzü: Bir “Kontrol Panelinden” Çok Daha Fazlası
Geleneksel NVR cihazlarının arayüzleri genellikle kısıtlıdır ve kullanıcıya sadece üreticinin izin verdiği ayarları sunar. ZoneMinder ise “her şeye müdahale edebilirsin” felsefesiyle tasarlanmıştır. Web tabanlı yönetim panelinde yapabilecekleriniz, standart bir yazılımın çok ötesindedir:
- Piksel Hassasiyetinde Bölgeler (Zones): Bir kameranın gördüğü alanda, sadece belirli bir pencerenin veya kapının hareketlerini takip etmek istiyorsanız, o alanı milimetrik olarak çizebilirsiniz. Hatta “bu bölgedeki hareket şu kadar piksellik bir alanı kaplıyorsa alarm ver” gibi çok ince filtreler tanımlayabilirsiniz.
- Karmaşık Filtreleme Motoru: ZoneMinder içindeki filtreleme motoru, SQL benzeri bir mantıkla çalışır. Örneğin; “Hafta içi saat 18:00’den sonra, B kamerasında 5 saniyeden uzun süren bir hareket olursa, görüntüyü FTP sunucusuna yükle ve bana Telegram üzerinden mesaj at” gibi karmaşık senaryoları hiçbir ek kod yazmadan arayüz üzerinden kurgulayabilirsiniz.
- Geniş Donanım ve Protokol Desteği: ZoneMinder; ONVIF, RTSP, HTTP ve yerel video aygıtlarını (USB kameralar gibi) destekler. Bu, sisteminizi kurarken belirli bir kamera markasına mahkum kalmamanız anlamına gelir.
Özetle ZoneMinder, kısıtlı bir uygulama değil; Pardus Server’ınızı profesyonel bir veri merkezi ve güvenlik üssüne dönüştüren, sınırları sizin teknik hayal gücünüzle çizilmiş devasa bir gözetim ekosistemidir. Diğer NVR yazılımlarının aksine, sistemin size değil, sizin sisteme hükmettiğiniz bir kullanıcı deneyimi sunar.
Neden ZoneMinder’ı Tercih Etmelisiniz?
- Gizlilik ve Güvenlik: Görüntüleriniz bulut sunuculara gitmez; tamamen kendi kontrolünüzdeki Pardus sunucusunda saklanır.
- Geniş Donanım Desteği: Marka bağımsız olarak hemen hemen tüm IP kameraları destekler.
- Maliyet: Herhangi bir lisans ücreti ödemeden sınırsız sayıda kamera ekleyebilirsiniz (donanımınız yettiği sürece).
- Gelişmiş Analiz: Hareket algılama, bölge tanımlama ve alarm tetikleme gibi profesyonel özellikler sunar.
Pardus Server 25 Üzerinde Kurulum Adımları
1. Sistem Güncellemesi
Her kuruluma olduğu gibi sistemimizi güncelleyerek başlıyoruz.
sudo apt update && sudo apt upgrade -y
2. LAMP (Linux, Apache, MariaDB, PHP) Yığınının Kurulması
ZoneMinder, bir web arayüzü ve veri tabanı üzerinde yükselir. Pardus 25 ile gelen PHP 8.4 ve MariaDB 11 sürümleri en yüksek performansı sağlar.
sudo apt install apache2 php libapache2-mod-php php-mysql mariadb-server -y
3. Veri Tabanı Güvenliği
Yeni MariaDB sürümlerinde komut setinin değiştiğine dikkat ederek güvenliği yapılandırıyoruz:
sudo mariadb-secure-installation

4. Veritabanı Şemasının Oluşturulması ve Yetkiler
ZoneMinder’ın çalışması için gerekli tabloları içeri aktarıyoruz ve bir veritabanı kullanıcısı tanımlıyoruz:
sudo mariadb -u root -p < /usr/share/zoneminder/db/zm_create.sql
sudo mariadb -u root -p -e "GRANT ALL PRIVILEGES ON zm.* TO 'zmuser'@'localhost' IDENTIFIED BY 'zmpass';"
sudo mariadb -u root -p -e "FLUSH PRIVILEGES;"Code language: JavaScript (javascript)

5. Dosya İzinleri ve Apache Yapılandırması
Web sunucusunun konfigürasyon dosyalarına erişebilmesi için gerekli izinleri ayarlıyoruz:
sudo chmod 740 /etc/zm/zm.conf
sudo chown root:www-data /etc/zm/zm.conf
sudo chown -R www-data:www-data /usr/share/zoneminder/
sudo adduser www-data video

CGI ve ZoneMinder modüllerini aktif ediyoruz:
sudo a2enconf zoneminder
sudo a2enmod cgi rewrite
sudo systemctl restart apache2

6. PHP Zaman Dilimi Ayar
Kayıtların gerçek zamanla eşleşmesi için /etc/php/8.4/apache2/php.ini dosyasındaki date.timezone satırını Europe/Istanbul olarak güncelleyin ve servisleri yeniden başlatın:
sudo systemctl restart zoneminder apache2

ÖNEMLİ! – Olası Hatalar ve Çözüm Yolları
Kurulum sürecinde, özellikle Pardus 25’in güncel mimarisinden kaynaklanan bazı engellerle karşılaşabilirsiniz. İşte bu süreçte karşılaşabileceğiniz kritik hatalar ve çözümleri:
1. Komut Bulunamadı: mysql_secure_installation
Hata: Pardus 25’te MariaDB 11 kullanıldığı için eski mysql komutları çalışmayabilir. Çözüm: Komutu sudo mariadb-secure-installation şeklinde kullanın. MariaDB artık kendi marka ismini komutlarda standart hale getirmiştir.
2. Erişim Engellendi (403 Forbidden) Hatası
Hata: /zm adresine gitmek istediğinizde Apache erişim izni vermeyebilir. Çözüm: /etc/apache2/conf-available/zoneminder.conf dosyasını düzenleyerek ana dizin bloğuna Require all granted satırını eklemelisiniz. Apache 2.4+ sürümlerinde bu izin açıkça belirtilmelidir.

3. PHP 500 İç Sunucu Hatası (ZM_LOCALE_DEFAULT)
Hata: Web sayfası “Internal Server Error” verir ve loglarda Undefined constant "ZM_LOCALE_DEFAULT" hatası görünür. Çözüm: Bu hata, veri tabanı tablolarının oluşmasına rağmen içlerinin boş kalmasından kaynaklanır.
- Veri tabanını
DROPedipzm_create.sqlile tekrar oluşturun. - Eğer
Valuekısmı boş dönüyorsa, manuel olarak bir locale ataması yapın:UPDATE Config SET Value='en_gb' WHERE Name='ZM_LOCALE_DEFAULT';
4. Veri Tabanı Bağlantı Sorunları
Hata: PHP, veri tabanına bağlanamadığı için sayfa yüklenemez. Çözüm: /etc/zm/zm.conf dosyasındaki ZM_DB_USER ve ZM_DB_PASS bilgilerinin, MariaDB’de oluşturduğunuz kullanıcı bilgileriyle birebir aynı olduğundan emin olun. Gerekirse localhost yerine 127.0.0.1 deneyin.
Sonuç: Bu rehberdeki adımları takip ederek, Pardus Server 25 üzerinde stabil ve performanslı bir kamera kayıt sistemi kurabilirsiniz. ZoneMinder, yerli işletim sistemimizin gücüyle birleştiğinde hem güvenli hem de ölçeklenebilir bir çözüm sunmaktadır.
Pardus ZoneMinder Kurulumu Sıkça Sorulan Sorular
ZoneMinder için GPU (Ekran Kartı) olan bir PC mi yoksa Pardus Server mı kullanmak gerekir?
ZoneMinder geleneksel olarak CPU (İşlemci) gücüne dayalı bir yazılımdır. Hareket algılama ve video işleme işlemleri varsayılan olarak işlemci üzerinden yürütülür. Bu nedenle, güçlü bir işlemciye ve yeterli RAM’e sahip bir Pardus Server kurulumu çoğu senaryo için yeterlidir. Ancak, çok sayıda kamera ile nesne tanıma (Yolo, OpenCV vb.) gibi yapay zeka özellikleri kullanacaksanız, CUDA destekli bir NVIDIA GPU eklemek sunucunun yükünü önemli ölçüde azaltacaktır.
Kaç kamera için nasıl bir donanıma ihtiyacım var?
Donanım ihtiyacı, kameraların çözünürlüğüne (1080p, 4K) ve saniyedeki kare sayısına (FPS) göre değişir.
Genel bir rehber:
1-4 Kamera (1080p): En az 2 Çekirdekli CPU, 4 GB RAM.
8-16 Kamera (1080p): En az 4-8 Çekirdekli CPU, 8-16 GB RAM.
32+ Kamera: Çok çekirdekli Xeon/Ryzen işlemciler, 32 GB+ RAM ve hızlı yazma hızı için NVMe SSD veya RAID yapılandırılmış diskler.
Web arayüzüne girerken neden “403 Forbidden” hatası alıyorum?
Bu hata genellikle Apache’nin ZoneMinder dizinine erişim yetkisi olmamasından kaynaklanır. Pardus 25 üzerindeki Apache 2.4 konfigürasyonunda /etc/apache2/conf-available/zoneminder.conf dosyası içine Require all granted satırının eklenmesi ve ardından Apache servisinin yeniden başlatılması sorunu çözecektir.
Sayfayı açtığımda “500 Internal Server Error” görüyorum, sebebi nedir?
Bu durum genellikle PHP tarafında bir çökme olduğunu gösterir. En yaygın sebebi, veritabanı tablolarının boş olması veya PHP’nin veritabanına bağlanamamasıdır. zm.conf dosyasındaki şifrelerin MariaDB’deki kullanıcı ile eşleştiğinden ve veritabanı şemalarının zm_create.sql ile doğru yüklendiğinden emin olmalısınız.
Kameraların üzerindeki saat neden sistem saatiyle uyumsuz?
Bu sorun ZoneMinder’dan değil, PHP’nin zaman dilimi ayarından kaynaklanır. Pardus 25’te /etc/php/8.4/apache2/php.ini dosyasındaki date.timezone parametresini Europe/Istanbul olarak güncelleyip Apache’yi yeniden başlatmanız gerekir.
Disk alanım dolduğunda kayıtlar durur mu?
Hayır, ancak bunun için bir “Filtre” tanımlamanız gerekir. ZoneMinder içinde varsayılan olarak gelen “PurgeWhenFull” filtresini aktif ederek, disk doluluk oranı %90 (veya belirlediğiniz bir oran) üzerine çıktığında en eski kayıtların otomatik olarak silinmesini sağlayabilirsiniz.
İşlemci kullanımım (CPU Load) çok yüksek, nasıl düşürebilirim?
Yüksek CPU kullanımı genellikle çok yüksek FPS değerlerinden kaynaklanır. Güvenlik kaydı için saniyede 5-10 kare (FPS) genellikle yeterlidir. Kameraların kendi arayüzünden veya ZoneMinder “Maximum FPS” ayarından bu değeri düşürmek işlemci yükünü %50’den fazla azaltabilir.
Mobil cihazlardan kameralarımı nasıl izleyebilirim?
ZoneMinder web arayüzü mobil uyumludur, ancak daha profesyonel bir deneyim için zmNinja uygulamasını kullanabilirsiniz. API erişimini aktif ettikten sonra Pardus sunucunuzun IP adresini uygulamaya girerek tüm kameraları mobil üzerinden yönetebilirsiniz.
“Undefined constant ZM_LOCALE_DEFAULT” hatasını nasıl geçerim?
Bu hata, ZoneMinder’ın veritabanındaki Config tablosundan varsayılan dil ayarını okuyamadığını gösterir. Veritabanına bağlanıp UPDATE Config SET Value='en_gb' WHERE Name='ZM_LOCALE_DEFAULT'; komutunu çalıştırarak bu değeri manuel atadığınızda PHP çökmesi duracak ve arayüz gelecektir.