Поиск по сайту:

Идеальный сервер — Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)


На этой странице

  1. 1 Предварительное примечание
  2. 2. Установите сервер SSH (необязательно)
  3. 3. Установите текстовый редактор оболочки (необязательно)
  4. 4 Настройте имя хоста
  5. 5 Обновите установку Debian
  6. 6 Изменение оболочки по умолчанию
  7. 7 Синхронизация системных часов
  8. 8. Установите Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils.
  9. 9 Установите Amavisd-new, SpamAssassin и Clamav

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

1 Предварительное примечание

В этом уроке я буду использовать имя хоста server1.example.com с IP-адресом 192.168.1.100 и шлюзом 192.168.1.1. Эти настройки могут отличаться для вас, поэтому вам придется заменить их там, где это необходимо. Прежде чем продолжить, у вас должна быть установлена минимальная версия Debian 8. Это может быть минимальный образ Debian от вашего хостинг-провайдера, или вы можете использовать учебник по минимальному серверу Debian для настройки базовой системы.

2 Установите SSH-сервер (необязательно)

Если вы не установили сервер OpenSSH во время установки системы, вы можете сделать это сейчас:

apt-get install ssh openssh-server

С этого момента вы можете использовать SSH-клиент, такой как PuTTY, подключаться со своей рабочей станции к серверу Debian Jessie и выполнять оставшиеся шаги из этого руководства.

3 Установите текстовый редактор оболочки (необязательно)

В этом уроке мы будем использовать текстовый редактор nano. Некоторые пользователи предпочитают классический редактор vi, поэтому здесь мы установим оба редактора. Программа vi по умолчанию ведет себя странно в Debian и Ubuntu; чтобы исправить это, мы устанавливаем vim-nox:

apt-get install nano vim-nox

Если vi — ваш любимый редактор, замените nano на vi в следующих командах для редактирования файлов.

4 Настройте имя хоста

Имя хоста вашего сервера должно быть субдоменом, например \server1.example.com\. Не используйте доменное имя без части субдомена, например \example.com\, в качестве имени хоста, так как позже это вызовет проблемы с настройкой почты. Сначала вы должны проверить имя хоста в /etc/hosts и изменить его при необходимости. Строка должна быть такой: \IP-адрес - пробел - полное имя хоста, включая домен - пробел - часть поддомена\. Для нашего хоста server1.example.com файл должен выглядеть так:

nano /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.1.100   server1.example.com     server1

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Затем отредактируйте файл /etc/hostname:

nano /etc/hostname

Он должен содержать только субдоменную часть, в нашем случае:

server1

Наконец, перезагрузите сервер, чтобы изменения вступили в силу:

reboot

Войдите снова и проверьте правильность имени хоста с помощью следующих команд:

hostname
hostname -f

Вывод должен быть таким:

:/tmp# hostname -f
server1.example.com

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

Сначала убедитесь, что ваш /etc/apt/sources.list содержит репозиторий jessie/updates (это гарантирует, что вы всегда будете получать новейшие обновления безопасности), а также включены репозитории contrib и non-free (некоторые пакеты, такие как libapache2- mod-fastcgi отсутствуют в основном репозитории).

nano /etc/apt/sources.list
#deb cdrom:[Debian GNU/Linux 8.0.0 _Jessie_ - Official amd64 NETINST Binary-1 20150425-12:50]/ jessie main

deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

Бег:

apt-get update

Чтобы обновить базу данных пакетов apt

apt-get upgrade

и установить последние обновления (если они есть).

6 Изменить оболочку по умолчанию

/bin/sh — это символическая ссылка на /bin/dash, однако нам нужен /bin/bash, а не /bin/dash. Поэтому делаем так:

dpkg-reconfigure dash

Использовать тире в качестве системной оболочки по умолчанию (/bin/sh)? <- нет

Если вы этого не сделаете, установка ISPConfig завершится ошибкой.

7 Синхронизируйте системные часы

Рекомендуется синхронизировать системные часы с сервером NTP (сетевой протокол времени) через Интернет. Просто запустите

apt-get install ntp ntpdate

и ваше системное время всегда будет синхронизировано.

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

Мы можем установить Postfix, Dovecot, MySQL, rkhunter и binutils с помощью одной команды:

apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo

Если вы предпочитаете MySQL, а не MariaDB, замените пакеты «mariadb-client mariadb-server» в приведенной выше команде на «mysql-client mysql-server».

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

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

nano /etc/postfix/master.cf

Раскомментируйте разделы отправки и smtps следующим образом и добавьте строки там, где это необходимо, чтобы этот раздел файла master.cf выглядел точно так же, как приведенный ниже.

[...]
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=
# -o smtpd_relay_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=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING [...]

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

service postfix restart

Мы хотим, чтобы MariaDB прослушивала все интерфейсы, а не только локальный хост, поэтому редактируем /etc/mysql/my.cnf и закомментируем строку bind-address=127.0.0.1:

nano /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
[...]

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

service mysql restart

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

netstat -tap | grep mysql

Вывод должен выглядеть так:

:/tmp# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 27371/mysqld

9 Установите 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
systemctl disable spamassassin