Как установить драйвера на Windows

Как установить драйвера на Windows
Как установить драйвера на Windows

И так прижало мне сделать для себя почтовый сервер на своём сервере. раньше оно работало из коробки и я горя не знал, но тут оказалось, что надо всё делать ну чтож приступим

Во первых, задайте себе вопрос а насколько он нужен вам?

если у вас до 50ти ящиков то очень рекомендую воспользоваться почтой от гугла на своём домене, я уже писал об этом способе.

Экономия времени и нервов вам обеспечена!.

Если же вы настойчивы, то есть 2 способа, оба проделывал я на своих серверах, оба работают и не ругаются.
Очень рекомендую первый, во втором периодически выпадали глюки и приходилось пере запускать демоны.

Первый Postfix + Dovecot + MYSQL
Вариант 2 более простой (postfix (smtp), sasl2 (Авторизция) cyrus-pop3d )

Поехали
Интерпритатора будет два, обычная командная строка (bash) и mysql

bash:$>
mysql: mysql>

Также все команды будут от root (обычно я запускаю sudo mc и жму ctrl+o и так получается консоль от root)

Устанавливаем необходимые пакеты, также ставим phpmyadmin для более удобного управления базой + вэб интерфейс почты

aptitude install postfix-mysql mysql-server dovecot-pop3d dovecot-imapd openssl phpmyadmin squirrelmail

Создаём БД + таблицы можно как и из консоли, так и из phpmyadmin
Мне удобнее из phpmyadmin просто вводя запросы
phpmyadmin

 mysql>
create database mailserver;
mysql>
grant all on mailserver. to mailuser@localhost identified by 'mailuserpasswd';
exit

Затем создайте таблицы в базе данных

 mysql>
