Vpomailin halihazırda efektif ve esnek yapısı qmailin yönetiminin kolaylaşmasında önemli derecede rol oynamıştır ve göreceli olarak qmailin MTA lar arasındaki yükselişe katkısının büyük olduğunu söyleyebiliriz. Ken Jones tarafından http://www.inter7.com/vpopmail adresinde yönetilen vpopmail sadece yazılımın bulucusu tarafından değil tüm dünyadaki açıkkaynak kod severler tarafından desteklenmektedir. Kaynak kodları isteyen herkese açıktır ve ücretsizdir (GPL lisanslı). Vpopmaile ek program yazmak isteyen yazılımcılar için oldukca kaliteli bir api sunar .Sanal domain yönetimindeki başarısı birkaç domainle kısıtlı değildir üzerinde binlerce sanal domain koşan mtalari oldukça rahat bir şekilde kaldırabilmektedir.
Vpopmailin önemli bileşenleri
Vchkpw qmail-pop3d için bir onaylama aracı
Vdelivermail sanal kullanıcılara gelen mailleri yerlerine dağıtan araç(Mail Delivery Agent)
Vadduser
Vadddomain
Vmoduser
.
Normal qmail kurulumunda eklemek istediğimiz her mail hesabı için bir sistem hesabı lazimdir. Vpopmail kullandığımız zaman ise tüm mail hesapları için ortak kullanılabilecek bir sistem hesabı oluşturularak tüm hesaplar bu sistem kullanici hesabına atama yapılır. Böylece tüm kullanıcıların ana ev dizini aynı olur (/home/vpopmail gibi), alt ev dizinleri ise /home/vpopmail/domains/bizimev.net/huzeyfe şeklinde olur.
Yeni Sanal Domain eklemek
Bunun icin vpopmail in bize sundugu vadddomain programını kullanabiliriz. Normalde vadddomain programı /home/vpopmail/bin/ dizinindedir ve bunu konsoldan direkt çalıştırmaya kalkarsanız aşağıdaki hatayı alırsınız.
# vadddomain deneme.com
-bash: vadddomain: command not found
Her seferinde bu pathi uzun uzun yazmak yerine bu programların bulunduğu dizini PATH değişkenimize ekleyerek konsoldan sadece isimleri ile çağırabiliriz, bunun için;
/home/vpopmail/bin dizinini $PATH degişkenine eklemeliyiz
Bu işlem aşağıdaki gibidir;
#vi .bash_profile (komutu ile dosyayi acip) (root kullanıcısı olarak düşünülmüştür)
$PATH=$PATH:$HOME/bin:/home/vpopmail/bin
şeklinde getirin. Kaydedip çıkın sonra değişikliklerin aktif olmasını sağlamak için
#source /root/.bash_profile
komutunu kullanin.
vadddomain ile kullanabilecegimiz bazi secenekler ve kullanimi
vadddomain [secenekler] domain_ismi [postmaster passwd]
-e : secenegi ile eklediğimiz domaindeki bulunmayan hesaplara gelen mailleri bir hesaba gonderebiliriz.
-d : ile bu domainin hangi dizinde dosyalari barindiracaği belirtilir.
(default degeri(/home/vpomail/domains/
) uygundur.)
vadddomain komutu ile eklediğimiz domain /var/qmail/control/rcpthost dosyasina otomatik eklenir. Bizim elle eklememize gerek yoktur. Bu dosya haricinde birkaç dosyada daha değişiklik gerçekleşir bu dosyalar aşağıdaki gibidir.
/var/qmail/control/rcpthosts
/var/qmail/control/morercpthosts ( rcpthosts dosyası 50 satırdan fazla ise)
/var/qmail/control/virtualdomains
/var/qmail/users/assign
Örnek olması amacı ile bizimev.com domainini sisteme ekleyelim,
# vadddomain bizimev.com
Please enter password for postmaster: bir parola belirletin
enter password again: aynisini yazin
Domainimizi ekledik fakat bu domainin işlevsel hale gelebilmesi için yani dış dünya ile mail iletişimimizi saglayabilmek icin yapmamız gereken bir şey daha var, burada konunun dışında kaldığımız için değinmeyeceğim sadece hatırlatma açısından bahsediyorum eklediğimiz domain in dns kayitlarinin duzgun olması gerekiyor.
DNS kayıdından kastım MX kaydıdır bu domaine ait MX kaydının mail sunucu olarak kullandığımız makineyi göstermesi gerekmektedir.
Standart dns dokumanlarinda MX kayitlarinin ip adresi degil de fqdn olmasi gerektiği belirtilmektedir. Bazi mail sunucular ornegin (spymac.com) mx kaydi ip olan sunuculardan mail kabul etmemektedir. Veya cesitli sorunlar cikabilmektedir.
Dns teki mx kaydi
Bizimev.net. IN MX 0 mail.bizimev.net.
Seklinde olmalıdır.
Domainimizi ekledik simdi sira bu domainimize kullanıcı mail hesaplarını oluşturmak.
Yeni mail hesabı oluşturmak icin vadduser komutu kullanmalıyız. Bu komutu hem root hem de vpopmail kullanıcısı olarak kullanabiliriz. Tavsiyem vpopmail kullanıcısı olarak olarak kullanmanız yönündedir. Vpopmail kullanıcısı olmak için komut satırından
#su vpopmail
Yazmalıyız.
Vadduser Kullanımı
Vadduser [secenekler] email [parola]
en basit hali ile kullanımı bu şekildedir, bunlar haricinde
-q ile kullanıcıya kota belirleyebiliriz.
-n parolasız hesap oluşturabiliriz
-r otomatik değişken parola oluşturmasını sağlayabiliriz.( yahoo veya benzeri bazi sistemlerde sizin icin otomatik hazirlanan parolalari hatirladiniz degilmi?)
# vadduser huzeyfe@domain.com
Please enter password for huzeyfe@domain.com:
enter password again:
Vpasswd
Eklediğimiz bir kullanıcının parolasını değiştirmek istersek vpasswd programının kullanabiliriz, vpasswdnin alacağı 2 parametre vardır bunlardan ilki parolası değiştirilecek kullanıcı adı diğeride o hesaba atamak istediğimiz parola vpasswd kullanıp bir mail hesabına parola atarken aşağıdaki 2 yöntemide kullanabilirsiniz. Birinci şeklin dezavantajı yazdığınız parola bir başkası tarafından history komutu aracılığı ile okunabilir.
# vpasswd mail_adresi parola
yada
# vpasswd mail_adresi (den sonra enter a basarak)
bizden iki defa defa sifre sormasini saglayabiliriz.
Örnek;
#vpasswd huzeyfe@bizimev.net
Please enter password for huzeyfe@bizimev.net:
enter password again:
Vpoppbull
Bir domaine ait tüm kullanıcılara mail yollamak için kullanılır, vpopbull komutu ile mail sistemimizdeki tüm domainlere yada her bir domaine ayrı ayrı toplu mailler yollayabiliriz, mesela xyz.com kullanıcıları için özel bir uyarı maili atmak istersek bunu aşağıdaki biçimde yapabiliriz.
#vpopbull f /tmp/uyari v -e /tmp/xyz-haric xyz.com
Örnekte verdiğimiz parametreleri açıklayalım.
-f dosya_ismi : Toplu mail göndermek istediğimiz metni ibr dosyay yazarak bunu f parametresi ile kullanmalıyız.
-e dosya_ismi, bazen bir domainteki tüm kullanıcılara değilde bazı özellikleri barındıran kullanıcılara mail atmak isteyebiliriz, mesela sirketinizdeki tüm kullancıılara uyarı maili atmak istiyorsunuz fakat bu mailin yöneticilere gitmesini istemiyorsunuz, işte maili almasını istemdiğiniz mail adreslerini bu dosyaya her biri bir satıra gelecek şekilde yazabilirsiniz.
-v bu parametre ile yapılan işleri konsol ekranından izleyebilirsiniz.
xyz.com hangi sanal domaine toplu mail gönderimi yapılacağını belirler, burada herhangi bir domain ismi belirtmezseniz sistedem tanımlı tüm sanal domain kullanıcılarına göndermiş olursunuz.
Bunların haricinde işinize yarayabilcek bir parametre(-n) daha vardır ki o da genelde v parametresi ile birlikte bir sanal domain yada tüm sanal domainlere ait kullanıcıları listelemeye yarar.
Bir domain ait tüm kullanıcıları listemele için
#vpopbull v n domain.ismi
Tüm tanımlı sanaldomain hesaplarını listelemek için
#vpopbull v n
Vaddaliasdomain
Abc.com diye bir domaininiz var ve bu domaine kayıtlı binlerce mail hesabını kullanan çalışanınız, gün geldi şirketiniz domain ismini değiştirmeye karar verdi yada şuanki halinden farklı bir domain kullanmak istedi(mail.abc.com gibi)bu durumda tüm kullanıcıları yeni domaine aynı hesap bilgileri ile eklemek zorundayız, işte vaddaliasdomain burada yardımımıza koşarak bir domain adını başka bir domain adı olarak tüm kullanıcı hesap bilgileri ile kullanabilmemize olanak sağlıyor.
Yine verdiğimiz örnekten yola çıkarsak eskiden abc.com olan mail domainimiz mail.abc.com olarak değiştirildiyse tüm kullanıcıları herhangi bir değişiklik yapmaya zorlamadan
#vaddaliasdomain abc.com mail.abc.com
komutu ile yeni sisteme aktarabiliriz.
Vdeluser
Basitce sistemde bulunan bir mail hesabını silmeye yarar.
#vdeluser huzeyfe@bizimev.net
Vdeldomain
sisteme eklediğimiz bir domain hesabını siler.
#vdeldomain bizimev.net
Vmoduser
Vmoduser ile kullanici yada domain uzerinde bircok degisiklik yapilabilir.
Vmoduser in genis kullnimi icin komut satirina vmoduser yazmaniz yeterlidir. Vmoduser ile değişiklik yapabileceğiniz bazı özellikler
-q kota ile kota belirleyebiliriz
-u ile kullanıcının dial-up bağlantı ile maillerine erişememesini sağlayabiliriz
-p ile pop3 hizmeti kullanmasını engelleyebiliriz
-w ile webmail erisimini kısıtlayabiliriz
-i ile imap erisimi kısıtla
-a ile kullanıcıya qmailadmin arabirimini yönetici olarak kullanabilmesi hakkını atarız
Vuserinfo
Vuserinfo komutu ile kullanıcı hakkında geniş bilgi edinebilirsiniz. (sifreli parola ve acik parola dahil.)
Vuserinfonun en basit kullanımı
vuserinfo mail_adresi
şeklindedir, kullanabileceğiniz tüm seçenekleri görebilmek için
komut satırından
#vuserinfo yazmanız yeterlidir.
Örnek;
# vuserinfo huzeyfe@bizimev.net
name: huzeyfe
passwd: $1$5A;mF$81hH5k56PFsDULWCJPWUG0
clear passwd: 098lkkjfguıyfgy878
uid: 0
gid: 0
all services available
dir: /home/vpopmail/domains/bizimev.net/huzeyfe
quota: 30000000S,50000C
usage: 0%
last auth: Sat Sep 25 23:52:11 2004
last auth ip: 192.168.0.3
Vdominfo
Bir domaine ait özellikleri öğrenmemize yarar
# vdominfo bizimev.net
domain: bizimev.net
uid: 520
gid: 522
dir: /home/vpopmail/domains/bizimev.net
users: 60000
Kullanılabilecek parametreleri görmek için
#vdominfo -h komutunu kullanabilirisiniz.
Vpopmailin tanımında qmaile bir eklenti olarak yazıldığıdan bahsetmiştik bu eklenti qmail in çalışmasını az da olsa değiştirir. Yaptığı değişikliklerden en önemlisi Qmailin standart onaylama mekanizmasini kendisininki ile değiştirmesidir.
Vpopmail de roaming user ozelligi ne işe yarar?
Eğer vpopmaili kurarken roaming-user=y seçeneği ile derlediyseniz sisteminizde bu özelliği kullanabilirsiniz demektir, öntanımlı olarak vpopmail bu özellikten yoksun bir şekilde derlenmektedir. Roaming user ile mobile kullanıcılarımıza (farkli mekanlardan Outlook vb gibi mail istemcileri ile baglanan ) kendilerini pop3 ile tanıttıktan(pop3 için istenen kullanıcı adı ve parolayı doğru girmek) sonra sonra belirledigimiz bir müddet boyunca kullanıcının bağlandığı o IP adresine RELAY hakkı tanımaktan ibarettir
Böylece kullanıcı herhangi bir kısıtlama olmaksızın mail gönderebilir, böylece hem mail sunucumuzu SPAM aracı olmaktan çıkarmış oluruz hem de farklı yerlerden bağlanmak isteyen kullanıcılarımızı kendi üzerimizden mail haberleşmelerini sağlamış oluruz.
Bazı kaynaklarda bu özelliğe pop-before-smtp denildiğini görebilirsiniz. Adından da anlaşılacağı üzere önce POP bağlantısı gerekir sonra smtp mekanizmasının kullanmasına izin verilir.
Pop-before-smtp(roaming-user ) olayı aşağıdaki gibi gerçekleşir
1- kullanici mail sunucuya pop3 erisimi icin girisimde bulunur. Username passwd onaylamasini gecer.
2 vchkpw programi kullanicinin baglandigi ip adresini/home/vpopmail/etc/tcp.smtp dosyasina yazar. Burada tcp.smtp.cdb dosyasini bu adresini icerecek sekilde yeniden olusturun
3 boylece kullanici istedigi adrese rahatlikla mail gonderebilir duruma geliyor.
4 clearopensmtp adindaki bir programi crontab a yazarak istedigimiz zaman aralıklarında çalıştırabiliriz. Bunun amacı belirlediğimiz süre dolduğunda kullanıcının ip adresinin tcp.smtp dosyasından silinmesidir.
Crontab a asagidaki gibi girdi eklenebilir.
0 * * * * /home/vpopmail/bin/clearopensmtp
Bu girdi ile her saat başı clearopensmtp programının çalışmasını sağlıyoruz, yani mobile kullanıcılarımıza kendilerini pop3 ile onaylattıklarında bir saatlik bir relay izni vermiş oluyoruz.
Sistemimizi roaming-user ozelliği ile derlediysek /home/vpopmail/etc/tcp.smtp adında bir dosya oluşmuş olmalıdır bu dosyanın içerisinde aşağıdaki gibi tanımlar yapabiliriz.
127. : allow RELAYCLIENT =
bu satir ile 127 ile baslayan tum ip adreslerine relay izni verdik.
10.1.0.17 ip adresine relay izni vermek icin yine bu dosyaya asagidaki satirlari eklememiz yeterlidir.
10.1.0.17 : allow , RELAYCLIENT =
NOT:vpopmail kullanici olarak huzeyfe@mail.net
yerine huzeyfe%mail.net veya huzeyfe-mail.net kullanabilir.
vpopmailin sağladığı tüm programları görebilmek için /home/vpomail/bin dizinini inceleyebilirsiniz
# cd /home/vpopmail/bin/
# ls
clearopensmtp valias vdelivermail vipmap vpasswd vuserinfo
vaddaliasdomain vchkpw vdeloldusers vkill vpopbull
vadddomain vconvert vdeluser vmkpasswd vqmaillocal
vadduser vdeldomain vdominfo vmoduser vsetuserquota
Vpopmaili kurarken hangi özellikler ile kurabileceğinizi öğrenmek istiyosanız, vpopmailin kaynak dosyalarınmın bulunduğu dizinde ./configure --help komutunu vermeniz yeterlidir
Bu belgenin güncel halini
http://www.enderunix.org/docs/vpopmail.htm adresinden edinebilirsiniz.
Huzeyfe ÖNAL huzeyfe[at]enderunix.org
Vpopmail bir sanal domain ve sanal kullanıcı yonetim aracı olarak yazılmıştır, yazılmasında temel MTA (Mail Transfer Agent)olarak qmail ele alındığı için bu sadece bu MTA ile çalışır. Son zamanlarda postfix ile birlikte de çalışabilmesi için gerekli düzenlemeler yapılmıştır. Postfix ile çalıştırabilmeniz için yine aynı sitede bulunan vpopmail-postfix dökümanına göz atabilirsiniz.