Strona 1
Konta Wirtualne - Postfix + Vm-Pop3d
2007-02-01 18:53:16
http://newbie.linux.pl/wydruk.php?wydruk=65&show=artykul
Konta Wirtualne - Postfix + Vm-Pop3d
Autor: Marcin Mikolajczyk
Spróbuj
ę
przedstawi
ć
wykorzystanie kont wirtualnych w postfiksie w oparciu o Postfix 1.1.12 oraz Vm-pop3d-
1.1.6
Najpierw musimy
ś
ciagn
ąć
pliki, tzn potrzebujemy:
postfix-1.1.12.tar.gz (www.postfix.org)
vm-pop3d-1.1.6.tar.gz (www.reedmedia.net/software/virtualmail-pop3d/)
postfix-1.1.12.patch.gz (http://www.oav.net/~kiwi/postfix)
Rozpakowujemy pliki do katalogu np. /root/tmp
tar -xzvf postfix-1.1.12.tar.gz
tar -xzvf vm-pop3d-1.1.6.tar.gz
gunzip postfix-1.1.12.patch.gz
No i teraz bierzemy si
ę
za instalacj
ę
:
Aby uaktywni
ć
quot
ę
na kontach wirtualnych musimy "spaczowa
ć
" postfiksa , do tego potrzebna nam jest
łatka
postfix-1.1.12.patch.gz
, w katalogu w ktorym nam si
ę
rozpakował plik (u nas /root/tmp) wpisujemy:
patch
jak dobrze pójdzie postfix sam si
ę
spatchuje, jesli patch bedzie sie pytal o pliki musimy mu je wskaza
ć
.
wchodzimy do katalogu postfix-1.1.12
cd postfix-1.1.12
Z racji tego
ż
e w tym tek
ś
cie postanowiłem skoncentrowa
ć
si
ę
tylko na kontach wirtualnych nie b
ę
d
ę
si
ę
rozpisywał co do konfiguracji postfixa.
(dobry tekst nt. konfiguracji postfixa jest na stronie http://linio.terramail.pl/postfix.html )
najprostsza instalacja polega na wydaniu polece
ń
:
./configure
make
make install clean
dajemy namiary na swoje ustawienia i ju
ż
jest zainstalowany
Po instalacji bierzemy si
ę
za vm-pop3d
Wchodzimy do katalogu vm-pop3d-1.1.6
edytujemy plik vm-pop3d.h
nas interesuj
ą
nast
ę
puj
ą
ce linijki
/* The version */
#define VERSION "Tu mozemy wpisac wersje"
/* The implementation */
#define IMPL "Tu mozemy wpisac nazwe"
Te wpisy b
ę
d
ą
si
ę
pokazywa
ć
, jesli kto
ś
poł
ą
czy si
ę
z naszym serwerem na port 110 i zamiast nazwy
programu poka
ż
e mu si
ę
to co wpisali
ś
my
dalej :
#define VIRTUAL_UID 5000
to jest nam potrzebne do okreslenia przywilejów z których bedzie korzystał vm-pop3d (stworzymy usera o
tym uid-zie)
#define VIRTUAL_MAILPATH "/var/spool/virtual"
to jest scie
ż
ka do plików, w którym b
ę
d
ą
przetrzymywane maile (dokładna
ś
cie
ż
ka : "/var/spool/virtual/
domena/user")
#define VIRTUAL_PASSWORDS_PATH "/etc/virtual"
to jest scie
ż
ka gdzie b
ę
d
ą
przetrzymywane hasła userów (
ś
cie
ż
ka: "/etc/virtual/domena/")
#define VIRTUAL_PASSWORD_FNAME "passwd"
to jest nazwa pliku z hasłami, który b
ę
dzie u
ż
ywany do identyfikacji
teraz zapisujemy plik vm-pop3d.h
mo
ż
emy ju
ż
rozpocz
ąć
kompilacj
ę
:
./configure
make
make install clean
Mamy ju
ż
zainstalowane
ź
ródła, przyst
ę
pujemy do konfiguracji.
Najpierw zajmijmy si
ę
postfiksem - on b
ę
dzie dostarczał poczt
ę
tam gdzie trzeba
Wchodzimy do katalogu głównego postfiksa
cd /etc/postfix
Strona 2
Konta Wirtualne - Postfix + Vm-Pop3d
2007-02-01 18:53:16
http://newbie.linux.pl/wydruk.php?wydruk=65&show=artykul
edytujemy plik master.cf
Wygl
ą
da on nast
ę
puj
ą
co:
# =================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==================================================================
smtp inet n - n - - smtpd
#628 inet n - n - - qmqpd
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 nqmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
flush unix n - n 1000? 0 flush
smtp unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
#virtual unix - n n - - virtual
Aby uaktywni
ć
usług
ę
virtual "odhaszowujemy" usług
ę
'virtual' (kasujemy '#')
Zapisujemy plik, nast
ę
pnie edytujemy plik main.cf
Dopisujemy na ko
ń
cu poni
ż
sze linijki:
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_base = /var/spool/virtual
virtual_mailbox_map = hash:/etc/postfix/vmailbox
transport_maps = hash:/etc/postfix/transport
virtual_mailbox_limit_maps = hash:/etc/postfix/vquota
Te linijki ustawiaj
ą
uid oraz gid virtualnego agenta, miejsce z opisem u
ż
ytkowników virtual, oraz obslug
ę
transport, ostatnia linijka powoduje wł
ą
czenie obsługi quota na skrzynki virtualne
Teraz musimy edytowa
ć
/stworzy
ć
plik transport
touch transport
pico transport (lub vi transport)
wpisujemy nast
ę
puj
ą
c
ą
linijk
ę
:
domena.com virtual:
w miejsce 'domena.com' wpisujemy nazw
ę
naszej domeny któr
ą
chcemy obslugiwa
ć
.
Nast
ę
pnie edytujemy plik 'virtual'
powinien on wygladac tak :
domena.com virtual
user@domena.com user
user2@domena.com user2
w miejsce domena.com wpisujemy swoj
ą
nazw
ę
domeny
w miejsce virtual wpisujemy cokolwiek, mo
ż
e to byc data lub nazw
ę
administratora
pod t
ą
linijk
ą
wpisujemy nazwy u
ż
ytkowników zaczynamy od nazwy email:
'user@domena.com'
i nazw
ę
krótsz
ą
u nas 'user' ale moze byc rowinie
ż
wykorzystana nazwa
'user.domena.com'
Zapisujemy plik.
Nast
ę
pnie edytujemy plik vmailbox
Strona 3
Konta Wirtualne - Postfix + Vm-Pop3d
2007-02-01 18:53:16
http://newbie.linux.pl/wydruk.php?wydruk=65&show=artykul
Ten plik posiada podobn
ą
zawarto
ść
co plik 'virtual' z t
ą
ró
ż
nic
ą
,
ż
e zamiast nazwy krótkiej wpisujemy
ś
cie
ż
k
ę
do pliku z mailami:
domena.com virtual
user@domena.com domena.com/user
user2@domena.com domena.com/user2
Zapisujemy plik.
Edytujemy plik vquota
W tym pliku ustawiamy rozmiar ograniczenia dyskowego na skrzynki pocztowe.
Mo
ż
e on wygl
ą
da
ć
nast
ę
puj
ą
co:
user@domena.com 2048000
user2@domena.com 2048000
najpierw wpisujemy konto email a nast
ę
pnie ograniczenie (podawane w bajtach) tak wi
ę
c 2048000 = 2mb.
Zapisujemy plik.
Edytujemy plik aliases.
Musimy dopisa
ć
aliasy do naszych kont:
user: /var/spool/virtual/domena.com/user
user2: /var/spool/virtual/domena.com/user2
Szablon nast
ę
puj
ą
cy:
nazwa_usera: /var/spool/virtual/'domena'/'nazwa_usera'
Zapisujemy plik.
Teraz wydajemy nast
ę
puj
ą
ce polecenia:
postalias /etc/aliases
postmap /etc/postfix/virtual
postmap /etc/postfix/vmailbox
postmap /etc/postfix/transport
postmap /etc/postfix/vquota
postfix reload
Teraz wchodzimy do katalogu /etc/virtual (je
ś
li nie istnieje tworzymy : mkdir virtual)
Nast
ę
pnie tworzymy katalog domena.com (mkdir domena.com)
wchodzimy do niego (cd domena.com)
i tworzymy plik z hasłami:
Korzystamy z programu doł
ą
czonego do apache - htpasswd
htpasswd -bc passwd user haslo_dla_user
htpasswd -b passwd user2 haslo_dla_user2
dodali
ś
my userów.
Teraz musimy stworzy
ć
katalog /var/spool/virtual
i w nim katalog domena.com
Teraz dodajemy usera w systemie, który b
ę
dzie obslugiwal vm-pop3d
useradd -u 5000 mail
b
ę
dzie mial uid = 5000
B
ę
d
ą
c w katalogu /var/spool/virtual
Zmieniamy wła
ś
ciciela:
chown mail domena.com
Wchodzimy do katalogu i tworzymy plik z nazw
ą
usera
touch user
chmod 666 user
Aby mo
ż
na bylo dopisywa
ć
nowe maile.
Teraz jeszcze edytujemy plik inetd.conf (W OpenBSD w Linuksie jest to xinet.d lub inet.d). Musimy tam
dopisa
ć
nast
ę
puj
ą
c
ą
linijk
ę
:
pop3 stream tcp nowait root /usr/local/sbin/vm-pop3d -d vm-pop3d
Ta linijka sprawi,
ż
e b
ę
dziemy mogli uruchomi
ć
vm-pop3d jako daemon.
Strona 4
Konta Wirtualne - Postfix + Vm-Pop3d
2007-02-01 18:53:16
http://newbie.linux.pl/wydruk.php?wydruk=65&show=artykul
Zapisujemy plik, oraz restartujemy system
po restarcie sprawdzamy, czy vm-pop3d chodzi:
telnet localhost 110
+OK POP3 Welcome to Blacharz Serwer - A co cie to ?
<18351.1045452004@domena.com>
Chodzi. Wpisujemy quit aby wyj
ść
.
To b
ę
dzie ju
ż
wszystko.
Sprawdzamy teraz czy jest dobrze.
mail user
Subject: Test
Testujemy
.
EOT
Teraz wchodzimy do katalogu:
cd /var/spool/virtual/domena.com
sprawdzamy czy plik nie jest pusty:
ls -l
-rw-rw-rw- 1 mail mail 438 Feb 16 04:37 user
Widzimy
ż
e postfix dostarczył maila.
Teraz np. W Outlook Express zakładamy nowe konto
podajemy parametry swojego serwera.
Teraz jako login wpisujemy :
user@domena.com
hasło takie jakie ustawili
ś
my
Jako login mo
ż
emy rownie
ż
wpisa
ć
user:domena.com
Je
ś
li dostali
ś
my maila z tematem Test, to oznacza
ż
e jest ju
ż
dobrze.
No i juz .
Wła
ś
nie zrobili
ś
my konta wirtualne
Je
ś
li chcemy doda
ć
wi
ę
ksz
ą
ilo
ść
userów proponuj
ę
skorzystanie z mojego skrytpu Skrypt
Automatyzuje proces dodawania do absolutnego minimum.
To ju
ż
naprawd
ę
wszystko.
Marcin Mikołajczyk
blacharz@linux.pl
Artykuł pochodzi ze strony: Newbie - http://newbie.linux.pl