Серверное ПО · 20 min read · Sep 11, 2025
Идеальный сервер - Ubuntu 20.04 с Apache, PHP, MariaDB, PureFTPD, BIND, Postfix, Dovecot и ISPConfig 3.2

Этот учебник показывает установку веб-хостинг-сервера Ubuntu 20.04 (Focal Fossa) с Apache 2.4, Postfix, Dovecot, Bind и PureFTPD для подготовки его к установке ISPConfig 3.2. Полученная система будет предоставлять веб-сервер, почтовый сервер, сервер рассылок, DNS и FTP-сервер.
ISPConfig - это панель управления веб-хостингом, которая позволяет вам настраивать следующие службы через веб-браузер: веб-сервер Apache или Nginx, почтовый сервер Postfix, IMAP/POP3 сервер Courier или Dovecot, MariaDB в качестве замены MySQL, сервер имен BIND или MyDNS, PureFTPd, SpamAssassin, ClamAV и многие другие. Эта настройка охватывает установку Apache (вместо Nginx), BIND (вместо MyDNS) и Dovecot (вместо Courier).
Существует два способа установить ISPConfig. Вы можете либо использовать инструкции по ручной установке ниже, либо вы можете использовать автоустановщик ISPConfig, который автоматически устанавливает ISPConfig за несколько минут. Мы рекомендуем использовать автоустановщик, который также поддерживает Ubuntu 22.04. См. автоматическую установку ISPConfig для инструкций по автоматической установке ISPConfig.
1. Предварительная заметка
В этом учебнике я использую имя хоста server1.example.com с IP-адресом 192.168.0.100 и шлюзом 192.168.0.1. Эти настройки могут отличаться у вас, поэтому вам нужно заменить их там, где это необходимо. Прежде чем продолжить, вам нужно иметь базовую минимальную установку Ubuntu 20.04, как объясняется в учебнике.
Команды в этом учебнике должны выполняться с правами root. Чтобы избежать добавления sudo перед каждой командой, вам нужно стать пользователем root, выполнив:
sudo -sпрежде чем продолжить.
2. Редактирование /etc/apt/sources.list и обновление вашей установки Linux
Отредактируйте /etc/apt/sources.list. Закомментируйте или удалите установочный CD из файла и убедитесь, что репозитории universe и multiverse включены. После этого он должен выглядеть так:
nano /etc/apt/sources.list# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://de.archive.ubuntu.com/ubuntu focal main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu focal main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://de.archive.ubuntu.com/ubuntu focal-updates main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu focal universe
# deb-src http://de.archive.ubuntu.com/ubuntu focal universe
deb http://de.archive.ubuntu.com/ubuntu focal-updates universe
# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://de.archive.ubuntu.com/ubuntu focal multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal multiverse
deb http://de.archive.ubuntu.com/ubuntu focal-updates multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal-updates multiverse
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://de.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu focal partner
# deb-src http://archive.canonical.com/ubuntu focal partner
deb http://de.archive.ubuntu.com/ubuntu focal-security main restricted
# deb-src http://de.archive.ubuntu.com/ubuntu focal-security main restricted
deb http://de.archive.ubuntu.com/ubuntu focal-security universe
# deb-src http://de.archive.ubuntu.com/ubuntu focal-security universe
deb http://de.archive.ubuntu.com/ubuntu focal-security multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu focal-security multiverseЗатем выполните
apt-get updateдля обновления базы данных пакетов apt и
apt-get upgradeдля установки последних обновлений (если они есть). Если вы видите, что новая версия ядра устанавливается в рамках обновлений, вам следует перезагрузить систему после этого:
reboot3. Измените оболочку по умолчанию
/bin/sh является символической ссылкой на /bin/dash, однако нам нужна /bin/bash, а не /bin/dash. Поэтому мы делаем это:
dpkg-reconfigure dashИспользовать dash в качестве оболочки по умолчанию для системы (/bin/sh)? <– Нет
Если вы этого не сделаете, установка ISPConfig завершится неудачей.
4. Отключите AppArmor
AppArmor - это расширение безопасности (аналог SELinux), которое должно обеспечивать расширенную безопасность. На мой взгляд, вам это не нужно для настройки безопасной системы, и оно обычно вызывает больше проблем, чем преимуществ (подумайте об этом после того, как вы провели неделю, устраняя неполадки, потому что какая-то служба не работала так, как ожидалось, и затем вы обнаруживаете, что все было в порядке, только AppArmor вызывал проблему). Поэтому я отключаю его (это обязательно, если вы хотите установить ISPConfig позже).
Мы можем отключить его следующим образом:
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils5. Синхронизация системных часов
Хорошей идеей является синхронизация системных часов с сервером NTP ( n etwork t ime p rotocol) через Интернет, когда вы запускаете физический сервер. Если вы запускаете виртуальный сервер, то вы можете пропустить этот шаг. Просто выполните
apt-get -y install ntpи ваше системное время всегда будет синхронизировано.
6. Установка Postfix, Dovecot, MariaDB, rkhunter и binutils
Для установки postfix нам нужно убедиться, что sendmail не установлен и не работает. Чтобы остановить и удалить sendmail, выполните эту команду:
service sendmail stop; update-rc.d -f sendmail removeСообщение об ошибке:
Failed to stop sendmail.service: Unit sendmail.service not loaded.Это нормально, это просто означает, что sendmail не был установлен, поэтому нечего было удалять.
Теперь мы можем установить Postfix, Dovecot, MariaDB (в качестве замены MySQL), rkhunter и binutils одной командой:
apt-get -y install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo patchВам будут заданы следующие вопросы:
General type of mail configuration: <-- Internet Site
System mail name: <-- server1.example.comВажно, чтобы вы использовали поддомен в качестве “имени системной почты”, например server1.example.com или server1.yourdomain.com, а не домен, который вы хотите использовать в качестве почтового домена (например, yourdomain.tld) позже.
Далее откройте порты TLS/SSL и отправки в Postfix:
nano /etc/postfix/master.cfРаскомментируйте разделы отправки и smtps следующим образом - добавьте строку -o smtpd_client_restrictions=permit_sasl_authenticated,reject в оба раздела и оставьте все остальное закомментированным:
[...]
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_tls_auth_only=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=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - y - - 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=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...]ПРИМЕЧАНИЕ: Пробелы перед строками “-o …. “ важны!
Перезапустите Postfix после этого:
service postfix restartМы хотим, чтобы MySQL слушал на всех интерфейсах, а не только на localhost. Поэтому мы редактируем /etc/mysql/mariadb.conf.d/50-server.cnf и закомментируем строку bind-address = 127.0.0.1:
nano /etc/mysql/mariadb.conf.d/50-server.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
[...] Теперь мы устанавливаем пароль root в MariaDB. Выполните:
mysql_secure_installationВам будут заданы эти вопросы:
Enter current password for root (enter for none): <-- нажмите enter
Set root password? [Y/n] <-- y
New password: <-- Введите новый пароль root для MariaDB
Re-enter new password: <-- Повторите пароль
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- yУстановите метод аутентификации пароля в MariaDB на native, чтобы мы могли использовать PHPMyAdmin позже для подключения как пользователь root:
echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u rootОтредактируйте файл /etc/mysql/debian.cnf и дважды установите пароль MYSQL / MariaDB там в строках, которые начинаются со слова password.
nano /etc/mysql/debian.cnfПароль root для MySQL, который нужно добавить, показан красным. В этом примере пароль “howtoforge”. Замените слово “howtoforge” на пароль, который вы установили для пользователя root MySQL с помощью команды mysql_secure_installation.
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = root
password = howtoforge
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = howtoforge
socket = /var/run/mysqld/mysqld.sock
basedir = /usrОткройте файл /etc/security/limits.conf с редактором:
nano /etc/security/limits.confи добавьте эти строки в конец файла.
mysql soft nofile 65535
mysql hard nofile 65535Затем создайте новый каталог /etc/systemd/system/mysql.service.d/ с помощью команды mkdir.
mkdir /etc/systemd/system/mysql.service.d/и добавьте новый файл внутри:
nano /etc/systemd/system/mysql.service.d/limits.confвставьте следующие строки в этот файл:
[Service]
LimitNOFILE=infinityСохраните файл и закройте редактор nano.
Затем мы перезагрузим systemd и перезапустим MariaDB:
systemctl daemon-reload
service mariadb restartТеперь проверьте, что сеть включена. Выполните
netstat -tap | grep mysqlВывод должен выглядеть так:
root@server1:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 51836/mysqld
root@server1:~#7. Установка Amavisd-new, SpamAssassin и Clamav
Чтобы установить amavisd-new, SpamAssassin и ClamAV, мы выполняем
apt-get -y install amavisd-new spamassassin clamav clamav-daemon 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 postgreyНастройка ISPConfig 3 использует amavisd, который загружает библиотеку фильтра SpamAssassin внутренне, поэтому мы можем остановить SpamAssassin, чтобы освободить немного ОЗУ:
service spamassassin stop
update-rc.d -f spamassassin removeЧтобы запустить ClamAV, используйте:
freshclam
service clamav-daemon startСледующую ошибку можно игнорировать при первом запуске freshclam.
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).8. Установка Apache, PHP, phpMyAdmin, FCGI, SuExec, Pear
Apache 2.4, PHP 7.4, phpMyAdmin, FCGI, suExec и Pear можно установить следующим образом:
apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.4 php7.4-common php7.4-gd php7.4-mysql php7.4-imap phpmyadmin php7.4-cli php7.4-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear libruby libapache2-mod-python php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl memcached php-memcache php-imagick php7.4-zip php7.4-mbstring php-soap php7.4-soap php7.4-opcache php-apcu php7.4-fpm libapache2-reload-perlВы увидите следующий вопрос:
Web server to reconfigure automatically: <-- apache2
Настроить базу данных для phpmyadmin с dbconfig-common? <-- Да
MySQL application password for phpmyadmin: <-- Нажмите enter

