Установка серверов · 7 min read · Jan 07, 2026

Идеальный сервер - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3) - Страница 2

15 Установка phpMyAdmin

Далее мы устанавливаем phpMyAdmin:

yum -y install phpmyadmin

Далее мы изменяем аутентификацию в phpMyAdmin с cookie на http:

nano /etc/phpMyAdmin/config.inc.php

[...]
/* Тип аутентификации */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Теперь вы можете найти phpMyAdmin в директории /usr/share/phpMyAdmin/.

После установки ISPConfig 3 вы можете получить доступ к phpMyAdmin следующим образом:

Vhost приложений ISPConfig на порту 8081 для nginx поставляется с конфигурацией phpMyAdmin, поэтому вы можете использовать http://server1.example.com:8081/phpmyadmin или http://server1.example.com:8081/phpMyAdmin для доступа к phpMyAdmin.

Если вы хотите использовать алиас /phpmyadmin или /phpMyAdmin, который вы можете использовать с ваших веб-сайтов, это немного сложнее, чем для Apache, потому что nginx не имеет глобальных алиасов (т.е. алиасов, которые могут быть определены для всех vhosts). Поэтому вам нужно определить эти алиасы для каждого vhost, с которого вы хотите получить доступ к phpMyAdmin.

Для этого вставьте следующее в поле Директивы nginx на вкладке Опции веб-сайта в ISPConfig:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Если вы используете http s вместо http для вашего vhost, вы должны добавить строку fastcgi_param HTTPS on; в вашу конфигурацию phpMyAdmin следующим образом:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- добавьте эту строку
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Если вы используете как http, так и https для вашего vhost, вы можете использовать переменную $https - снова перейдите в поле Директивы nginx и вместо fastcgi_param HTTPS on; добавьте строку fastcgi_param HTTPS $https; чтобы вы могли использовать phpMyAdmin как для http, так и для https запросов:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $https; # <-- добавьте эту строку
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /etc/nginx/fastcgi_params;
                       fastcgi_param PATH_INFO $fastcgi_script_name;
                       fastcgi_buffer_size 128k;
                       fastcgi_buffers 256 4k;
                       fastcgi_busy_buffers_size 256k;
                       fastcgi_temp_file_write_size 256k;
                       fastcgi_intercept_errors on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

16 Установка Mailman

Начиная с версии 3.0.4, ISPConfig также позволяет вам управлять (создавать/изменять/удалять) списками рассылки Mailman. Если вы хотите воспользоваться этой функцией, установите Mailman следующим образом:

yum -y install mailman

Прежде чем мы сможем запустить Mailman, необходимо создать первый список рассылки под названием mailman:

touch /var/lib/mailman/data/aliases
touch /etc/mailman/aliases
/usr/lib/mailman/bin/newlist mailman

[root@server1 tmp]# /usr/lib/mailman/bin/newlist mailman
Введите email человека, управляющего списком: <– адрес электронной почты администратора, например, [email protected]
Первоначальный пароль mailman: <– пароль администратора для списка mailman
Чтобы завершить создание вашего списка рассылки, вам необходимо отредактировать ваш файл /etc/aliases (или эквивалентный), добавив следующие строки, и, возможно, запустив программу newaliases:

список рассылки mailman

mailman: “|/usr/lib/mailman/mail/mailman post mailman”
mailman-admin: “|/usr/lib/mailman/mail/mailman admin mailman”
mailman-bounces: “|/usr/lib/mailman/mail/mailman bounces mailman”
mailman-confirm: “|/usr/lib/mailman/mail/mailman confirm mailman”
mailman-join: “|/usr/lib/mailman/mail/mailman join mailman”
mailman-leave: “|/usr/lib/mailman/mail/mailman leave mailman”
mailman-owner: “|/usr/lib/mailman/mail/mailman owner mailman”
mailman-request: “|/usr/lib/mailman/mail/mailman request mailman”
mailman-subscribe: “|/usr/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe: “|/usr/lib/mailman/mail/mailman unsubscribe mailman”

Нажмите enter, чтобы уведомить владельца mailman… <– ENTER

[root@server1 tmp]#

Откройте /etc/aliases после этого…

nano /etc/aliases

… и добавьте следующие строки:

[...]
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Запустите

newaliases

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

systemctl restart postfix.service

Создайте системные ссылки для запуска Mailman и запустите его:

systemctl enable mailman.service
systemctl start mailman.service

Теперь нам нужно создать этот символическую ссылку, чтобы Mailman работал с ISPConfig:

cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman

Если вы хотите использовать Mailman с ваших веб-сайтов, созданных через ISPConfig, это немного сложнее, чем для Apache, потому что nginx не имеет глобальных алиасов (т.е. алиасов, которые могут быть определены для всех vhosts). Поэтому вам нужно определить эти алиасы для каждого vhost, с которого вы хотите получить доступ к Mailman.

Для этого вставьте следующее в поле Директивы nginx на вкладке Опции веб-сайта в ISPConfig:

        location /cgi-bin/mailman {
               alias /usr/lib/mailman/cgi-bin;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }

        location /images/mailman {
               alias /usr/lib/mailman/icons;
        }

        location /pipermail {
               alias /var/lib/mailman/archives/public;
               autoindex on;
        }

Это определяет алиас /cgi-bin/mailman/ для вашего vhost, что означает, что вы можете получить доступ к интерфейсу администратора Mailman для списка по адресу http:///cgi-bin/mailman/admin/, а веб-страницу для пользователей списка рассылки можно найти по адресу http:///cgi-bin/mailman/listinfo/.

