Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Help & Support » Servers & Services » postfix в лесни стъпки
Тема: postfix в лесни стъпки, info за postfix
Мнение #1 Skip to the next post in this topic.
Написано на: Април 26 2008, 07:36

No avatar chosen




Група: Li fans
Мнения: 2
Регистриран: Октомври 2007

Оценка: няма

Offline
Здравейте. Мъча се с postfix. Литература само на чужди езици. Знам, че ми е голям недостатък, но за сега това ми е положението.Моля някой, който знае как става да драсне  стъпките в последователност или колкото му дуща отпусне./debian + apache + mysql + ...  / :60;  :60;
Контакти:  tryn4o
WEB  
Мнение #2 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Април 26 2008, 22:02

Avatar




Група: Li maniacs
Мнения: 869
Регистриран: Юли 2006

Оценка: 5

Offline
Ще си позволя да копирам тук еднп howto което не знам кой го е писал, взех го от линк във форум, линка беше от кеша на гугъл, та ако автора се разпознае да пише. Виж и тук http://wiki.debian.org/Postfix

Препис от тук    http://64.233.169.104/search?q=cache:o5NEjlSjmCQJ:blog.sa-sa.eu/%3Fp%3D49+Mysql+howto&hl=bg&ct=clnk&cd=12&gl=bg

В тази статия ще се опитам да Ви обясня как да инсталирате и конфигурирате Postfix mail сървър на Debian дистро използващ MySQL сървър за виртуални кутии тъй като аз самия до скоро имах проблеми и неможех да намеря howto на български.

За целта смятам да използвам Postfix, Courier imap/pop3, MySQL

1. Инсталираме необходимия софтуер
apt-get install postfix postfix-mysql postfix-doc
apt-get install courier-authdaemon courier-authmysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl
apt-get install postfix-tls libsasl2 libsasl2-modules libsasl2-modules-sql openssl

* Ако вече имате mysql сървър пропуснете реда отдолу!
apt-get install mysql-server-5.0

2. Създаваме таблиците в mysql сървъра
* Ако вече имате mysql сървър пропуснете реда отдолу! Той просто ще сложи root парола на mysql ако вече няма такава…
mysqladmin -u root password <парола>като замените <парола> с паролата, която бихте искали да ползвате

Създаваме базата данни ‘mail’
mysqladmin -u root -p create mail
Сега се логваме като root в mysql сървъра за да създадем необходимите ни таблици…
mysql -u root -p
След като се логнем изпълняваме следните команди в конзолата на mysql-a
grant select on mail.* to mail_admin@localhost identified by '<парола>';
flush privileges;
USE mail;
Сега създаваме следните таблици: domains, forwardings и users
CREATE TABLE domains (domain varchar(50) NOT NULL, PRIMARY KEY (domain) ) TYPE=MyISAM;
CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) ) TYPE=MyISAM;
CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) ) TYPE=MyISAM;

Сега създаваме 4 файла в папката “/etc/postfix”, които ще използваме за да насочваме mail сървъра да чете виртуалните кутии от mysql сървъра…
cd /etc/postfix
touch mysql-virtual_domains.cf
touch mysql-virtual_forwardings.cf
touch mysql-virtual_mailboxes.cf
touch mysql-virtual_email2email.cf

Време е да редактираме файловете! Добавете следните редове във файловете:

mysql-virtual_domains.cf

   user = mail_admin
   password = <парола>
   dbname = mail
   table = domains
   select_field = ‘virtual’
   where_field = domain
   hosts = 127.0.0.1

mysql-virtual_forwardings.cf

   user = mail_admin
   password = <парола>
   dbname = mail
   table = forwardings
   select_field = destination
   where_field = source
   hosts = 127.0.0.1

mysql-virtual_mailboxes.cf

   user = mail_admin
   password = <парола>
   dbname = mail
   table = users
   select_field = CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)
   where_field = email
   hosts = 127.0.0.1

mysql-virtual_email2email.cf

   user = mail_admin
   password = <парола>
   dbname = mail
   table = users
   select_field = email
   where_field = email
   hosts = 127.0.0.1

Сега трябва да променим правата на файловете, за да немогат да бъдат четени от който и да е потребител.
chgrp postfix /etc/postfix/mysql-virtual_*.cf
chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf

Време е да създадем потребител ‘vmail’ в който ще се записват писмата
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m

