новости книги игры
библиотека программы форум

11.05 11.10 1C 2010 2011 3d Acer action Additional Adobe alt linux ALT линукс в школу altlinux amarok AMD Android Apache apple apt-get ArchLinux asplinux ASUS Asus Eee PC ATI audio avi backup bash beta big buck bunny bind bittorrent blender bluetooth bsd c C++ Calibre Canonical cd Cedega CentOS chrome chromium cisco clamav CLI Damn Small Linux debian Dell desktop dns DOOM DOS download driver dvd e-book Eclipse emacs embedded linux enterprise EPUB Etersoft exim ext2 ext3 ext4 faq FB2 fedora fedora10 fedora8 fedora9 fedoracore firefox firefox3 firewall Flash Fluxbox flv free FreeBSD freeware ftp games gcc gentoo GIMP gnome GNU gnu linux google GPL GRUB gtk GTK+ hackday hdd HDR


   

«    Август 2008    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Готовы ли вы помочь преподавателям освоить Линукс?

Да, готов помочь с установкой и переобучением
Да, готов помочь с переобучением
Да, готов помочь с установкой
Да, готов стать преподавателем
Я уже помог
Нет, у меня нет на это времени/желания
Нет, у меня не хватит умения



LinuxTwitter:




Архив:

Октябрь 2011 (91)
Октябрь 2010 (42)
Апрель 2010 (10)
Январь 2010 (29)
Декабрь 2009 (6)
Ноябрь 2009 (31)
Октябрь 2009 (20)
Апрель 2009 (19)
Март 2009 (1)
Февраль 2009 (20)
Январь 2009 (31)
Декабрь 2008 (71)
Ноябрь 2008 (89)
Октябрь 2008 (91)
Сентябрь 2008 (113)
Август 2008 (168)
Июль 2008 (156)
Июнь 2008 (147)
Май 2008 (191)
Апрель 2008 (213)
Март 2008 (197)
Февраль 2008 (195)
Январь 2008 (112)
Декабрь 2007 (146)
Ноябрь 2007 (94)




Партнёры:


 

Добавить в Google Reader
Читать в Yandex.Ленте
Mobile LinuxOpen (test version)

Установка и настройка почтового сервера 

 Мне нравится:


 

alt
Я делал все на Debian Etch 4 R2

Ставим Debian.
При установке выбираем только базовую систему. Без графики.
После установки пишем в консоли apt-get install ssh
Теперь можно подключатся с другого компьютера!

Дальше apt-get install mc tcpdump gcc-4.1
Добавим репозитарии:
vim /etc/apt/sources.list
Нажимаем i что бы можно было редактировать.
Добавляем эти строки:
deb ftp://ftp.debian.unn.ru/debian/debian etch main contrib non-free
deb http://mirror.yandex.ru/debian/ etch main contrib non-free

Чтобы сохранить документ после редактирования в vim необходимо выйти из режима редактирования ESC и потом выйти с сохранением - :x (без сохранения - :q!).
Если необходимо прописываем прокси-сервер:
export http_proxy=http://192.168.1.1:3128
export ftp_proxy=http://192.168.1.1:3128


Обновляем зеркала apt-get update

Устанавливаем WEB сервер

apt-get install apache2
apt-get install libapache2-mod-perl2
apt-get install libapache2-mod-php4

