Установка ПО · 8 min read · Oct 07, 2025

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

16 Установка phpMyAdmin

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

yum install phpmyadmin

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

vi /usr/share/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, вам нужно добавить следующий раздел в секцию http {} в /etc/nginx/nginx.conf (перед любыми строками include), который определяет, использует ли посетитель http или https и устанавливает переменную $fastcgi_https (которую мы будем использовать в нашей конфигурации phpMyAdmin) соответственно:

vi /etc/nginx/nginx.conf

| [...] http { [...] ## Обнаружить, когда используется HTTPS map $scheme $fastcgi_https { default off; https on; } [...] } [...] |

Не забудьте перезагрузить nginx после этого:

/etc/init.d/nginx reload 

Затем снова перейдите в поле Директивы nginx и вместо fastcgi_param HTTPS on; добавьте строку fastcgi_param HTTPS $fastcgi_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 $fastcgi_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; } |

17 Установка Mailman

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

yum install mailman

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

/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 после этого…

vi /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:

/etc/init.d/postfix restart

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

chkconfig –levels 235 mailman on
/etc/init.d/mailman start

Теперь нам нужно создать эту символическую ссылку, чтобы 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 вы можете найти архивы почтовых списков.

18 Установка PureFTPd

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

yum install pure-ftpd

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

chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

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

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

yum install openssl

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

vi /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:

 /etc/init.d/pure-ftpd restart

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

19 Установка BIND

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

yum install bind bind-utils

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

vi /etc/sysconfig/named

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

| # Опции процесса BIND named # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # В настоящее время вы можете использовать следующие опции: # # ROOTDIR="/var/named/chroot" -- будет запускать named в chroot-окружении. # вы должны настроить chroot-окружение # (установить пакет bind-chroot) перед # тем, как это сделать. # ЗАМЕТКА: # Эти каталоги автоматически монтируются в chroot, если они # пусты в каталоге ROOTDIR. Это упростит обслуживание вашего # chroot-окружения. # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind или /usr/lib/bind (в зависимости от архитектуры) # # Эти файлы также монтируются, если целевой файл не существует в # chroot. # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # Не забудьте добавить "$AddUnixListenSocket /var/named/chroot/dev/log" # строку в ваш файл /etc/rsyslog.conf. В противном случае ваша запись # будет нарушена, когда демон rsyslogd будет перезапущен (например, из-за # обновления). # # OPTIONS="whatever" -- Эти дополнительные опции будут переданы named # при запуске. Не добавляйте -t здесь, используйте # ROOTDIR вместо этого. # # KEYTAB_FILE="/dir/file" -- Укажите файл ключа службы named (для GSS-TSIG) # # DISABLE_ZONE_CHECKING -- По умолчанию, скрипт инициализации вызывает # утилиту named-checkzone для каждой зоны, чтобы # убедиться, что все зоны действительны перед # запуском named. Если вы установите эту опцию # в 'yes', то скрипт инициализации не будет # выполнять эти проверки. |

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

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

| // named.conf // // Предоставлено пакетом bind от Red Hat для настройки 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; allow-recursion { none; }; }; 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:

chkconfig –levels 235 named on
/etc/init.d/named start

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

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

yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.