Отваряме файла “/etc/postfix/main.cf” за редактиране и променяме следните неща:

   inet_interfaces = all
   myhostname = mail.domain.com # променете domain.com с вашия домейн
   mydestination = $myhostname, localhost.$mydomain, localhost
   mynetworks = 127.0.0.0/8, 192.168.0.0/8 # избройте ip адресите които ще могат да изпращат и получават email-и през вашия сървър
   virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf mysql:/etc/postfix/mysql-virtual_email2email.cf
   virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
   virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
   virtual_mailbox_base = /home/vmail
   virtual_uid_maps = static:5000
   virtual_gid_maps = static:5000
   smtpd_sasl_auth_enable = yes
   broken_sasl_auth_clients = yes
   smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
   smtpd_use_tls = yes
   smtpd_tls_cert_file = /etc/postfix/smtpd.cert
   smtpd_tls_key_file = /etc/postfix/smtpd.key

Нека направим малък тест… ще рестартираме postfix daemon-а
/etc/init.d/postfix restart
postfix check

Сега създаваме файла “/etc/postfix/sasl/smtpd.conf” за да насочваме postfix откъде да чете потребителите и паролите им
touch /etc/postfix/sasl/smtpd.conf
и във файла записваме:

   pwcheck_method: auxprop
   auxprop_plugin: sql
   mech_list: plain login cram-md5 digest-md5
   sql_engine: mysql
   sql_hostnames: 127.0.0.1
   sql_user: mail_admin
   sql_passwd: <парола>
   sql_database: mail
   sql_select: select password from users where email=’%u@%r’

Променяме правата на файла:
chown root:postfix /etc/postfix/sasl/smtpd.conf
chmod u=rw,g=r,o= /etc/postfix/sasl/smtpd.conf

Продължаваме със създаването на няколко сертификата:
openssl req -new -outform PEM -out /etc/postfix/smtpd.cert -newkey rsa:2048 -nodes -keyout /etc/postfix/smtpd.key -keyform PEM -days 3650 -x509
Ще Ви бъдат зададени няколко въпроса. Попълнете ги според Вашите нужди…

Отваряме файла “/etc/courier/authmysqlrc” за редактиране и коригираме следните линии:

   MYSQL_SERVER localhost
   MYSQL_USERNAME mail_admin
   MYSQL_PASSWORD <парола>
   MYSQL_PORT 0
   MYSQL_DATABASE mail
   MYSQL_USER_TABLE users
   #MYSQL_CRYPT_PWFIELD (comment this out)
   MYSQL_CLEAR_PWFIELD password
   MYSQL_UID_FIELD 5000
   MYSQL_GID_FIELD 5000
   MYSQL_LOGIN_FIELD email
   MYSQL_HOME_FIELD “/home/vmail”
   #MYSQL_NAME_FIELD (comment this out)
   MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)

Рестартираме courier-а:
/etc/init.d/courier-authdaemon restart
и проверяваме дали всичко е наред пишейки:
telnet localhost pop3
ако получим отговор “+OK Hello there.” значи всичко е наред!

Сега ще създадем примерна виртуална кутия за да тестваме сървъра:
mysql -u root -p
INSERT INTO `domains` (`domain`) VALUES ('virtual.mail');
INSERT INTO `users` (`email`,`password`) VALUES ('user@virtual.mail','pass');
QUIT;

Сега ще проверим дали всичко е наред, като изпратим email на user@virtual.mail
За целта ще се свържем към smtp сървъра използвайки telnet:
telnet localhost 25
след като се свържете пишете
Код: 
ehlo localhost

и трябва да получите следните линии

   250-mailtest
   250-PIPELINING
   250-SIZE 10240000
   250-VRFY
   250-ETRN
   250-STARTTLS
   250-AUTH LOGIN PLAIN DIGEST-MD5 CRAM-MD5
   250-AUTH=LOGIN PLAIN DIGEST-MD5 CRAM-MD5
   250 8BITMIME

време е да изпратим примерния email
Код: 
mail from:<test@kostanev.com>

трябва да получим

   250 Ok

после пишем
Код: 
rcpt to:<user@virtual.mail>

пак получаваме250 Okпишем
data
и получаваме

   354 End data with .

сега пишем съобщението:
Hello! Tova e testov email.
.
получаваме

   250 Ok: queued as ABC1D1C123

* ABC1D1C123 99,9% ще е различно при вас

и пишем
quit
за да излезнем от telnet връзката към smtp сървъра!

Сега ще направим проверка на лог файла за да видим дали всичко е OK
tail -n 10 -f /var/log/mail.log
ако имате редовете

   Jul 24 21:48:28 myserver postfix/smtpd[9119]: connect from myserver[127.0.0.1]
   Jul 24 21:48:48 myserver postfix/smtpd[9119]: F2C1B47BD: client=myserver[127.0.0.1]
   Jul 24 21:48:52 myserver postfix/cleanup[9144]: F2C1B47BD: message-id=<20040724194842.F2C1B47BD@myserver>
   Jul 24 21:48:52 myserver postfix/qmgr[9117]: F2C1B47BD: from=, size=313, nrcpt=1 (queue active)
   Jul 24 21:48:52 myserver postfix/virtual[9148]: F2C1B47BD: to=, relay=virtual, delay=10, status=sent (delivered to maildir)