CREATE TABLE <code>virtual_domains</code> (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
) ENGINE = InnoDB;
mysql&gt;
CREATE TABLE <code>virtual_users</code> (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain_id INT(11) NOT NULL,
user VARCHAR(40) NOT NULL,
password VARCHAR(32) NOT NULL,
CONSTRAINT UNIQUE_EMAIL UNIQUE (domain_id,user),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE) ENGINE = InnoDB;
mysql&gt;
CREATE TABLE <code>virtual_aliases</code> (
id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain_id INT(11) NOT NULL,
source VARCHAR(40) NOT NULL,
destination VARCHAR(80) NOT NULL,
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE = InnoDB;

Создаём файлы конфигурации для Postfix’a с информацией о базе данных.

touch /etc/postfix/mysql-virtual-mailbox-domains.cf

Вот с таким содержанием

 user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'

Этот запрос выбирает виртуальные домены (да да наш почтовый сервер будет работать на несколько доменов как реальных так и виртуальных)

Применим конфигурацию postfix

postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

Добавим в БД запись о первом виртуальном сервере example.com (не забываем поставить свой)

 $&gt;
mysql -p mailserver
mysql&gt;
INSERT INTO virtual_domains (id, name) VALUES (1, 'example.com');
exit

Проверим всё ли верно мы сделали

 postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

Появится цифра 1 — значит всё сделано правильно.

Теперь создаём пользователей, за них будет отвечать отдельная группа. создаём её

$&gt;
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m

Примиряем изменения

$&gt;
postconf -e virtual_uid_maps=static:5000
$&gt;
postconf -e virtual_gid_maps=static:5000

Создадим тестовый почтовый ящик, например с паролем johnpasswd

 mysql&gt;
INSERT INTO virtual_users (id, domain_id, user, password)
VALUES (1, 1, 'john', MD5('johnpasswd'));

Потом создаём view в базе данных.

 mysql&gt;
CREATE VIEW view_users AS
SELECT CONCAT(virtual_users.user, '@', virtual_domains.name) AS email,
virtual_users.password
FROM virtual_users
LEFT JOIN virtual_domains ON virtual_users.domain_id=virtual_domains.id;

Проверим результат

 mysql&gt;
SELECT FROM view_users;

Вы должны увидеть это:

+------------------+----------------------------------+
| email | password |
+------------------+----------------------------------+
| | 14123123123243372b1cb9275e6dd |
+------------------+----------------------------------+

Создадим файл конфигурации для Postfix’a в котором укажем данные для работы с почтовыми ящиками наших пользователей

touch /etc/postfix/mysql-virtual-mailbox-maps.cf

С содержанием

 user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM view_users WHERE email='%s'

Применим изменения

 $&gt;
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

Проверьте результат командой

postmap -q mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

Вы должны увидеть цифру 1 если все правильно настроено.

Если вам не нужны алиасы, можете пропустить этот пункт, но я редко такое вижу на практике

они нужны для пересылки почты с одного ящика на другой, или с нескольких на один

Добавим в базу данных тестовый альяс для нашего польователя , вся почта пришедшая на его ящик будет дополнительно пересылаться на ящик

 INSERT INTO virtual_aliases (id, domain_id, source, destination)
VALUES (1, 1, 'john', ''),
(2, 1, 'john', '');

Создадим view для альясов по аналогии с view для пользователей

 CREATE VIEW view_aliases AS
SELECT CONCAT(virtual_aliases.source, '@', virtual_domains.name) AS email,
destination
FROM virtual_aliases
LEFT JOIN virtual_domains ON virtual_aliases.domain_id=virtual_domains.id;

Проверим результат

 SELECT FROM view_aliases;

Вы должны увидеть это

+------------------+-------------------+
| email | destination |
+------------------+-------------------+
| | |
| | |
+------------------+-------------------+

touch /etc/postfix/mysql-virtual-alias-maps.cf

С содержанием

user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT destination FROM view_aliases WHERE email='%s'

Проверим правильность настроек

 postmap -q mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Вы увидите это

,

touch /etc/postfix/mysql-email2email.cf

впишем в него

 user = mailuser
password = mailuserpasswd
hosts = 127.0.0.1
dbname = mailserver
query = SELECT email FROM view_users WHERE email='%s'

Запишем настройки в главный файл конфига Postfix

 $&gt;
postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf

Выставим правильные права доступа на файлы конфигкрации почтового сервера, ведь в них хранятся пароли от базы данных

chgrp postfix /etc/postfix/mysql-.cf
chmod u=rw,g=r,o= /etc/postfix/mysql-.cf

Далее настроим dovecot в качестве локального агента доставки писем, добавим в конец файла /etc/postfix/master.cf

 dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

перезапускаем postfix

postfix reload

И добавляем информацию о виртуальном транспорте в главный конфиг Postfix

 postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1

Перейдем к настройкам dovecot, все файлы его конфигурации хранятся в папке /etc/dovecot, начнем настройку с файла /etc/dovecot/dovecot.conf

Найдите строку protocols и смените на

 protocols = imap imaps pop3 pop3s

Так же изменяем строку disable_plaintext_auth до состояния disable_plaintext_auth = no

также меняем параметр mail_location

 mail_location = maildir:/home/vmail/%d/%n

Найдите строку namespace private и измените до

 namespace private {
separator = .
prefix = INBOX.
inbox = yes
}

Перейдите к секции «auth default» и отредактируйте разрешенные механизмы аутентификации

 mechanisms = plain login

В этой же секции измените

 passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}

Меняем параметр userdb static

 userdb static {
args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
}

Переходим к секции socket listen сдесь мы укажем файлы сокета для аутентификации dovecot

 socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}

Переходим к секции protocol lda, не забудьте сменить адрес постмастера на реальный

 protocol lda {
log_path = /home/vmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address =
mail_plugins = cmusieve
global_script_path = /home/vmail/globalsieverc
}

На этом файл можно сохранить.
Далее редактируем файл /etc/dovecot/dovecot-sql.conf
Делаем как ниже

 driver = mysql
connect = host=127.0.0.1 dbname=mailserver user=mailuser password=mailuserpasswd
default_pass_scheme = PLAIN-MD5
password_query = SELECT email as user, password FROM view_users WHERE email='%u';

Перезапускаем dovecot

 /etc/init.d/dovecot restart

и смотрим лог файл /var/log/mail.log, там вы должны увидеть

 dovecot: Dovecot v1.0.rc15 starting up
dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mymailserver)

Правим права доступа к файлам конфигурации dovecot

 chgrp vmail /etc/dovecot/dovecot.conf
chmod g+r /etc/dovecot/dovecot.conf

Настроим TLS/SSL

 openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/dovecot.pem \
-keyout /etc/ssl/private/dovecot.pem

Ответьте на несколько вопросов и сертификат будет создан, не забудьте указать правльно все параметры вместо примеров привеленных ниже

 Generating a 1024 bit RSA private key
.........++++++
............................++++++
writing new private key to '/etc/ssl/certs/dovecot.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Russia
Locality Name (eg, city) []:Russia
Organization Name (eg, company) [Internet Widgits Pty Ltd]:example.com
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:mail.example.com
Email Address []:

