Веб-сервер на базе Apache под управлением Ubuntu 15.10
В данной статье рассмотрен процесс установки сервера Ubuntu 15.10 (Wily Werewolf) с Apache2, Postfix, Dovecot, Bind и PureFTPD для подготовки к установке ISPConfig 3. В результате в системе будут установлены: сеть, почта, список адресатов, DNS и FTP Server.
ISPConfig 3 представляет собой интерфейс, с помощью которого вы можете настраивать следующие службы из браузера: веб сервер Apache или nginx, почтовый сервер Postfix, Courier или Dovecot серверов IMAP/POP3 MySQL, сервера доменных имён BIND или MyDNS, PureFTPd, SpamAssassin, ClamAV,и многое другое. В процессе установки мы будем использовать Apache (вместо nginx), BIND (вместо MyDNS) и Dovecot (вместо Courier).
В данной статье будем использовать имя хоста drach.pro, IP адрес 192.168.1.100 и шлюз 192.168.1.1. В конкретном случае эти параметры могут отличаться, вам необходимо будет заменить их на свои там, где это требуется. Перед дальнейшими действиями у Вас должна быть установлена Ubuntu версии 15.10.
2. Редактирование /etc/apt/sources.list и обновление установки Linux
Отредактируем файл /etc/apt/sources.list. Удалим диск установки из файла и убедимся, что дополнительные и экстра репозитории включены:
для обновления соответствующих баз данных и
для установки последних обновлений (если они есть). Если вместе с обновлениями обновилось и само ядро, тогда потребуется перезагрузка системы:
3. Изменение стандартной оболочки
/bin/sh аналогична /bin/dash, однако нам потребуется именно /bin/bash, а не /bin/dash.
Далее введём следующее:
Если этого не сделать, то затем невозможно будет установить ISPConfig.
4. Отключение AppArmor
AppArmor является расширением безопасности (схожим с SELinux), которое предоставляет улучшенную безопасность. В нашем случае данное расширение нам не потребуется, поэтому отключим его следующим образом:
5. Синхронизация времени системы
Наиболее удобным является синхронизация времени системы с NTP (протокол времени интернета), если Вы используете физический сервер, если же Вы используете виртуальный сервер, синхронизация времени не требуется. Для выполнения синхронизации выполним следующее:
После этого системное время всегда будет синхронизировано.
6. Установка Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, binutils
Для установки postfix необходимо сначала убедится, что sendmail не установлен и не запущен. Для установки и удаления sendmail выполним следующее:
Сообщение об ошибке:
Это сообщение означает, что sendmail не установлен и удалять нечего.
Затем установим Postfix, Dovecot, MariaDB (как замена MySQL ), rkhunter, и binutils при помощи одной лишь команды:
В процессе установки потребуется ответить на следующие вопросы:
Важно использовать поддомен "system mail name", а не домен, который вы хотите далее использовать, как почтовый домен.
Затем откроем TLS/SSL и порты подчинения в Postfix:
Удалим секции подчинения и smtps, - добавим строку -o smtpd_client_restrictions=permit_sasl_authenticated, вставим обе строки в файл, остальное оставим как есть:
Пробел перед строками "-o . " необходимо оставить!
Нам необходимо, чтобы MySQL работал со всеми интерфейсами, а не только с локальным хостом, для этого отредактируем файл /etc/mysql/my.cnf и удалим строку bind-address = 127.0.0.1:
Теперь зададим корневой пароль в MariaDB. Выполним:
Потребуется ответить на следующее вопросы:
Затем перезапустим MariaDB:
Теперь проверим, разрешена ли работа в интернете:
Выходные данные должны выглядеть следующим образом:
7. Установка Amavisd-new, SpamAssassin и Clamav
Для установки amavisd-new, SpamAssassin и ClamAV, выполним следующее:
Установка ISPConfig 3 использует amavisd, который загружает библиотеку фильтров SpamAssassin, поэтому остановим SpamAssassin, для того, чтобы освободить оперативную память:
Отредактируем файл конфигурации clamd:
и изменим строку:
И сохраним файл. Затем запустим clamav:
8. Установка Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear и mcrypt устанавливаются следующим образом:
Далее потребуется ответить на следующие вопросы:
Затем нам потребуется включить модули Apache suexec, rewrite, ssl, actions и include (дополнительно dav, dav_fs, and auth_digest, если вам требуется WebDAV):
И подключим модуль mcrypt в PHP:
Затем перезапустим Apache:
Если вы хотите использовать файлы Ruby с расширением .rb на вашем сайте, созданным ISPConfig, потребуется удалить строку application/x-ruby rb in /etc/mime.types:
(Это требуется только для файлов с расширением .rb; файлы Ruby с расширением.rbx все равно будут действительны.)
Далее перезапустим Apache:
8.1 APCu PHP Opcode cache
APCu представляет собой бесплатный PHP opcode кэшер предназначенный для кэширования и оптимизации промежуточного кода. Настоятельно рекомендуется установить один из этих кэшеров, если вы хотите ускорить страницу PHP.
APCu устанавливается следующим образом:
Для использования PHP-FPM совместно Apache, нам потребуется mode_fastcgi модуля Apache module (не путать с mod_fcgid – они очень похожи, но невозможно использовать PHP-FPM с mod_fcgid). Установим PHP-FPM и mode_fastcgi следующим образом:
Убедимся, что модуль включен и перезапустим Apache:
8.3 Дополнительные версии PHP
Начиная с ISPConfig 3.0.5, возможно иметь несколько версий PHP на одном сервере (версия выбирается с помощью ISPConfig), которые могут быть запущены через FastCGI и PHP-FPM.
8.4 Установка SuPHP (необязательно, но рекомендуется)
SuPHP больше не доступен для Debian Jessie. Режим suphp больше не следует использовать в ISPConfig, так как существуют лучшие режимы PHP, например, php-fpm и php-fcgi. Если Вы действительно хотите использовать suphp, то установку необходимо произвести вручную следующим образом:
Создадим директорию конфигурации suphp и файл suphp.conf:
Затем добавим файл конфигурации для загрузки модуля suphp в apache:
далее откроем /etc/apache2/mods-available/suphp.conf.
. и добавим следующее:
Включим модуль suphp в apache:
И затем перезапустим Apache:
9. Установка Mailman
Начиная с версии 3.0.4, ISPConfig также позволяет управлять (создавать/редактировать/удалять) список адресатов Mailman. Если вы хотите пользоваться данной возможностью, потребуется установить Mailman следующим образом:
Выберем по крайне мере один язык:
Перед запуском Mailman необходимо создать первый список адресатов под названием mailman:
Откроем файл /etc/aliases
. и добавим следующие строки:
и затем перезапустим Postfix:
В конце активируем конфигурацию Mailman Apache:
Определим alias /cgi-bin/mailman/ для всех виртуальных хостов Apache, это означает, что мы может получить доступ к интерфейсу администратора Mailman по адресу http:///cgi-bin/mailman/admin/, а адрес для пользователей из списка адресатов будет выглядеть следующим образом: http:///cgi-bin/mailman/listinfo/.
В http:///pipermail находится архив списка адресатов.
и затем запустим Mailman:
10. Установка PureFTPd и Quota
PureFTPd и quota устанавливаются следующим образом:
Затем отредактируем файл /etc/default/pure-ftpd-common.
. и убедимся, что режимом запуска установлена автономная установка и значение VIRTUALCHROOT=true:
Теперь настроим PureFTPd, для того, чтобы разрешить сессии FTP и TLS. FTP является очень ненадёжным протоколом, потому что все пароли и данные передаются в виде текста. При использовании TLS, вся коммуникации зашифрована, что делает FTP гораздо более защищённым.
Для разрешения сессий FTP иTLS введём следующее:
Для использования TLS необходимо создать сертификат SSL. Создадим директорию /etc/ssl/private/, в которой будет находится данный сертификат:
Далее сгенерируем сертификат SSL следующим образом:
Изменим права доступа сертификата SSL:
Затем перезапустим PureFTPd:
Отредактируем /etc/fstab.Добавим строку usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 к разделу, начиная с /):
Для включения quota выполним следующее:
Выходные данные должны выглядеть следующим образом:
11. Установка сервера BIND DNS
BIND устанавливается следующим образом:
12. Установка Vlogger, Webalizer и AWstats
Vlogger, webalizer и AWstats устанавливаются следующим образом:
Затем откроем /etc/cron.d/awstats.
. и удалим всё, что содержится в этом файле:
13. Установка Jailkit
Jailkit потребуется, если вы хотите сделать chroot для пользователей SSH. Установка производится следующим образом: (важно: Jailkit может быть установлен только перед установкой ISPConfig –после его уже не получится установить!):
Устанавливаем пакетYou Jailkit. deb следующим образом:
14. Установка fail2ban
Установка fail2ban необязательна, но рекомендована, так как монитор ISPConfig попытается показать запись событий:
Для создания монитора fail2ban PureFTPd и Dovecot, создадим файл /etc/fail2ban/jail.local:
Затем создадим 2 файла фильтра:
Добавим пропущенную строку ignoreregex в файл postfix-sasl:
Затем перезапустим apache
Далее отредактируем файл конфигурации RoundCube config.inc.php:
и изменим стандартный хост на локальный хост:
Это позволит избежать того, что Roundcube будет показывать область ввода имени сервера в поле ввода логина.
16. Установка ISPConfig 3
Для установки последней версии ISPConfig 3 введём следующее:
Появится установщик ISPConfig 3. Установщик настроит все службы, типа Postfix, Dovecot и т.д. ручная настройка, как в ISPConfig 2, в последней версии не требуется.
Установщик автоматически настроит все сервисы.
Теперь ISPConfig 3 доступен по адресу http(s)://drach.pro:8080/ или http(s)://192.168.0.100:8080/ (зависит от того, что вы выбрали при установке). Зайти можно введя имя пользователя admin и пароль admin (после первого входа в систему, пароль надо сменить)
Теперь система готова к использованию.
17 Поддержка Dkim в ISPConfig
Dkim представляет собой технологию, которая позволяет в цифровой форме подписывать все отправляемые сообщения. Поддержка Dkim будет интегрирована в ISPConfig 3.1, для текущей версии ISPConfig 3.0.5.4p8 есть возможность портировать доступные возможности Dkim. Рассмотрим как установить этот патч.
Загрузим патч и запустим скрипт установки:
В процессе установки потребуется ответить на следующие вопросы:
Залогинимся в ISPConfig и установим патч Dkim в "/var/lib/amavis/dkim" в System > Server Config > Mail и нажмём "Save" для сохранения изменений.
18. Дополнительные замечания
Если сервер Ubuntu, который вы только что установили, является OpenVZ (виртуальной машиной), в хосте системы необходимо сделать следующее (Предполагается, что ID OpenVZ является 101 – замените на корректный VPSID для вашей системы):