Серверы · 4 min read · Oct 03, 2025

Идеальный сервер - Mandriva 2009.1 Free (x86_64) [ISPConfig 2] - Страница 5

10 MySQL 5

Чтобы установить MySQL 5, просто выполните:

urpmi MySQL MySQL-client lib64mysql-devel

По умолчанию сетевое взаимодействие не включено в пакет MySQL Mandriva 2009.1, но оно требуется для ISPConfig. Мы можем изменить это, закомментировав строку skip-networking в /etc/my.cnf.

vi /etc/my.cnf

| [...] # Не слушать на TCP/IP порту вообще. Это может быть улучшением безопасности, # если все процессы, которые должны подключаться к mysqld, работают на одном хосте. # Все взаимодействие с mysqld должно осуществляться через Unix-сокеты или именованные каналы. # Обратите внимание, что использование этой опции без включения именованных каналов в Windows # (через опцию "enable-named-pipe") сделает mysqld бесполезным! # #skip-networking [...] |

После этого мы создаем системные ссылки для запуска MySQL…

chkconfig mysqld on

… и запускаем его:

/etc/init.d/mysqld start

Теперь проверьте, что сетевое взаимодействие включено. Выполните

netstat -tap | grep mysql

Вывод должен выглядеть следующим образом:

[root@server1 var]# netstat -tap | grep mysql  
tcp        0      0 *:mysql-im                     *:*                         LISTEN      3411/mysqlmanager  
tcp        0      0 *:mysql                         *:*                         LISTEN      3421/mysqld  
[root@server1 var]#

Далее выполните

mysqladmin -u root password yourrootsqlpassword  
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

чтобы установить пароль для пользователя root (в противном случае любой сможет получить доступ к вашей базе данных MySQL!).

11 Postfix с SMTP-AUTH и TLS; Dovecot

Установите необходимые пакеты (Postfix, cyrus-sasl, Dovecot и т.д.) следующим образом:

urpmi cyrus-sasl lib64sasl2 lib64sasl2-devel lib64sasl2-plug-plain lib64sasl2-plug-anonymous lib64sasl2-plug-crammd5 lib64sasl2-plug-digestmd5 lib64sasl2-plug-gssapi lib64sasl2-plug-login postfix dovecot

Затем выполните:

postconf -e 'mydestination = /etc/postfix/local-host-names, localhost.$mydomain'  
postconf -e 'smtpd_sasl_local_domain ='  
postconf -e 'smtpd_sasl_auth_enable = yes'  
postconf -e 'smtpd_sasl_security_options = noanonymous'  
postconf -e 'broken_sasl_auth_clients = yes'  
postconf -e 'smtpd_sasl_authenticated_header = yes'  
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'  
postconf -e 'inet_interfaces = all'  
postconf -e 'mynetworks = 127.0.0.0/8'  
touch /etc/postfix/local-host-names

Затем мы устанавливаем имя хоста в нашей установке Postfix (убедитесь, что вы заменили server1 и example.com на свои настройки):

postconf -e 'mydomain = example.com'  
postconf -e 'myhostname = server1.$mydomain'

Отредактируйте /etc/sasl2/smtpd.conf. Он должен выглядеть так:

vi /etc/sasl2/smtpd.conf

| # Конфигурационный файл библиотеки SASL для postfix # все параметры задокументированы в: # /usr/share/doc/cyrus-sasl/options.html # Параметры mech_list перечисляют механизмы sasl для использования, # по умолчанию все механизмы, найденные. mech_list: plain login # Для аутентификации с использованием отдельного демона saslauthd, (например, для # системных или ldap пользователей). Также смотрите /etc/sysconfig/saslauthd. pwcheck_method: saslauthd saslauthd_path: /var/lib/sasl2/mux # Для аутентификации против пользователей, хранящихся в sasldb. #pwcheck_method: auxprop #auxprop_plugin: sasldb #sasldb_path: /var/lib/sasl2/sasl.db |

Создайте SSL-сертификат, необходимый для TLS:

mkdir /etc/postfix/ssl  
cd /etc/postfix/ssl/  
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key  
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key  
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

… и настройте Postfix для TLS:

postconf -e 'smtpd_tls_auth_only = no'  
postconf -e 'smtp_use_tls = yes'  
postconf -e 'smtpd_use_tls = yes'  
postconf -e 'smtp_tls_note_starttls_offer = yes'  
postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'  
postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'  
postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'  
postconf -e 'smtpd_tls_loglevel = 1'  
postconf -e 'smtpd_tls_received_header = yes'  
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'  
postconf -e 'tls_random_source = dev:/dev/urandom'

Далее мы должны настроить Dovecot для обслуживания протоколов imap, imaps, pop3 и pop3s. Откройте /etc/dovecot.conf и измените следующие значения:

vi /etc/dovecot.conf

| [...] protocols = imap imaps pop3 pop3s [...] disable_plaintext_auth = no [...] pop3_uidl_format = %08Xu%08Xv [...] |

Теперь мы должны сказать системе запускать Dovecot только после того, как ntpd запустится, потому что Dovecot не очень прощает, если время вашей системы движется назад, пока Dovecot работает (см. http://wiki.dovecot.org/TimeMovedBackwards). Это может вызвать ошибки, подобные следующим, в вашем syslog:

Apr  9 19:29:18 server1 dovecot: Время только что переместилось назад на 17 секунд. Это может  
 вызвать множество проблем, поэтому я просто убью себя сейчас. http://wiki.dovecot.org/TimeMovedBackwards

К сожалению, в Mandriva Dovecot запускается до ntpd, поэтому мы изменяем это следующим образом:

cd /etc/rc3.d  
mv S99ntpd S98ntpd  
cd /etc/rc4.d  
mv S99ntpd S98ntpd  
cd /etc/rc5.d  
mv S99ntpd S98ntpd

Затем мы создаем системные ссылки для запуска Postfix…

chkconfig postfix on

… и (пере)запускаем Postfix, saslauthd и Dovecot:

/etc/init.d/postfix restart  
/etc/init.d/saslauthd restart  
/etc/init.d/dovecot restart

Чтобы проверить, работают ли SMTP-AUTH и TLS правильно, выполните следующую команду:

telnet localhost 25

После того как вы установили соединение с вашим почтовым сервером Postfix, введите

ehlo localhost

Если вы видите строки

250-STARTTLS

и

250-AUTH PLAIN LOGIN

всё в порядке:

[root@server1 ssl]# telnet localhost 25  
Trying 127.0.0.1...  
Connected to localhost.localdomain (127.0.0.1).  
Escape character is '^]'.  
220 server1.example.com ESMTP Postfix (2.5.6) (Mandriva Linux)  
ehlo localhost  
250-server1.example.com  
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@server1 ssl]#

Введите

quit

чтобы вернуться в оболочку системы.

11.1 Maildir

Dovecot использует формат Maildir (не mbox), поэтому если вы установите ISPConfig на сервер, пожалуйста, убедитесь, что вы включили Maildir в разделе Управление -> Сервер -> Настройки -> Электронная почта. ISPConfig затем выполнит необходимую конфигурацию.

Если вы не хотите устанавливать ISPConfig, то вы должны настроить Postfix для доставки электронных писем в Maildir пользователя (вы также можете сделать это, если используете ISPConfig - это не повредит ;-)):

postconf -e 'home_mailbox = Maildir/'  
postconf -e 'mailbox_command ='  
/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.