Выставим права доступа на файл

 chmod o= /etc/ssl/private/dovecot.pem

Создадим еще один сертификат по аналогии с предыдущим

 openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/postfix.pem \
-keyout /etc/ssl/private/postfix.pem

Сменим права доступа

 chmod o= /etc/ssl/private/postfix.pem

Вносим изменения в конфиг Postfix’a

 postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
postconf -e smtpd_use_tls=yes

Теперь настроим аутентификацию SMTP, не забываем сменить примеры на реальные адреса сетей! В примере используется сеть 192.168.50.0/24 ей разрешено отправлятиь почту без SMTP авторизации.

 postconf -e mynetworks=192.168.50.0/24
postconf -e smtpd_sasl_type=dovecot
postconf -e smtpd_sasl_path=private/auth
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

Редактируем файл /etc/postfix/main.cf изменив параметр размера почтового ящика например на 10 мегабайт

 mailbox_size_limit = 102400

На этом почти всё 🙂
Перезапускаем postfix и dovecot
/etc/init.d/postfix restart
/etc/init.d/dovecot restart

Проверим, всё и хорошо

postfix check

команда должна отдать пустой результат.

Все ошибки и прочие события из жизни вашего почтовика вы можете найти в логах

/var/log/mail.log
/var/log/mail.err
/var/log/mail.warn
/var/log/mail.info

Ах забыл совсем :)) у нас же есть ещё вэб морда для почты и завётся она
Настройка Squirrelmail

squirrelmail-configure

Ответим на вопросы, введя данные, что использовали при настройке сервера
Теперь привяжем к апачу

cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
a2ensite squirrelmail

Перезапустим апач

/etc/init.d/apache2 force-reload

Ну и всё готово 🙂
Заходим на

http://ip_servera/squirrelmail

вводим логин пароль (логин вводится целиком с доменом)
squirrelmail

Вариант 2 более простой (postfix (smtp), sasl2 (Авторизция) cyrus-pop3d )

Стами postfix (smtp), sasl2 (Авторизция) cyrus-pop3d (POP3 демон)

apt-get install postfix libsasl2-2 libsasl2-modules sasl2-bin cyrus-imapd-2.2 cyrus-pop3d-2.2 cyrus-admin-2.2

Во время первоначальной настройки postfix укажите конфигурацию для Интернет-сайта (Internet Site).
На вопрос об имени почтового сервера-оставьте вариант по-умолчанию или укажите свой. В нашем случае это было domain.ru

Настроим сервер авторизации saslauthd на использование базы данных паролей sasldb2.
Для этого отредактируем файл /etc/default/saslauthd:

START=yes
MECHANISMS="sasldb"

Запускаем сервис

/etc/init.d/saslauthd start

проверим работает ли он, но для начала необходимо добавить хотя бы одного пользователя.

proxy:# saslpasswd2 test
Password:
Again (for verification):

смотрим список пользователей

proxy:# sasldblistusers2
test@proxy: userPassword

Пробуем авторизироваться

proxy:# testsaslauthd -u test -p test

На что получаем ответ

0: OK "Success.

У почтового сервера postfix есть одна особенность — после запуска он работает в chroot окружении, которое находится в папке /var/spool/postfix/

Учитывая то, что для авторизации пользователей postfix будет использоваться демон saslauthd, нам нужно перенести его socket в рабочую директорию нашего сервера /var/spool/postfix/. Самый простой способ сделать это заключается в монтировании в нужную папку директории с уже созданным сокетом демона saslauthd.

Делается это редактированием файла /etc/fstab.

/var/run/saslauthd /var/spool/postfix/var/run/saslauthd none rw,bind 0 0

Не забудьте поставить [Enter] после последней строки.
Создаём каталог и монтируем.

mkdir -p /var/spool/postfix/var/run/saslauthd
mount /var/run/saslauthd

Настраиваем postfix на работу с sasl авторизацией
Добавим в /etc/postfix/main.cf

smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_authenticated_header = yes
smtpd_sasl_application_name = smtpd

запретим отсылать почту через наш SMTP шлюз без авторизации. Для этого создадим файл /etc/postfix/sasl/smtpd.conf со следующим содержимым.

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN

Перезапустим наш postfix сервер и просмотрим следующие файлы на предмет ошибок:

/etc/init.d/postfix restart
tail /var/log/mail.err
tail /var/log/mail.info
tail /var/log/mail.warn
tail /var/log/mail.log

