Серверные настройки · 6 min read · Dec 31, 2025

Идеальный сервер - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3) - Страница 4

12. Установите Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Для установки postfix нам нужно остановить и удалить sendmail

service sendmail stop; update-rc.d -f sendmail remove

Теперь мы можем установить 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

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

Новый пароль для пользователя MySQL “root”: <– вашпарольsqlroot
Повторите пароль для пользователя MySQL “root”: <– вашпарольsqlroot
Общий тип конфигурации почты: <– Интернет-сайт
Системное имя почты: <– server1.example.com

Далее откройте порты TLS/SSL и отправки в Postfix:

vi /etc/postfix/master.cf

Раскомментируйте секции submission и smtps следующим образом - добавьте строку -o smtpd_client_restrictions=permit_sasl_authenticated,reject в обе секции и оставьте все остальное закомментированным:

| [...] 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 слушал на всех интерфейсах, а не только на localhost, поэтому редактируем /etc/mysql/my.cnf и закомментируем строку bind-address = 127.0.0.1:

vi /etc/mysql/my.cnf

| [...] # Вместо skip-networking по умолчанию теперь слушает только на # localhost, что более совместимо и не менее безопасно. #bind-address = 127.0.0.1 [...] |

Затем перезапускаем MySQL:

service mysql restart

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

netstat -tap | grep mysql

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

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

13. Установите 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

14. Установите Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt можно установить следующим образом:

apt-get install apache2 apache2-doc apache2-utils libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached snmp

Модуль mcrypt для PHP5 необходимо включить вручную:

php5enmod mcrypt

Вы увидите следующий вопрос:

Веб-сервер для автоматической переустановки: <– apache2
Настроить базу данных для phpmyadmin с dbconfig-common? <– Нет

Затем выполните следующую команду, чтобы включить модули Apache suexec, rewrite, ssl, actions и include (плюс dav, dav_fs и auth_digest, если вы хотите использовать WebDAV):

a2enmod suexec rewrite ssl actions include cgi
a2enmod dav_fs dav auth_digest

Далее откройте /etc/apache2/mods-available/suphp.conf…

vi /etc/apache2/mods-available/suphp.conf

… и закомментируйте секцию и добавьте строку AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml - в противном случае все PHP файлы будут выполняться SuPHP:

| # # SetHandler application/x-httpd-suphp # suPHP_AddHandler application/x-httpd-suphp AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_Engine on # По умолчанию отключите suPHP для веб-приложений, упакованных в debian, так как файлы # принадлежат root и не могут быть выполнены suPHP из-за min_uid. suPHP_Engine off # # Используйте конкретный файл конфигурации php (каталог, который содержит файл php.ini) # suPHP_ConfigPath /etc/php5/cgi/suphp/ # # Сообщает mod_suphp, чтобы НЕ обрабатывать запросы с типом . # suPHP_RemoveHandler |

Перезапустите Apache после этого:

service apache2 restart

Если вы хотите размещать Ruby файлы с расширением .rb на своих веб-сайтах, созданных через ISPConfig, вы должны закомментировать строку application/x-ruby rb в /etc/mime.types:

vi /etc/mime.types

| [...] #application/x-ruby rb [...] |

(Это необходимо только для .rb файлов; Ruby файлы с расширением .rbx работают из коробки.)

Перезапустите Apache после этого:

service apache2 restart

14.1 Xcache

Xcache - это бесплатный и открытый кэш PHP opcode для кэширования и оптимизации промежуточного кода PHP. Он похож на другие кэши PHP opcode, такие как eAccelerator и APC. Настоятельно рекомендуется установить один из них, чтобы ускорить вашу PHP-страницу.

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

apt-get install php5-xcache

Теперь перезапустите Apache:

service apache2 restart

14.2 PHP-FPM

Начиная с ISPConfig 3.0.5, есть дополнительный режим PHP, который вы можете выбрать для использования с Apache: PHP-FPM.

Чтобы использовать PHP-FPM с Apache, нам нужен модуль Apache mod_fastcgi (пожалуйста, не путайте его с mod_fcgid - они очень похожи, но вы не можете использовать PHP-FPM с mod_fcgid). Мы можем установить PHP-FPM и mod_fastcgi следующим образом:

apt-get install libapache2-mod-fastcgi php5-fpm

Убедитесь, что вы включили модуль и перезапустили Apache:

a2enmod actions fastcgi alias   
service apache2 restart

14.2 Дополнительные версии PHP

Начиная с ISPConfig 3.0.5, возможно иметь несколько версий PHP на одном сервере (выбираемых через ISPConfig), которые могут работать через FastCGI и PHP-FPM. Чтобы узнать, как собрать дополнительные версии PHP (PHP-FPM и FastCGI) и как настроить ISPConfig, пожалуйста, ознакомьтесь с этим руководством: Как использовать несколько версий PHP (PHP-FPM и FastCGI) с ISPConfig 3 (Ubuntu 12.10) (работает и для Ubuntu 14.04).

15. Установите Mailman

Начиная с версии 3.0.4, ISPConfig также позволяет вам управлять (создавать/изменять/удалять) списками рассылки Mailman. Если вы хотите воспользоваться этой функцией, установите Mailman следующим образом:

apt-get install mailman

Выберите хотя бы один язык, например:

Языки для поддержки: <– en (английский)
Отсутствующий список сайтов <– Ок

Перед тем как мы сможем запустить Mailman, необходимо создать первый список рассылки под названием mailman:

newlist mailman

root@server1:~# newlist mailman
Введите email человека, управляющего списком: <– адрес электронной почты администратора, например [email protected]
Первоначальный пароль mailman: <– пароль администратора для списка mailman
Чтобы завершить создание вашего списка рассылки, вам нужно отредактировать ваш файл /etc/aliases (или эквивалентный), добавив следующие строки, и, возможно, запустив программу newaliases:

список рассылки mailman

mailman: “|/var/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/var/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/var/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/var/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/var/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/var/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/var/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/var/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/var/lib/mailman/mail/mailman unsubscribe mailman”

Нажмите enter, чтобы уведомить владельца mailman… <– ENTER

root@server1:~#

Откройте /etc/aliases после этого…

vi /etc/aliases

… и добавьте следующие строки:

| [...] ## список рассылки mailman mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" |

Запустите

newaliases

после этого и перезапустите Postfix:

service postfix restart

Наконец, мы должны включить конфигурацию Mailman для Apache:

ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf

Это определяет псевдоним /cgi-bin/mailman/ для всех виртуальных хостов Apache, что означает, что вы можете получить доступ к интерфейсу администратора Mailman для списка по адресу http:///cgi-bin/mailman/admin/, а веб-страница для пользователей списка рассылки может быть найдена по адресу http:///cgi-bin/mailman/listinfo/.

По адресу http:///pipermail вы можете найти архивы списка рассылки.

Перезапустите Apache после этого:

service apache2 restart

Затем запустите демон Mailman:

service mailman start
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.