Редактируем:
vim /etc/apache2/apache2.conf
Ищем строки и изменяем их (они скорре всего закоментированны – первый символ #)
DefaultLanguage ru
AddDefaultCharset koi8-r


Создаем виртуальный хост

mkdir /var/www/admin
vim /etc/apache2/sites-available/admin

И прописываем туда эти строки:
NameVirtualHost 192.168.1.2

ServerName admin@mydomain.ru
ServerAdmin seval@mydomain.ru

DocumentRoot /var/www/admin/

Options FollowSymLinks
AllowOverride All


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all


ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


ErrorLog /var/log/apache2/admin/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/admin/access.log combined
ServerSignature On


На этом настройка Apache закончена.

Устанавливаем MySQL сервер
apt-get install mysql-server

Установка Postfix c поддержкой TLS и MySQL

Postfix отвечает только за приём почты и раскладке его по нужным каталогам.
- Устанавливаем необходимые пакеты, также будет весьма полезно установить документацию:
apt-get install postfix
apt-get install postfix-mysql
apt-get install postfix-tls
apt-get install postfix-doc

Вносим изменения в /etc/postfix/main.cf
vim /etc/posfix/main.cf
Удаляем все что там есть и прописываем эти строки:

# Задаем имя нашего почтового узла
myhostname = mydomain.ru

# Имя нашего домена, если не указывать, то по умолчанию
# выставится myhostname минус первый компонент до точки
mydomain = mydomain.ru

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname

# Список доменов на которые будет осуществлятся доставка
# через local transport
mydestination = $myhostname, localhost.$myhostname, localhost

# Здесь задается нужно ли при авторзации указывать домен
# например вместо admin@mydomain.ru
# можно просто admin
append_dot_mydomain = no

# Здесь задается откуда Postfix принимает smtp соединения
mynetworks = 127.0.0.0/8 192.168.1.0/24

# Здесь задается на каких сетевых интерфейсах слушает Postfix
inet_interfaces = all

# Какой баннер выдается при приглашении
smtpd_banner = $myhostname ESMTP $mail_name (Seval/Linux)
biff = no

recipient_delimiter = +

# Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 4h

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

# Серевер на который будет пересылатся вся не локальная почта
# relayhost = 192.168.200.200

#mailbox_command = procmail -a "$EXTENSION"

# устанавливаем ограничение на ящик в 100Мб и на письмо в 10Мб
mailbox_size_limit = 102400000
message_size_limit = 10240000

# Создаём виртуальный домен, учитывая что uid=106(postfix) gid=107(postfix)
# проверить можно id postfix
virtual_mailbox_base = /var/spool/postfix/vmail
virtual_mailbox_domains = mysql:/etc/postfix/virt_domain.cf
virtual_alias_maps = mysql:/etc/postfix/virt_alias.cf
virtual_mailbox_maps = mysql:/etc/postfix/virt_mailbox.cf
transport_maps = mysql:/etc/postfix/transport.cf
virtual_minimum_uid = 100
virtual_uid_maps = static:106
virtual_gid_maps = static:107

# Добавим небольшой фильтр от спама
header_checks = regexp:/etc/postfix/header_checks

# Различные ограничения, призванные помочь в борьбе со спамом
smtpd_etrn_restrictions = permit_mynetworks, reject
smtpd_helo_required = yes

smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination

# Здесь указывается куда отправлять копию всей почты
#always_bcc =backup@mydomain.ru


- Создаём каталог, где будет храниться почта и изменяем владельца и права доступа:
mkdir /var/spool/postfix/vmail
chown postfix.postfix /var/spool/postfix/vmail
chmod 700 /var/spool/postfix/vmail


- Создаём файл, в котором пропишем правило отсева сообщений в теме которых содержаться слова sex, viagra, seduce, naked:
vim /etc/postfix/header_checks
Прописываем
/^Subject.*(sex|viagra|seduce|naked)/ FILTER REJECT:

- Создадим файлы доступа к MySQL. Пользователь postfixadmin в MySQL будет создан позже, при установке Postfix Admin.
vim /etc/postfix/virt_alias.cf
Там прописываем:
user = postfixadmin
password = postfixadmin
hosts = 127.0.0.1
dbname = postfix
table = alias
select_field = goto
where_field = address


vim /etc/postfix/virt_domain.cf
Там прописываем:
user = postfixadmin
password = postfixadmin
hosts = 127.0.0.1
dbname = postfix
table = domain
select_field = description
where_field = domain


vim /etc/postfix/virt_mailbox.cf
Там прописываем:
user = postfixadmin
password = postfixadmin
hosts = 127.0.0.1
dbname = postfix
table = mailbox
select_field = maildir
where_field = username

vim /etc/postfix/transport.cf
Там прописываем:
user = postfixadmin
password = postfixadmin
hosts = 127.0.0.1
dbname = postfix
table = transport
select_field = destination
where_field = domain


указывая в hosts IP адрес, мы принуждаем Postfix соединяться с MySQL через порт, если же указать localhost, то он будет стараться соединиться через сокет.

Устанавливаем Postfix Admin для настройки postfix через веб-интерфейс.

Доустановим пакет позволяющий PHP работать с MySQL:
apt-get install php4-mysql

Автоматически подгружаем расширение PHP для MySQL
vim /etc/php4/apache2/php.ini
Там убираем комментарий со строки
extension=mysql.so
В данном случае комметарии не символ # а символ ;

Берём последнюю версию пакета с http://high5.net/postfixadmin
wget http://downloads.sourceforge.net/postfixadmin/postfixadmin-2.2.1.1.tar.gz?modtime=1216813976&big_mirror=0

- Распаковываем
tar -zxvf postfixadmin-x.x.x.tgz
Переносим в рабочую директорию
mv postfixadmin-x.x.x /var/www/admin/postfix
Заходим в рабочую директорию
cd /var/www/admin/postfix


- Создаём таблицы:
mysql -u root -p < DATABASE_MYSQL.TXT

- Копируем config.inc.php.sample в config.inc.php
cp config.inc.php.sample config.inc.php
и редактируем
vim config.inc.php
Там изменяем:
$CONF['default_language'] = 'ru';

$CONF['admin_email'] = 'postmaster@electro.alrosa-mir.ru';

$CONF['default_aliases'] = array (
// 'abuse' => 'abuse@electro.alrosa-mir.ru ',
// 'hostmaster' => 'hostmaster@electro.alrosa-mir.ru ',
'postmaster' => 'pm@electro.alrosa-mir.ru ',
'webmaster' => 'pm@electro.alrosa-mir.ru '
);

$CONF['domain_path'] = 'NO';
$CONF['domain_in_mailbox'] = 'YES';

// Specify your default values below. Quota in MB.
$CONF['aliases'] = '10';
$CONF['mailboxes'] = '10';
$CONF['maxquota'] = '10';

$CONF['show_footer_text'] = 'NO';

поставляемый с программой руссифицирующий файл создан в кодировке windows-1251, да к тому же с длинными строками, чего программа не предусматривает. В результате невозможно работать из-за наезжания кнопок друг на друга. Попытки сменить кодировку не увенчались успехом. Программа упорно выдаёт свои страницы на русском языке невзирая на значение переменной default_language.
Но мы - русские люди, поэтому русификацию пришлось доработать. Можно скачать другой лэнг файл http://pm4u.opennet.ru/files/ru_koi8-r.lang
wget http://pm4u.opennet.ru/files/ru_koi8-r.lang
mv ru_koi8-r.lang ru.lang
rm /var/www/admin/postfix/languages/ru.lang
cp ru.lang var/www/admin/postfix/languages/

- Cоздаём таблицу transport в MySQL и заносим туда данные:
mysql -u root postfix


CREATE TABLE IF NOT EXISTS transport (domain varchar(128) not null primary key, destination varchar(128) not null);

INSERT INTO transport (domain,destination) VALUES ('electro.alrosa-mir.ru','virtual');

SELECT * FROM transport;

- Даём пользователю postfixadmin право на подключение к базе через порт. Для этого переходим в базу mysql:
USE mysql;

INSERT INTO db (host,db,user) VALUES ('127.0.0.1','postfix','postfixadmin');

INSERT INTO user (host,user,password) VALUES ('127.0.0.1','postfixadmin',password('postfixadmin'));

UPDATE db SET Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y', Create_priv='Y', Drop_priv='Y', Grant_priv='Y', References_priv='Y', Index_priv='Y', Alter_priv='Y', Create_tmp_table_priv='Y', Lock_tables_priv='Y' WHERE user='postfixadmin';

SELECT * FROM db WHERE user='postfixadmin';

- Активируем все изменения и покидаем командную оболочку MySQL:
flush privileges;

quit

Здесь нужно обратить внимание на то что строка заканчивается точкой с запятой.
- Проверяем из браузера страницу http://192.168.1.2/admin/postfix/admin/list-admin.php
- Смотрим конфигурацию (если возникли проблемы, то здесь можно найти подсказку) на http://192.168.1.2/admin/postfix/setup.php

- Добавляем домен electro.alrosa-mir.ruи почтовые ящики pm и p.
- Теперь в консоли проверяем как работает доставка почты, т.е. smtp:
telnet 192.168.1.2 25

Trying 192.168.1.2...
Connected to 192.168.1.2.
Escape character is '^]'.
220 electro.alrosa-mir.ru ESMTP Postfix (Seval/Linux)
helo mydomain
250 electro.alrosa-mir.ru
mail from: pm@mydomain.ru
250 2.1.0 Ok
rcpt to: p@mydomain.ru
250 2.1.5 Ok
data
354 End data with .
This test mail from our domen aem.local
.

250 2.0.0 Ok: queued as AC4D32A40CF
quit
221 Bye
Connection closed by foreign host.

- Идём в наш почтовый каталог /var/spool/postfix/vmail/ там, если не был, появился каталог p@mydomain.ru, а в нём (в каталоге new) сообщение.

Устанавливаем Courier с поддержкой MySQL


Courier отвечает за отдачу почты пользователю.
apt-get install courier-imap
apt-get install courier-pop
apt-get install courier-authmysql
apt-get install courier-authdaemon

- Настраиваем демон авторизации, редактируя его конфигурационный файл
vim /etc/courier/authdaemonrc
Находим и изменяем если надо:
authmodulelist="authmysql"
daemons=10

Настраиваем доступ к БД MySQL
vim /etc/courier/authmysqlrc
Там изменяем:
MYSQL_SERVER localhost #или 127.0.0.1, если не работает
MYSQL_USERNAME postfixadmin
MYSQL_PASSWORD postfixadmin
#MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_PORT 3306
MYSQL_OPT 0
MYSQL_DATABASE postfix
MYSQL_USER_TABLE mailbox
MYSQL_CRYPT_PWFIELD password
DEFAULT_DOMAIN electro.alrosa-mir.ru
MYSQL_UID_FIELD '106'
MYSQL_GID_FIELD '107'
MYSQL_LOGIN_FIELD username
MYSQL_HOME_FIELD '/var/spool/postfix/vmail'
MYSQL_NAME_FIELD name
MYSQL_MAILDIR_FIELD maildir


- Запускаем:
/etc/init.d/courier-authdaemon start
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start

- Проверяем можем ли забрать почту, т.е. работоспособность pop3:
telnet localhost 110

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
user pm
+OK Password required.
pass 123
+OK logged in.
list
+OK POP3 clients that break here, they violate STD53.
1 555
.
quit
+OK Bye-bye.
Connection closed by foreign host.

Как видим одно письмо на 555 байт лежит. Можно его просмотреть командой retr 1 (конечно перед quit)

Устанавливаем SquirrelMail для работы с почтой через Вэб сервер.

Скачиваем пакет http://squirrelmail.org/download.php
wget http://squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fprdownloads.sourceforge.net%2Fsquirrelmail%2Fsquirrelmail-1.4.15.tar.gz
tar zxvf squirrelmail-1.4.13.tar.gz
mv squirrelmail-1.4.13 /var/www/mail
cd /var/www/mail/


Конфигурируем:
./configure

Запускается перловый скрипт настройки, в котором нам нужно пройтись по пунктам и изменить в минимальном варианте язык по умолчанию (пункт 10-1 - задать ru_RU),
Кодировку (пункт 10-2 задать koi8-r)
свой домен по умолчанию (пункт 2-1, mydomain.ru)
демона IMAP (пункт 2-А-8, указать courier)
Каталоги (пункт 4-1 задать /var/www/mail/data/ и пункт 4-2 задать /var/www/mail/attach/)

Теперь можно перегрузить сервер reboot и проверить вэб почту http://192.168.1.2/mail
Вводим pm и пароль который давали при создании аккаунта pm.
Далее необходимо по адресу http://192.168.1.2/admin/postfix/admin/list-admin.php
Добавить необходимых пользователей и все.


Источники
http://pm4u.opennet.ru/linux_server_debian.htm
http://linux.yaroslavl.ru/docs/conf/SquirrelMail/SquirrelMail.html

источник статьи   


28 августа 2008  /   /   ]

Похожие статьи

  • Пример настройки корпоративного почтового сервера на базе Postfix в Ubuntu ...
  • Добавление подсети в вашей сети
  • Установка StartSSL сертификатов — Postfix/Dovecot/Nginx
  • Самая простая конфигурация POSTFIX + COURIER
  • Решение проблем в Linux




  • Комментировать:



    [root@linuxopen.ru ~]$ find
     ©2007 - 2011 @antropoff.ru