Затем выполните следующую команду, чтобы включить модули Apache suexec, rewrite, ssl, actions и include (плюс dav, dav_fs и auth_digest, если вы хотите использовать WebDAV):
a2enmod suexec rewrite ssl actions include cgi alias proxy_fcgi
a2enmod dav_fs dav auth_digest headers
Чтобы убедиться, что сервер не может быть атакован через уязвимость HTTPOXY, я отключу заголовок HTTP_PROXY в apache глобально. Создайте новый файл httpoxy.conf с помощью nano:
nano /etc/apache2/conf-available/httpoxy.conf
Вставьте это содержимое в файл:
Включите конфигурационный файл, выполнив:
a2enconf httpoxy
Перезапустите Apache после этого:
service apache2 restart
Если вы хотите размещать Ruby-файлы с расширением .rb на своих веб-сайтах, созданных через ISPConfig, вам нужно закомментировать строку application/x-ruby rb в /etc/mime.types:
nano /etc/mime.types
[…] #application/x-ruby rb […]
(Это необходимо только для .rb файлов; Ruby-файлы с расширением .rbx работают из коробки.)
Перезапустите Apache после этого:
service apache2 restart
## 9. Установка Let's Encrypt
ISPConfig 3.2 имеет встроенную поддержку бесплатного центра сертификации SSL Let's Encrypt. Функция Let's Encrypt позволяет вам создавать бесплатные SSL-сертификаты для вашего веб-сайта в ISPConfig.
Теперь мы добавим поддержку Let's Encrypt.
apt-get install certbot
## 10. Установка Mailman
ISPConfig позволяет вам управлять (создавать/изменять/удалять) списками рассылки Mailman. Если вы хотите воспользоваться этой функцией, установите Mailman следующим образом:
apt-get -y install mailman
Выберите хотя бы один язык, например:
Языки для поддержки: <-- en (English)
Отсутствующий список сайтов <-- Ок
Ошибка ' *Job for mailman.service failed because the control process exited with* error *code.* ' может быть проигнорирована на данный момент.
Прежде чем мы сможем запустить Mailman, необходимо создать первый список рассылки под названием mailman:
newlist mailman
root@server1:~# newlist mailman
Введите адрес электронной почты человека, управляющего списком: <-- адрес электронной почты администратора, например [email protected]
Первоначальный пароль mailman: <-- пароль администратора для списка mailman
Чтобы завершить создание вашего списка рассылки, вам необходимо отредактировать ваш /etc/aliases (или эквивалентный) файл, добавив следующие строки, и возможно, выполнив программу `newaliases`:
## список рассылки mailman
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Нажмите enter, чтобы уведомить владельца mailman... <-- ENTER
root@server1:~#
Откройте /etc/aliases после этого...
nano /etc/aliases
... и добавьте следующие строки:
[…] ## список рассылки mailman
mailman: “|/var/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/var/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/var/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/var/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/var/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/var/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/var/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/var/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/var/lib/mailman/mail/mailman unsubscribe mailman”
Выполните
newaliases
после этого и перезапустите Postfix:
service postfix restart
Наконец, мы должны включить конфигурацию Mailman в Apache:
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
Это определяет псевдоним /cgi-bin/mailman/ для всех виртуальных хостов Apache, что означает, что вы можете получить доступ к интерфейсу администратора Mailman для списка по адресу http:///cgi-bin/mailman/admin/, а веб-страница для пользователей списка рассылки может быть найдена по адресу http:///cgi-bin/mailman/listinfo/.
По адресу http:///pipermail вы можете найти архивы списков рассылки.
Активируйте конфигурацию с помощью:
a2enconf mailman
Перезапустите Apache после этого:
service apache2 restart
Затем запустите демон Mailman:
service mailman start
## 11. Установка PureFTPd и Quota
PureFTPd и quota можно установить с помощью следующей команды:
apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
Отредактируйте файл /etc/default/pure-ftpd-common...
nano /etc/default/pure-ftpd-common
... и убедитесь, что режим запуска установлен на standalone и VIRTUALCHROOT=true:
[…] STANDALONE_OR_INETD=standalone […] VIRTUALCHROOT=true […]
Теперь мы настраиваем PureFTPd для разрешения FTP и TLS-сессий. FTP - это очень небезопасный протокол, потому что все пароли и все данные передаются в открытом виде. Используя TLS, вся связь может быть зашифрована, что делает FTP гораздо более безопасным.
Если вы хотите разрешить FTP и TLS-сессии, выполните
echo 1 > /etc/pure-ftpd/conf/TLS
Чтобы использовать TLS, нам нужно создать SSL-сертификат. Я создаю его в /etc/ssl/private/, поэтому сначала создаю этот каталог:
mkdir -p /etc/ssl/private/
После этого мы можем сгенерировать SSL-сертификат следующим образом:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Country Name (2 letter code) [AU]: <-- Введите название вашей страны (например, "DE").
State or Province Name (full name) [Some-State]: <-- Введите название вашего штата или провинции.
Locality Name (eg, city) []: <-- Введите ваш город.
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Введите название вашей организации (например, название вашей компании).
Organizational Unit Name (eg, section) []: <-- Введите название вашего подразделения (например, "IT Department").
Common Name (eg, YOUR name) []: <-- Введите полное доменное имя системы (например, "server1.example.com").
Email Address []: <-- Введите ваш адрес электронной почты.
Измените разрешения SSL-сертификата:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Затем перезапустите PureFTPd:
service pure-ftpd-mysql restart
Отредактируйте /etc/fstab. Мой выглядит так (я добавил, usrjquota=quota.user, grpjquota=quota.group, jqfmt=vfsv0 к разделу с точкой монтирования /):
nano /etc/fstab
/dev/mapper/server1–vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
/dev/mapper/server1–vg-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Чтобы включить квоты, выполните эти команды:
mount -o remount /
quotacheck -avugm
quotaon -avug
Что покажет следующий вывод:
root@server1:/tmp# quotacheck -avugm
quotacheck: Scanning /dev/mapper/server1–vg-root [/] done
quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old user quota file //quota.user: No such file or directory. Usage will not be subtracted.
quotacheck: Cannot stat old group quota file //quota.group: No such file or directory. Usage will not be subtracted.
quotacheck: Checked 13602 directories and 96597 files
quotacheck: Old file not found.
quotacheck: Old file not found.
root@server1:/tmp# quotaon -avug
/dev/mapper/server1–vg-root [/]: group quotas turned on
/dev/mapper/server1–vg-root [/]: user quotas turned on
## 12. Установка DNS-сервера BIND
BIND можно установить следующим образом:
apt-get -y install bind9 dnsutils haveged
Включите и запустите демон haveged:
systemctl enable haveged
systemctl start haveged
## 13. Установка Vlogger, Webalizer, AWStats и GoAccess
Vlogger, Webalizer и AWStats можно установить следующим образом:
apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl
Установка последней версии GoAccess напрямую из репозитория GoAccess:
echo “deb https://deb.goaccess.io/ $(lsb_release -cs) main” | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key –keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
sudo apt-get update
sudo apt-get install goaccess
Откройте /etc/cron.d/awstats после этого...
nano /etc/cron.d/awstats
... и закомментируйте все в этом файле:
#MAILTO=root
#*/10 www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh
#10 03 * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh
## 14. Установка Jailkit
Jailkit используется для заключения пользователей оболочки и cronjobs в ISPConfig. Установите jailkit с помощью apt:
apt-get -y install jailkit
## 15. Установка fail2ban и UFW
Это необязательно, но рекомендуется, потому что монитор ISPConfig пытается показать журнал:
apt-get -y install fail2ban
Чтобы сделать fail2ban мониторинг PureFTPd и Dovecot, создайте файл /etc/fail2ban/jail.local:
nano /etc/fail2ban/jail.local
[pure-ftpd] enabled = true port = ftp filter = pure-ftpd logpath = /var/log/syslog maxretry = 3
[dovecot] enabled = true filter = dovecot action = iptables-multiport[name=dovecot-pop3imap, port=”pop3,pop3s,imap,imaps”, protocol=tcp] logpath = /var/log/mail.log maxretry = 5
[postfix] enabled = true port = smtp filter = postfix logpath = /var/log/mail.log maxretry = 3
Перезапустите fail2ban после этого:
service fail2ban restart
Чтобы установить брандмауэр UFW, выполните эту команду apt:
apt-get install ufw
## 16. Установка Roundcube Webmail
Чтобы установить Roundcube Webmail, выполните:
apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins roundcube-plugins-extra javascript-common libjs-jquery-mousewheel php-net-sieve tinymce
Установщик может задать следующие вопросы:
Настроить базу данных для roundcube с dbconfig-common? <– Да
Пароль приложения MySQL для roundcube: <– Нажмите enter
Не беспокойтесь, если вы не получите этих вопросов и предупреждение о скрипте ucf, это нормально.
Предупреждение ucf, которое вы получите в оболочке, можно игнорировать, оно не имеет негативного влияния на установку.
Затем отредактируйте файл конфигурации RoundCube apache.
nano /etc/apache2/conf-enabled/roundcube.conf
и уберите # перед строкой Alias, затем добавьте вторую строку Alias для /webmail и добавьте строку "AddType application/x-httpd-php .php" сразу после строки "":
Alias /roundcube /var/lib/roundcube
Alias /webmail /var/lib/roundcube […]
Get new posts in your inbox
No spam. Unsubscribe anytime.