По адресу http:///pipermail вы можете найти архивы списков рассылки.

17 Установка PureFTPd

PureFTPd можно установить с помощью следующей команды:

yum -y install pure-ftpd

Затем создайте системные ссылки для запуска и запустите PureFTPd:

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

Теперь мы настраиваем PureFTPd для разрешения FTP и TLS сессий. FTP - это очень небезопасный протокол, потому что все пароли и все данные передаются в открытом виде. Используя TLS, вся связь может быть зашифрована, что делает FTP намного более безопасным.

OpenSSL необходим для TLS; чтобы установить OpenSSL, мы просто выполняем:

yum -y install openssl

Откройте /etc/pure-ftpd/pure-ftpd.conf…

nano /etc/pure-ftpd/pure-ftpd.conf

Если вы хотите разрешить FTP и TLS сессии, установите TLS в 1:

[...]
# Эта опция может принимать три значения :
# 0 : отключить слой шифрования SSL/TLS (по умолчанию).
# 1 : принимать как традиционные, так и зашифрованные сессии.
# 2 : отклонять соединения, которые не используют механизмы безопасности SSL/TLS,
#     включая анонимные сессии.
# Не _разкомментируйте_ это бездумно. Убедитесь, что :
# 1) Ваш сервер был скомпилирован с поддержкой SSL/TLS (--with-tls),
# 2) Действительный сертификат установлен,
# 3) Только совместимые клиенты смогут войти.

TLS                      1
[...]

Для использования 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

Название страны (2 буквы) [XX]: <– Введите название вашей страны (например, “DE”).
Название штата или провинции (полное название) []: <– Введите название вашего штата или провинции.
Название населенного пункта (например, город) [Default City]: <– Введите название вашего города.
Название организации (например, компания) [Default Company Ltd]: <– Введите название вашей организации (например, название вашей компании).
Название подразделения (например, отдел) []: <– Введите название вашего подразделения (например, “IT Department”).
Общее название (например, ваше имя или имя хоста вашего сервера) []: <– Введите полное доменное имя системы (например, “server1.example.com”).
Адрес электронной почты []: <– Введите ваш адрес электронной почты.

Измените разрешения SSL сертификата:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Наконец, перезапустите PureFTPd:

systemctl restart pure-ftpd.service

Вот и все. Теперь вы можете попробовать подключиться с помощью вашего FTP клиента; однако вам следует настроить ваш FTP клиент для использования TLS.

18 Установка BIND

Мы можем установить BIND следующим образом:

yum -y install bind bind-utils

Далее откройте /etc/sysconfig/named…

nano /etc/sysconfig/named

… и убедитесь, что строка ROOTDIR=/var/named/chroot закомментирована:

# Опции процесса BIND named
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# OPTIONS="что угодно"     --  Эти дополнительные опции будут переданы named
#                            при запуске. Не добавляйте -t здесь, включите правильный
#                            файл юнита -chroot.service.

Сделайте резервную копию существующего файла /etc/named.conf и создайте новый следующим образом:

cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
nano /etc/named.conf

// named.conf\
//\
// Предоставлено пакетом Red Hat bind для настройки ISC BIND named(8) DNS\
// сервера как кэширующего только nameserver (только как локальный DNS резолвер).\
//\
// См. /usr/share/doc/bind*/sample/ для примеров конфигурационных файлов named.\
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion no;
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.conf.local";

Создайте файл /etc/named.conf.local, который включается в конце /etc/named.conf (файл /etc/named.conf.local позже будет заполнен ISPConfig, если вы создадите DNS зоны в ISPConfig):

touch /etc/named.conf.local

Затем создаем ссылки для запуска и запускаем BIND:

systemctl enable named.service
systemctl start named.service

19 Установка Webalizer и AWStats

Webalizer и AWStats можно установить следующим образом:

yum -y install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

20 Установка Jailkit

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

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install
cd ..
rm -rf jailkit-2.17*

21 Установка fail2ban

Это необязательно, но рекомендуется, потому что монитор ISPConfig пытается показать журнал:

yum -y install fail2ban

Мы должны настроить fail2ban для ведения журнала в файл журнала /var/log/fail2ban.log, потому что это файл журнала, который отслеживается модулем мониторинга ISPConfig. Откройте /etc/fail2ban/fail2ban.conf…

nano /etc/fail2ban/fail2ban.conf

… и убедитесь, что logtarget = /var/log/fail2ban.log:

[...]
# Опция: logtarget
# Примечания.: Установите целевой журнал. Это может быть файл, SYSLOG, STDERR или STDOUT.
#         Можно указать только одну целевую запись журнала.
#         Если вы измените logtarget с значения по умолчанию и вы
#         используете logrotate -- также отрегулируйте или отключите ротацию в
#         соответствующем конфигурационном файле
#         (например, /etc/logrotate.d/fail2ban на системах Debian)
# Значения: [ STDOUT | STDERR | SYSLOG | FILE ]  По умолчанию: STDERR
#
logtarget = /var/log/fail2ban.log

[...]

Затем создайте системные ссылки для запуска fail2ban и запустите его:

systemctl enable fail2ban.service
systemctl start fail2ban.service

22 Установка rkhunter

rkhunter можно установить следующим образом:

yum -y install rkhunter

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.