Synopsis
dbiproxy <options> --localport=<port>
Description
Bu araç, DBI::ProxyServer paketi için yalnızca bir ön uçtur (front end). Tek yaptığı komut satırından seçenekleri almak ve DBI::ProxyServer::main() işlevini çağırmaktır. Ayrıntılar için DBI::ProxyServer sayfasına bakın.
Mevcut seçenekler şunları içerir:
--chroot=dizin (Yalnızca UNIX) Bir bind() işlemi yaptıktan sonra, chroot() uygulayarak kök dizini (root directory) belirtilen dizinle değiştirir. Bu işlem güvenlik için yararlıdır ancak ortamı oldukça kısıtlar. Örneğin, yapılandırma dosyasında DBI sürücülerini yüklemeniz gerekir veya sürücüleriniz Unix soketleri kullanıyorsa bu soketlere sabit (hard) bağlantılar oluşturmanız gerekir. Örneğin MySQL ile bir yapılandırma dosyası şu satırları içerebilir:
my $rootdir = '/var/dbiproxy'; my $unixsockdir = '/tmp'; my $unixsockfile = 'mysql.sock'; foreach $dir ($rootdir, "$rootdir$unixsockdir") { mkdir 0755, $dir; } link("$unixsockdir/$unixsockfile", "$rootdir$unixsockdir/$unixsockfile"); require DBD::mysql;
{ 'chroot' => $rootdir, ... }
chroot() işlevini bilmiyorsanız, oturum açtıktan sonra yalnızca belirli bir dizin ağacını görebildiğiniz bir FTP sunucusunu düşünebilirsiniz. Ayrıca --group ve --user seçeneklerine de bakın.
--configfile=dosya Yapılandırma dosyalarının, new metodunun argümanlarını geçersiz kılan tek bir hash referansı döndürdüğü varsayılır. Ancak, komut satırı argümanları yapılandırma dosyasına göre önceliğe sahiptir. Yapılandırma dosyası hakkındaki ayrıntılar için DBI::ProxyServer belgelerindeki "CONFIGURATION FILE" (YAPILANDIRMA DOSYASI) bölümüne bakın.
--debug Hata ayıklama (debugging) modunu açar. Temel olarak bu, "debug" düzeyindeki günlük (log) mesajlarının oluşturulmasını sağlar.
--facility=mod (Yalnızca UNIX) Sys::Syslog için kullanılacak tesis (facility). Varsayılan değer daemon'dır.
--group=gid Bir bind() işlemi gerçekleştirdikten sonra, gerçek ve etkin GID'yi verilen değerle değiştirir. Bu, sunucunuzun ayrıcalıklı bir porta (<1024) bağlanmasını istiyorsanız ancak sunucunun root olarak yürütülmesini istemiyorsanız yararlıdır. Ayrıca --user seçeneğine de bakın.
GID'ler grup adları veya sayısal değerler olarak iletilebilir.
--localaddr=ip Varsayılan olarak, bir arka plan programı (daemon) makinenin sahip olduğu herhangi bir IP adresini dinler. Bu öznitelik, sunucuyu verilen IP adresiyle sınırlandırmaya olanak tanır.
--localport=port Bu öznitelik, arka plan programının dinleyeceği portu ayarlar. Varsayılan bir değer olmadığından bir şekilde belirtilmesi zorunludur.
--logfile=dosya Varsayılan olarak günlük mesajları syslog (Unix) veya olay günlüğüne (event log - Windows NT) yazılır. Diğer işletim sistemlerinde bir günlük dosyası belirtmeniz gerekir. Özel "STDERR" değeri, günlük kaydını stderr'e zorlar. Ayrıntılar için Net::Daemon::Log belgesine bakın.
--mode=mod_adı Sunucu, ortama bağlı olarak üç farklı modda çalışabilir.
Eğer Perl 5.005 çalıştırıyorsanız ve bunu iş parçacıkları (threads) için derlediyseniz, sunucu her bağlantı için yeni bir iş parçacığı oluşturacaktır. İş parçacığı sunucunun Run() metodunu yürütecek ve ardından sonlanacaktır. Bu mod varsayılandır, "--mode=threads" ile bunu zorlayabilirsiniz.
İş parçacıkları mevcut değilse ancak çalışan bir fork() işleviniz varsa, sunucu her bağlantı için yeni bir süreç (process) oluşturarak benzer şekilde davranacaktır. Bu mod, iş parçacıklarının yokluğunda veya "--mode=fork" seçeneğini kullandığınızda otomatik olarak kullanılacaktır.
Son olarak, tek bağlantılı (single-connection) bir mod vardır: Sunucu bir bağlantıyı kabul ettiğinde Run() metoduna girecektir. Run() metodu geri dönene kadar (istemci bağlantıyı kesene kadar) başka hiçbir bağlantı kabul edilmez. Bu çalışma modu, örneğin Macintosh'ta olduğu gibi ne iş parçacıklarına ne de fork() işlevine sahip olmadığınız durumlarda yararlıdır. Hata ayıklama amacıyla "--mode=single" seçeneğiyle bu modu zorlayabilirsiniz.
--pidfile=dosya (Yalnızca UNIX) Bu seçenek mevcutsa, belirtilen konumda bir PID dosyası oluşturulacaktır. Varsayılan ayar, bir PID dosyası oluşturmamaktır.
--user=uid Bir bind() işlemi gerçekleştirdikten sonra, gerçek ve etkin UID'yi verilen değerle değiştirir. Bu, sunucunuzun ayrıcalıklı bir porta (<1024) bağlanmasını istiyorsanız ancak sunucunun root olarak yürütülmesini istemiyorsanız yararlıdır. Ayrıca --group ve --chroot seçeneklerine bakın.
UID'ler grup adları veya sayısal değerler olarak iletilebilir.
--version Sunucunun başlatılmasını engeller; bunun yerine sürüm dizesi yazdırılır ve program derhal çıkar.
Author
Copyright (c) 1997 Jochen Wiedmann Am Eisteich 9 72555 Metzingen Germany
Email: joe@ispsoft.de Phone: +49 7123 14881
DBI::ProxyServer modülü özgür bir yazılımdır; onu Perl'in kendisiyle aynı koşullar altında yeniden dağıtabilir ve/veye değiştirebilirsiniz. Özellikle, bunu DBI'ın bir parçası olarak dağıtması için Tim Bunce'a izin verilmiştir.
See Also
DBI::ProxyServer, DBD::Proxy, DBI
perl v5.34.0 2026-02-22 DBIPROXY(1)