Идеальный сервер - Ubuntu 14.04, nginx, BIND, MySQL, PHP, Postfix, Dovecot и ISPConfig 3

Выполним установку и настройку "идеального сервера" на базе Ubuntu 14.04 LTS с бесплатной панелью управления сервером ISPConfig 3.

1. Выполняем базовую установку сервера.

2. Редактируем sources.list и обновляем систему.

sudo su
nano /etc/apt/sources.list

Здесь необходимо проверить, что репозитории с установочного диска закомментированы (в начале строки #) :

# deb cdrom:[Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Release i386 (20140416.2)]/ trusty main restricted
# deb cdrom:[Ubuntu-Server 14.04  LTS _Trusty Tahr_ - Release i386 (20130423.2)]/ trusty main restricted

и раскомментированы universe и multiverse репозитории:

sources.list

Кроме того, из путей репозиториев можно удалить ru. - тогда обновления пакетов будут устанавливаться с основного сервера Каноникл, а не с репозиториев Яндекса.

После редактирования sources.list обновляем систему:

apt-get update & apt-get upgrade

Если в процессе обновления установилось новое ядро, перезагружаем сервер:

reboot

3. Изменяем значение по умолчанию для Shell

dpkg-reconfigure dash

Использовать dash в качестве системной облочки по умолчанию (/bin/sh) ?
Нет

dash

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

4. Отключаем AppArmor

AppArmor предназначен для расширенной защиты веб-сервера, однако на практике от него больше проблем чем преимуществ. AppArmor не устанавливается по умолчанию начиная с Ubuntu 13.10.

Отключаем и удаляем:

service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

apparmor

Если же система сообщает, что сервиса AppArmor не существует, значит он не был изначально установлен по умолчанию.

5. Синхронизируем системное время

Для синхронизации системного времени через интернет по протоколу NTP (network time protocol) выполняем:

apt-get install ntp ntpdate

ntp

6. Устанавливаем Postfix, Dovecot, MySQL, rkhunter, binutils

Установим эти пакеты и другие пакеты одной командой:

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo

Создать самоподписанный сертификат SSL ?
Да

ssl

6_0.png

7_0.png

Общий тип почтовой настройки:
интернет-сайт

General type of mail configuration

Системное почтовое имя:
server1.ваш_домен

System mail name

Далее. необходимо раскомментировать submission и smtps секции в настройках TLS/SSL postfix:

nano /etc/postfix/master.cf
[...]
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
[...]

Перезапускаем Postfix:

service postfix restart

Далее, в настройках MySQL необходимо закомментировать строчку bind-address = 127.0.0.1

nano /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address           = 127.0.0.1
[...]

После редактирования конфигурационного файла my.cnf, перезапустим MySQL:

service mysql restart

Проверим работоспособность сети:

netstat -tap | grep mysql

Вывод должен быть примерно такой:

root@server1:~# netstat -tap | grep mysql
tcp        0      0 *:mysql                 *:*                     LISTEN      17300/mysqld
root@server1:~#

7. Устанавливаем Amavisd-new, SpamAssassin и ClamAV

Установим amavisd-new, SpamAssassin, ClamAV и другие необходимые пакеты, выполнив команду:

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

ISPConfig 3 использует amavisd который загружает внутреннюю библиотеку SpamAssassin, поэтому можно остановить SpamAssassin для освобождения ОЗУ:

service spamassassin stop
update-rc.d -f spamassassin remove

Далее - страница 2

Комментарии
Аватар пользователя Гость

Здравствуйте. Сделал все по пунктам, все пункты выполнилис корректно и без ошибок при попытке зайти через firefox UBUNTU server'a 14.04 он долго грузит в начале, после чего выдает ошибку мол адрес недоступен. Все службы запущены.

Аватар пользователя tux

Посмотрите логи сервера в /var/log/ - может быть найдете сообщение об ошибке.

Аватар пользователя Гость

Все сделал по инструкции, все работает, пример на моем сайте.

Хорошая инструкция, но есть одно но. Зачем все делать из под рута?

Аватар пользователя Гость

Спасибо большое за подробную, замечательную инструкцию!

настроил свои домены на сервер через дднс, т.к. нет статичного ip
этим сервисом http://freedns.afraid.org/dynamic/

добавил сайты в панели управления, прекрасно работают

а вот с почтой такой прием не удался
Подскажите пожалуйста какие будут настройки для Thunderbird например
- порты smtp, pop3, imap, SSL, тип аутинтификации?
- при авторизации логин почты вводить с доменом или только то что до @?

Попробовал отправить письмо через веб интерфейс ошибка
111 Can't open SMTP stream

Аватар пользователя Гость

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

Аватар пользователя tux

Попробуйте sudo service postfix restart

Ну и в самом ispconfig там есть лог ошибок почты - должен писать какую то ошибку.
Также посмотреть в логах не создается ли очередь почты.

Добавить комментарий