Веб-сервер на базе Apache под управлением Ubuntu 15.10

Веб-сервер на базе 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 для вашей системы):

📎📎📎📎📎📎📎📎📎📎