Серверные настройки · 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 remove14. Установите 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 cgia2enmod dav_fs dav auth_digestДалее откройте /etc/apache2/mods-available/suphp.conf…
vi /etc/apache2/mods-available/suphp.conf… и закомментируйте секцию
| |
Перезапустите 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 restart14.1 Xcache
Xcache - это бесплатный и открытый кэш PHP opcode для кэширования и оптимизации промежуточного кода PHP. Он похож на другие кэши PHP opcode, такие как eAccelerator и APC. Настоятельно рекомендуется установить один из них, чтобы ускорить вашу PHP-страницу.
Xcache можно установить следующим образом:
apt-get install php5-xcacheТеперь перезапустите Apache:
service apache2 restart14.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 restart14.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 mailmanroot@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://
По адресу http://
Перезапустите Apache после этого:
service apache2 restartЗатем запустите демон Mailman:
service mailman startGet new posts in your inbox
No spam. Unsubscribe anytime.