Изпълнете командата
find /home/vmail
и трябва да получите нещо от рода

   /home/vmail/virtual.test
   /home/vmail/virtual.test/user
   /home/vmail/virtual.test/user/tmp
   /home/vmail/virtual.test/user/cur
   /home/vmail/virtual.test/user/new
   /home/vmail/virtual.test/user/new/1114511715.V801I7400b.your.server

Ами честито! Вече се предполага, че трябва имате работещ mail сървър. Ако желаете да слагате разни (лично за мен не ефикасни) спам защити можете да потърсите информация за clamav, spamassassin, amavisd и т.н.

Ако желаете можете да ползвате webmail клиент. Някой добри и свободни за употреба са IlohaMail, SquirrelMail и т.н.
22 January 2008 · Системни настройки ·

Мнение #3 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Април 27 2008, 19:44

No avatar chosen




Група: Li fans
Мнения: 2
Регистриран: Октомври 2007

Оценка: няма

Offline
Благодаря. :)  Свърши ми работа ...  ... , а за това - работа с панела на vhcs. Търсих доста и ... не намерих ... нещо от рода на "абе тъпак. това означава еди какво си и се пише ето това  за да върши ето това ... " Езиковата бариера не е от значение за това - времето ме притиска и всичко е добре дошло ...
Контакти:  tryn4o
WEB  
Мнение #4 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Април 28 2008, 17:41

Avatar




Група: Li fans
Мнения: 65
Регистриран: Януари 2006

Оценка: няма

Offline
И аз благодаря на tolostoi за обяснението. Сигурно ще го пробвам тия дни. Обаче имам един друг въпрос тъй като преди време пращах и-мейли с sendEmail някой може ли да обясни на най-обикновен разбираем език какви са предимствата и недостатъците на postfix, sendmail, qmail и в кой случай да предпочетем употребата на едното а не на другото. Просто с няколко думи един вид да има някъква насока за незнаещи хора като мен

Редактирано от hollow на Април 28 2008, 17:42

Контакти:  hollow
WEB  
Мнение #5 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Април 29 2008, 11:25

No avatar chosen




Група: Li maniacs
Мнения: 153
Регистриран: Февруари 2007

Оценка: няма

Offline
Може би това ще ти свърши работа:
http://shearer.org/MTA_Comparison#Quick_Answer

Редактирано от cdiem на Април 29 2008, 11:35
Контакти:  cdiem

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #6 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Април 29 2008, 16:06

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
qmail се обновява доста бавно, но доставката на писма е изкл. бърза.. модулната структура позволява оптимизация и гъвкавост.
postfix не винаги се справя с виртуални доставки и mysql-и. а и amavis отнема доста ресурси.

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #7 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Септември 04 2008, 19:01

Avatar




Група: Li fans
Мнения: 269
Регистриран: Май 2008

Оценка: 4.5

Offline
имам един въпрос. Стигнах до тук :

Code Sample: 
grant select mail.* to mail_admin@localhost identified by 'паролка'


и ми казва

Quote: 

you have an error in your sql syntax; check the manual ... бла  бла ... for the right syntax used near 'mail.* to mail_admin@localhost'


инсталирах 5.0 сървър, както е задал автора.  :14;
Контакти:  Str82DHeaD

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #8 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Септември 05 2008, 11:37

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #9 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Септември 05 2008, 15:57

Avatar




Група: Li psychos
Мнения: 813
Регистриран: Август 2005

Offline
Цитат: (Str82DHeaD @ Септември 04 2008, 19:01)

имам един въпрос. Стигнах до тук :

Код: 
grant select mail.* to mail_admin@localhost identified by 'паролка'


и ми казва

Цитат: 

you have an error in your sql syntax; check the manual ... бла  бла ... for the right syntax used near 'mail.* to mail_admin@localhost'


инсталирах 5.0 сървър, както е задал автора.  :14;

grant select on mail.* to 'mail_admin'@'localhost' identified by "password"
Контакти:  quintessence

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #10
Skip to the previous post in this topic. Написано на: Януари 03 2009, 00:01

No avatar chosen




Група: Li fans
Мнения: 1
Регистриран: Януари 2009

Оценка: няма

Offline
Цитат: 

Ще си позволя да копирам тук еднп howto което не знам кой го е писал, взех го от линк във форум, линка беше от кеша на гугъл, та ако автора се разпознае да пише.


Аз съм собственика на статията, бях я написал в стария ми блог който вече не функционира. Вероятно това е причината да стои само в кеша на Гугъл. С какво мога да помогна?
Контакти:  Kostanev

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Общо 15 отговор(а) от Април 26 2008, 07:36 до сега
 » Начало » Li Форуми » Help & Support » Servers & Services » postfix в лесни стъпки

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums