Веб-сервер - під ключ - на базі debian 8 jessie

Описано процес підготовки сервера Debian Jessie (з Apache2, BIND, Dovecot) для установки ISPConfig 3 і безпосередньо установка ISPConfig 3. ISPConfig 3 являє собою інтерфейс, за допомогою якого можна налаштовувати такі служби з браузера: веб-сервер, поштовий сервер Postfix, Courier або Dovecot серверів IMAP / POP3 MySQL, сервера доменних імен BIND або MyDNS, PureFTPd, SpamAssassin, ClamAV і багато іншого. В процесі установки ми будемо використовувати Apache (замість nginx), BIND (замість MyDNS) і Dovecot (замість Courier).

Будемо вважати, що необхідно отримати веб-оточення на базі Apache.

1. Попередні зауваження

Перед подальшими діями у Вас повинна бути встановлена ​​операційна система Debian 8. Передбачається, що була виконана чиста інсталяція, а не оновлення існуючої системи.

2 Установка SSH server

Якщо OpenSSH server ні встановлено під час установки системи, введемо наступне:

Тепер можна використовувати клієнт SSH, наприклад PuTTY і підключатися з робочої машини до сервера Debian Jessie.

Цей крок не є обов'язковим.

Якщо Ви віддаєте перевагу vi, замініть nano на vi в командах редагування фалів.

4 Налаштування імені хоста

Ім'я хоста для сервера має являти собою піддомен типу "server1.drach.pro". Не використовуйте ім'я домену без поддомена - "drach.pro" в якості імені хоста, це може викликати складності при налаштувати звичайну електронну пошту. На початку потрібно перевірити ім'я хоста в / etc / hosts і при необхідності змінити його. Рядок повинен бути такого вигляду: "IP Address - space - full hostname incl. Domain - space - subdomain part". Для імені хоста server1.drach.pro, це будемо виглядати наступним чином:

Потім відредагуємо файл / etc / hostname:

Тут повинен знаходиться тільки піддомен, в нашому випадку:

Потім перезапустити сервер для збереження змін:

Вихідні дані повинні виглядати наступним чином:

5 Оновлення установки Debian

Для початку переконаємося, що /etc/apt/sources.list містить репозиторій jessie / updates (це означає, що Ви завжди будете отримувати свіжі оновлення безпеки) і що вкладаються і невільні репозиторії дозволені (деякі пакети, наприклад, libapache2-mod-fastcgi НЕ знаходяться в головній репозиторії).

Для оновлення баз даних пакета apt

і для установки останніх оновлень (якщо вони є).

6 Зміна стандартної оболонки

/ Bin / sh є символічним посиланням на / bin / dash, однак нам потрібно / bin / bash, а не / bin / dash. Виконаємо наступне:

Якщо цього не зробити, далі неможливо буде встановити ISPConfig.

7 Синхронізація часу системи

Системний час можна синхронізувати з NTP (network time protocol) сервером через інтернет:

8 Установка Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Установка Postfix, Dovecot, MySQL, rkhunter і binutils проводиться за допомогою однієї лише команди:

Якщо ви віддаєте перевагу MySQL замість MariaDB, замініть пакети "mariadb-client mariadb-server" в команді зверху, на "mysql-client mysql-server".

Потім потрібно відповісти на наступні питання:

Потім відкриємо TLS / SSL і порти підпорядкування в Postfix:

Видалимо секції підпорядкування і smtps і додамо рядки таким чином, щоб секції в файлі master.cf виглядали наступним чином:

Нам необхідно, щоб MariaDB працював з усіма інтерфейсами, а не тільки з локальним хостом, для цього відредагуємо файл /etc/mysql/my.cnf і видалимо рядок bind-address = 127.0.0.1:

Потім перезапустити MySQL:

Тепер перевіримо, чи дозволено робота в інтернеті:

Вихідні дані повинні виглядати наступним чином:

9 Установка Amavisd-new, SpamAssassin і Clamav

Для установки amavisd-new, SpamAssassin і ClamAV, виконаємо наступне:

і змінимо значення and AllowSupplementaryGroups з false на true:

Установка ISPConfig 3 використовує amavisd, який завантажує бібліотеку фільтрів SpamAssassin, тому зупинимо SpamAssassin, для того, щоб звільнити оперативну пам'ять:

10 Установка 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):

і дозволимо роботу moduley, виконавши:

11 Установка SuPHP

Уточнення!
Необов'язково, не рекомендується.

SuPHP більше недоступний для Debian Jessie. Режим suphp більше не повинен використовуватися в ISPConfig, так як існують кращі режими PHP, такі як: php-fpm і php-fcgi. Якщо Ви хочете використовувати suphp, необхідно виконати наступне вручну:

Створимо директорію налаштування suphp і файл suphp.conf:

Далі додамо файл config для завантаження модуля suphp в apache:

Потім відкриємо /etc/apache2/mods-available/suphp.conf.

і додамо наступне:

Включимо модуль suphp в apache:

І перезапустити Apache:

12 XCache і PHP-FPM

Xcache є безкоштовний PHP opcode кешер, призначений для кешування та оптимізації проміжного коду PHP. Він схожий з іншими opcode кешерамі, наприклад, eAccelerator або APC. Настійно рекомендується встановити один з цих кешеров, якщо ви хочете прискорити сторінку PHP.

Xcache встановлюється наступним чином:

12.2 PHP-FPM

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

Для використання PHP-FPM спільно Apache, нам буде потрібно mode_fastcgi модуля Apache (не плутати з mod_fcgid). Встановимо PHP-FPM і mode_fastcgi наступним чином:

Переконаємося, що модуль включений і перезапустити Apache:

13 Install Mailman

Виберемо принаймні одна мова:

Відкриємо файл / etc / aliases

і додамо наступні рядки:

і потім перезапустити Postfix:

В кінці активуємо конфігурацію Mailman Apache:

і потім запустимо Mailman:

14 Установка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 виконаємо наступне:

15. Установка сервера BIND DNS

BIND встановлюється наступним чином:

16 Установка Vlogger, Webalizer і AWStats

Vlogger, Webalizer і AWStats встановлюються таким чином:

17 Установка Jailkit

Jailkit потрібно, якщо ви хочете зробити chroot для користувачів SSH. Установка проводиться таким чином: (важливо: Jailkit може бути встановлений тільки перед установкою ISPConfig -після його вже не вийде встановити!):

Встановлюємо пакетYou Jailkit. deb наступним чином:

18 Установка fail2ban

Установка fail2ban необов'язкова, але рекомендована, так як монітор ISPConfig спробує показати запис подій:

Для створення монітора fail2ban PureFTPd і Dovecot, створимо файл /etc/fail2ban/jail.local:

Потім створимо 2 файли фільтра:

Додамо рядок ignoreregex в файл postfix-sasl:

Далі перезапустити fail2ban:

19 Установка squirrelmail

Для установки поштового клієнта SquirrelMail виконаємо наступне:

Потім налаштуємо SquirrelMail:

У SquirrelMail важливо вказати, що ми використовуємо Dovecot-IMAP / -POP3:

Apache конфігурація SquirrelMail знаходиться в /etc/squirrelmail/apache.conf, але цей файл не завантажений Apache, тому що він не знаходиться в директорії /etc/apache2/conf.d/. Створимо символьне посилання під назвою squirrelmail.conf в директорії /etc/apache2/conf.d/, яка вказує на /etc/squirrelmail/apache.conf і перезавантажити Apache:

Далі відкриємо /etc/apache2/conf.d/squirrelmail.conf.

і додамо наступні рядки в вміст, для того, щоб mod_php використовувався для доступу до SquirrelMail, не дивлячись на те, який режим PHP обраний на нашому сайті в ISPConfig:

і зробимо власником користувача www-data:

Далі необхідно, щоб squirrelmail працював з apache2.

Знову перезапускаємо Apache:

Тепер /etc/apache2/conf.d/squirrelmail.conf визначається alias / squirrelmail, який визначить, що установка SquirrelMail буде проведена в / usr / share / squirrelmail.

Отримати доступ до SquirrelMail через веб-сайт можна наступним чином:

Також отримати доступ можна з панелі управління віртуального хоста ISPConfig (після установки ISPConfig, установку розглянемо в наступному розділі) наступним чином (ніяка настройка ISPConfig не потрібно):

Якщо ви хочете використовувати alias / webmail замість / squirrelmail, необхідно буде відкрити файлs /etc/apache2/conf.d/squirrelmail.conf.

і додати в рядок Alias ​​/ webmail / usr / share / squirrelmail:

Потім перезавантажити Apache:

Тепер ми можемо отримати доступ до Squirrelmail, робиться це в такий спосіб:

Якщо ви хочете визначити віртуальний хост як webmail.drach.pro, де користувачі можуть отримати доступ до SquirrelMail, необхідно буде додати конфігурацію віртуального хоста в / etc / apache2 / conf.d / squirrelmail.conf:

Тепер перезапустити Apache.

20 Установка ISPConfig 3

Для установки останньої версії ISPConfig 3 введемо наступне:

З'явиться установник ISPConfig 3. Установник налаштує всі служби, типу Postfix, Dovecot і т.д. ручне налаштування, як в ISPConfig 2, в останній версії не потрібно.

Увага: Не звертайте увагу, що установник ISPConfig 3 визначає Debian Jessie, як невідому версію. Це ніяк не впливає на функціональність і буде виправлено в наступному оновленні.

Установник автоматично налаштує всі сервіси.

Тепер система готова до використання.

Додаток ISPConfig Monitor для Android

За допомогою ISPConfig Monitor можна перевіряти стан сервера і запущені служби. Також можна перевіряти порти TCP іUDP і пінгувати сервера. Додаток можна використовуватися для запиту подробиць серверів, на який встановлений ISPConfig (мінімальна версія ISPConfig 3, яка підтримується програмою - 3.0.3.3!); вся ці подробиці включають в себе всю інформацію з модуля моніторингу ISPConfig Control Panel (наприклад служби, поштові та системні журнали подій, чергу пошти, інформацію про ЦП і пам'яті, використання диска, деталі ОС, журнал подій RKHunter і т.д.) і так як ISPConfig підтримує кілька серверів, можна перевірити, чи всі сервера упраивляются головним сервером ISPConfig.

Для завантаження програми і прочитання інструкцій перейдіть на офіційний сайт.

Використання OpenVZ

Якщо сервер на базі Debian, який Ви тільки що встановили, є віртуальною машиною (наприклад, OpenVZ), в хост-системі необхідно прописати наступне:

Передбачається, що ID в OpenVZ це 101 - замініть на коректний VPS ID для вашої системи.

Схожі статті