Если все чисто, сухо и гладко — обратимся к утилите telnet, для того, чтобы подключиться к нашему серверу.

root@proxy:/var/log# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 krasfun ESMTP Postfix (Ubuntu)
EHLO www.ru
250-krasfun
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
root@proxy:/var/log#

Если у вас нечто похожее — продолжаем

Для того, чтобы «подружить» saslauthd и postfix необходимо выполнить следующее:

adduser postfix sasl

Cyrus — это мощный набор POP3/NNTP/IMAP и некоторых других демонов для создания полноценных сервисов работы с электронной почтой.

Отредактируем файл /etc/imapd.conf

admins: cyrus
allowplaintext: yes
sasl_mech_list: PLAIN
sasl_pwcheck_method: saslauthd auxprop
sasl_auxprop_plugin: sasldb

Обратите внимание, что cyrus так же, как и saslauthd, придется взаимодействовать с postfix, поэтому их нужно сделать доступными друг другу. Воспользуемся уже известным механизмом:
/etc/fstab :

/var/run/cyrus /var/spool/postfix/var/run/cyrus none rw,bind 0 0

создаём каталоги для cyrus.

mkdir -p /var/spool/postfix/var/run/saslauthd
mkdir -p /var/spool/postfix/var/run/cyrus
mount /var/spool/postfix/var/run/saslauthd
mount /var/spool/postfix/var/run/cyrus

Монтируем

mount /var/run/cyrus

предоставим возможность cyrus забирать почту у postfix и отпалять почту на куда угодно. Отредактируем файл /etc/postfix/main.cf:

mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
local_recipient_maps =

Добавим группу и добавим в неё постфикс

addgroup lmtp
adduser postfix lmtp

Дальше 2 команды

dpkg-statoverride --remove /var/run/cyrus/socket
dpkg-statoverride --force --update --add cyrus lmtp 750 /var/run/cyrus/socket

Добавим пользователя cyrus в нашу базу учетных записей:

saslpasswd2 -c cyrus

Введите пароль, когда вас об этом попросят, и перезапустим наши демоны:

/etc/init.d/postfix start
/etc/init.d/cyrus2.2 restart
/etc/init.d/saslauthd restart

Добавим почтового пользователя например saber и создадим ему каталоги

saslpasswd2 –c saber
cyradm localhost –user cyrus
localhost> cm user.saber
localhost> cm user.saber.INBOX
localhost> cm user.saber.Sent
localhost> cm user.saber.Draft
localhost> cm user.saber.Trash

UPD1 01.02.2013 Эта часть,что выше, устарела немного и пользователь создаётся другим путём, я дословно не помню но примерно так

saslpasswd2 saber
cyradm
login cyrus
localhost&gt; cm user.saber
localhost&gt; cm user.saber.INBOX
localhost&gt; cm user.saber.Sent
localhost&gt; cm user.saber.Draft
localhost&gt; cm user.saber.Trash

Вот как-то так я добалял пользователей недавно

На этом всё, можно пользоваться, рекомендую ещё настроить шифрование, но мне оно не нужно было 😉

Настройка клиента
Буду на основе Аутглюк экспресс.
Добавляем почтовый акк, в общем всё как обычно КРОМЕ
не ставим галочку
«Использовать безопасную бла бла SPA»

и ставим галочку ниже Сервер исходящей почты «проверка подлинности пользователя»
И всё можно пользоваться 🙂

Как установить драйвера на Windows 68
Как открыть командную строку от
Как установить драйвера на Windows 74
Ubuntu почтовый сервер ( ubuntu mail)
Как установить драйвера на Windows 79
Админка Joomla полный мануал по
Как установить драйвера на Windows 33
Бесплатный сервер Mumble - CleanVoice
Как установить драйвера на Windows 41
Использование Microsoft Remote
Как установить драйвера на Windows 66
Установка и настройка Windows Hyper
Как установить драйвера на Windows 1
Как узнать ключ Windows 8 Windows
Как установить драйвера на Windows 93
Minecraft Lurkmore
Как установить драйвера на Windows 73
Архивы Пошив бюстгальтеров своими руками - Сшить своими руками
Как установить драйвера на Windows 48
Деревянная ложка своими руками
Как установить драйвера на Windows 49
Как установить драйвера на Windows 20
Как установить драйвера на Windows 37
Как установить драйвера на Windows 20
Как установить драйвера на Windows 48
Как установить драйвера на Windows 30
Как установить драйвера на Windows 83
Как установить драйвера на Windows 36