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

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

23 Установка RoundcubeMail

Чтобы установить веб-клиент Roundcube, выполните…

yum -y install roundcubemail

ISPConfig содержит стандартный веб-алиас для squirremail внутри своего vhost приложений. Мы будем использовать этот алиас для более современного roundcube, поэтому создаем символическую ссылку с именем squirrelmail в /usr/share

ln -s /usr/share/roundcubemail /usr/share/squirrelmail

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

ISPConfig apps vhost на порту 8081 для nginx поставляется с конфигурацией алиаса /webmail, так что вы можете использовать http://server1.example.com:8081/webmail для доступа к RoundcubeMail.

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

Для этого вставьте следующее в поле nginx Directives на вкладке Options веб-сайта в ISPConfig:

Для этого вставьте следующее в поле nginx Directives на вкладке Options веб-сайта в ISPConfig:

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcubemail last;
        }

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

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcubemail last;
        }

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

        location /roundcubemail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcubemail/(.+\.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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

Теперь нам нужна база данных для roundcube mail, мы инициализируем ее следующим образом:

mysql -u root -p

На подсказке mariadb используйте:

CREATE DATABASE roundcubedb;
CREATE USER roundcubeuser@localhost IDENTIFIED BY ‘roundcubepassword’;
GRANT ALL PRIVILEGES on roundcubedb.* to roundcubeuser@localhost ;
FLUSH PRIVILEGES;
exit

Я использую данные для базы данных roundcube в качестве теста, пожалуйста, замените значения по вашему выбору по соображениям безопасности. Мы закончим установку roundcube после установки ISPConfig.

24 Установка ISPConfig 3

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

systemctl stop httpd.service

… и удалите системные ссылки запуска Apache:

systemctl disable httpd.service

Убедитесь, что nginx работает:

systemctl restart nginx.service

(Если у вас установлены как Apache, так и nginx, установщик спросит вас, какой из них вы хотите использовать: Обнаружены Apache и nginx. Выберите сервер для использования с ISPConfig: (apache,nginx) [apache]:

Введите nginx. Если установлен только Apache или nginx, это автоматически определяется установщиком, и вопрос не задается.)

Скачайте текущую версию ISPConfig 3 и установите ее. Установщик ISPConfig настроит все службы, такие как Postfix, Dovecot и т.д. для вас. Ручная настройка, как это требовалось для ISPConfig 2, больше не нужна.

Теперь у вас также есть возможность позволить установщику создать SSL vhost для панели управления ISPConfig, чтобы к ISPConfig можно было получить доступ с помощью https:// вместо http://. Для этого просто нажмите ENTER, когда вы увидите этот вопрос: Хотите ли вы безопасное (SSL) соединение с веб-интерфейсом ISPConfig (y,n) [y]:.

Чтобы установить ISPConfig 3 из последней выпущенной версии, выполните следующее:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

Следующий шаг - запустить

php -q install.php

Это запустит установщик ISPConfig 3:

[root@server1 install]# php -q install.php

——————————————————————————–
_ _ _ _
| / | \ / \ / () / \
| | | | --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | |–. \ / | | / \| ‘ \| | |/ ` | | |
| |
| |\
/ / | | _/\ () | | | | | | | (| | __\ \
_/__/_| _/\/|| |||||_, | __/ / |
|_
/
——————————————————————————–

>> Начальная конфигурация

Операционная система: Redhat или совместимая, неизвестная версия.

Следующие будут несколько вопросов для первичной конфигурации, так что будьте внимательны.
Значения по умолчанию находятся в [скобках] и могут быть приняты с помощью .
Введите “quit” (без кавычек), чтобы остановить установщик.

Выберите язык (en,de) [en]: <– ENTER

Режим установки (стандартный, эксперт) [стандартный]: <– ENTER

Полное квалифицированное имя хоста (FQDN) сервера, например server1.domain.tld [server1.example.com]: <– ENTER

Имя хоста MySQL [localhost]: <– ENTER

Имя пользователя root MySQL [root]: <– ENTER

Пароль root MySQL []: <– вашrootsqlpassword

База данных MySQL для создания [dbispconfig]: <– ENTER

Кодировка MySQL [utf8]: <– ENTER

Обнаружены Apache и nginx. Выберите сервер для использования с ISPConfig: (apache,nginx) [apache]: <– nginx

Генерация 2048-битного RSA закрытого ключа
…………………………………………………………….+++
………………………………………..+++
запись нового закрытого ключа в ‘smtpd.key’
—–
Вас попросят ввести информацию, которая будет включена в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Уникальным именем (Distinguished Name) или DN.
Существует довольно много полей, но вы можете оставить некоторые пустыми
Для некоторых полей будет значение по умолчанию,
Если вы введете ‘.’, поле останется пустым.
—–
Название страны (2-буквенный код) [XX]: <– ENTER
Название штата или провинции (полное имя) []: <– ENTER
Название местности (например, город) [Default City]: <– ENTER
Название организации (например, компания) [Default Company Ltd]: <– ENTER
Название организационного подразделения (например, секция) []: <– ENTER
Общее имя (например, ваше имя или имя хоста вашего сервера) []: <– ENTER
Адрес электронной почты []: <– ENTER
Настройка Jailkit
Настройка Dovecot
Настройка Spamassassin
Настройка Amavisd
Настройка Getmail
Настройка Pureftpd
Настройка BIND
Настройка nginx
Настройка Vlogger
Настройка vhost приложений
Настройка брандмауэра Bastille
Настройка Fail2ban
Установка ISPConfig
Порт ISPConfig [8080]: <– ENTER

Хотите ли вы безопасное (SSL) соединение с веб-интерфейсом ISPConfig (y,n) [y]: <– ENTER

Генерация RSA закрытого ключа, 4096 бит длиной
…………………………………………………..++
…………………………………………………………………++
e равно 65537 (0x10001)
Вас попросят ввести информацию, которая будет включена в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Уникальным именем (Distinguished Name) или DN.
Существует довольно много полей, но вы можете оставить некоторые пустыми
Для некоторых полей будет значение по умолчанию,
Если вы введете ‘.’, поле останется пустым.
—–
Название страны (2-буквенный код) [XX]: <– ENTER
Название штата или провинции (полное имя) []: <– ENTER
Название местности (например, город) [Default City]: <– ENTER
Название организации (например, компания) [Default Company Ltd]: <– ENTER
Название организационного подразделения (например, секция) []: <– ENTER
Общее имя (например, ваше имя или имя хоста вашего сервера) []: <– ENTER
Адрес электронной почты []: <– ENTER

Пожалуйста, введите следующие ‘дополнительные’ атрибуты
которые будут отправлены с вашим запросом на сертификат
Пароль для вызова []: <– ENTER
Необязательное название компании []: <– ENTER
запись RSA ключа
Настройка DBServer
Установка crontab ISPConfig
нет crontab для root
нет crontab для getmail
Перезапуск служб …
Остановка mysqld: [ OK ]
Запуск mysqld: [ OK ]
Остановка postfix: [ OK ]
Запуск postfix: [ OK ]
Остановка saslauthd: [FAILED]
Запуск saslauthd: [ OK ]
Остановка amavisd: Даймон [1554] завершен по SIGTERM
[ OK ]
amavisd остановлен
Запуск amavisd: [ OK ]

Остановка clamd.amavisd: [ OK ]
Запуск clamd.amavisd: [ OK ]
Остановка Dovecot Imap: [ OK ]
Запуск Dovecot Imap: [ OK ]
Перезагрузка php-fpm: [ OK ]
Перезагрузка nginx: [ OK ]
Остановка pure-ftpd: [ OK ]
Запуск pure-ftpd: [ OK ]
Установка завершена.
[root@server1 install]# Чтобы исправить ошибки Mailman, которые могут возникнуть во время установки ISPConfig, откройте /usr/lib/mailman/Mailman/mm_cfg.py… vi /usr/lib/mailman/Mailman/mm_cfg.py … и установите DEFAULT_SERVER_LANGUAGE = ‘en’: [...] #------------------------------------------------------------- # Язык по умолчанию для этого сервера. DEFAULT_SERVER_LANGUAGE = 'en' [...] Перезапустите Mailman: systemctl restart mailman.service Теперь я закончу установку RoundcubeMail. Откройте следующий URL в вашем браузере: http://192.168.0.100:8081/roundcubemail/installer вы будете встречены веб-установщиком RoundcubeMail, прокрутите вниз по странице и нажмите далее: Затем введите данные базы данных базы данных roundcubedb, которую мы создали в главе 23: И установите SMTP сервер на localhost и выберите предпочитаемый язык и нажмите “Создать конфигурацию”, чтобы перейти на следующую страницу. Откройте файл /etc/roundcubemail/config.inc.php в оболочке: nano /etc/roundcubemail/config.inc.php и вставьте конфигурацию, которая показана в веб-установщике, в этот файл и сохраните файл. Затем вернитесь к веб-установщику и нажмите кнопку продолжить. На этой странице нажмите на “инициализировать базу данных”: Страница должна выглядеть так после успешной инициализации базы данных: Чтобы защитить конфигурацию RoundcubeMail от несанкционированных изменений, я удалю папку установщика, выполнив эту команду в оболочке: rm -rf /usr/share/roundcubemail/installer ### 25 Первый вход в ISPConfig После этого вы можете получить доступ к ISPConfig 3 по адресу http(s)://server1.example.com:8080/ или http(s)://192.168.0.100:8080/ (http или https зависит от того, что вы выбрали во время установки). Войдите с именем пользователя admin и паролем admin (вы должны изменить пароль по умолчанию после первого входа): Далее нам нужно настроить пути конфигурации BIND в ISPConfig. Нажмите на “Система” в верхнем меню, затем на “Конфигурация сервера” в правом меню. В списке, который появится, на левой стороне нажмите на имя сервера. Перейдите на вкладку “DNS” формы: и введите пути DNS следующим образом: Директория файлов зон BIND: /var/named
Путь к named.conf BIND: /etc/named.conf
Путь к named.conf.local BIND: /etc/named.conf.local Система теперь готова к использованию. Если вы хотите использовать IPv6 адреса с вашими vhosts nginx, пожалуйста, выполните следующее перед созданием IPv6 vhosts в ISPConfig: Откройте /etc/sysctl.conf… vi /etc/sysctl.conf … и добавьте строку net.ipv6.bindv6only = 1: [...] net.ipv6.bindv6only = 1 Запустите… sysctl -p … после этого, чтобы изменения вступили в силу. #### 25.1 Руководство ISPConfig 3 Чтобы узнать, как использовать ISPConfig 3, я настоятельно рекомендую скачать Руководство ISPConfig 3. На более чем 300 страницах оно охватывает концепцию ISPConfig (администраторы, реселлеры, клиенты), объясняет, как установить и обновить ISPConfig 3, включает справочник для всех форм и полей форм в ISPConfig вместе с примерами допустимых вводов и предоставляет учебные пособия для самых распространенных задач в ISPConfig 3. Оно также описывает, как сделать ваш сервер более безопасным и содержит раздел по устранению неполадок в конце. ### 25 Ссылки - CentOS: http://www.centos.org/ - ISPConfig: http://www.ispconfig.org/

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.