Идеальный сервер — Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)
На этой странице
- 1 Предварительное примечание
- 2. Установите сервер SSH (необязательно)
- 3. Установите текстовый редактор оболочки (необязательно)
- 4 Настройте имя хоста
- 5 Обновите установку Debian
- 6 Изменение оболочки по умолчанию
- 7 Синхронизация системных часов
- 8. Установите Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils.
- 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