Установка сервера · 8 min read · Oct 30, 2025

Идеальный сервер - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD и ISPConfig 3.1) - Страница 3

15. Установка Roundcube Webmail

Чтобы установить RoundCube webmail, выполните:

apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

Установщик задаст следующие вопросы:

Настроить базу данных для roundcube с dbconfig-common? <-- Да  
Пароль приложения MySQL для roundcube: <-- Нажмите Enter  

Затем отредактируйте файл конфигурации RoundCube config.inc.php:

nano /etc/roundcube/config.inc.php

и измените хост по умолчанию на localhost:

$config['default_host'] = 'localhost';

Это предотвратит отображение поля ввода имени сервера в форме входа Roundcube.

Теперь создайте символическую ссылку, чтобы мы могли использовать конфигурацию SquirrelMail в ISPConfig для Roundcube:

ln -s /usr/share/roundcube /usr/share/squirrelmail

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

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

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

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

        location /roundcube {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcube/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                       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 ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcube last;
        }

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

        location /roundcube {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcube/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                       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 ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcube last;
        }

Если вы используете как http, так и https для вашего vhost, вам нужно добавить следующий раздел в секцию http {} в /etc/nginx/nginx.conf (перед любыми строками include), который определяет, использует ли посетитель http или https, и устанавливает переменную $fastcgi_https (которую мы будем использовать в нашей конфигурации Roundcube) соответственно:

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

        }
[...]
}
[...]

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

service nginx reload

Затем снова перейдите в поле Директивы nginx, и вместо fastcgi_param HTTPS on; добавьте строку fastcgi_param HTTPS $fastcgi_https; так, чтобы вы могли использовать Roundcube как для http, так и для https запросов:

        location /roundcube {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/roundcube/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
                       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 ~* ^/roundcube/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /roundcube last;
        }

16. Установка ISPConfig 3.1

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

service apache2 stop

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

update-rc.d -f apache2 remove

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

service nginx restart

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

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

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

cd /tmp   
wget -O ispconfig.tar.gz https://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz  
tar xfz ispconfig.tar.gz  
cd ispconfig3*/install/

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

php -q install.php

Это запустит установщик ISPConfig 3.1. Установщик настроит все службы, такие как Postfix, Dovecot и т.д. для вас.

root@server1:/tmp/ispconfig3-stable-3.1-da1e393d7bed829d180dd9006019201e3370e77a/install# php install.php

--------------------------------------------------------------------------------  
_____ ___________ _____ __ _ ____  
|_ _/ ___| ___ \ / __ \ / _(_) /__ \  
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /  
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |  
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \  
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/  
__/ |  
|___/  
--------------------------------------------------------------------------------
>> Начальная конфигурация
Операционная система: Ubuntu 18.04 LTS (Bionic Beaver)
Следующие будут несколько вопросов для первичной конфигурации, поэтому будьте внимательны.  
Значения по умолчанию находятся в [скобках] и могут быть приняты с .  
Введите "quit" (без кавычек), чтобы остановить установщик.

Выберите язык (en,de) [en]: <-- ENTER
Режим установки (стандартный,эксперт) [стандартный]: <-- ENTER
Полное квалифицированное имя хоста (FQDN) сервера, например server1.domain.tld [server1.example.com]: <-- ENTER
Имя хоста MySQL сервера [localhost]: <-- ENTER
Порт MySQL сервера [3306]: <-- ENTER
Имя пользователя root MySQL [root]: <-- ENTER
Пароль root MySQL []: <-- введите пароль root MySQL здесь
База данных MySQL для создания [dbispconfig]: <-- ENTER
Кодировка MySQL [utf8]: <-- ENTER
Настройка Postgrey  
Настройка Postfix  
Генерация 4096-битного RSA закрытого ключа  
.................................................................................................................................................................................................................................................................................................................................................................................................................++  
...++  
запись нового закрытого ключа в 'smtpd.key'  
-----  
Вам будет предложено ввести информацию, которая будет включена  
в ваш запрос на сертификат.  
То, что вы собираетесь ввести, называется Уникальным Именем или DN.  
Существует довольно много полей, но вы можете оставить некоторые пустыми  
Для некоторых полей будет значение по умолчанию,  
Если вы введете '.', поле будет оставлено пустым.  
-----  
Название страны (2-буквенный код) [AU]: <-- введите свой 2-буквенный код страны, например DE в моем случае  
Название штата или провинции (полное название) [Some-State]: <-- Введите свой домашний штат  
Название населенного пункта (например, город) []:  <-- Введите свой город, в моем случае Люненбург  
Название организации (например, компания) [Internet Widgits Pty Ltd]: <-- Введите название своей компании, в моем случае ISPConfig UG  
Название организационного подразделения (например, секция) []: <-- Введите название своего организационного подразделения, я использую IT здесь  
Общее имя (например, FQDN сервера или ВАШе имя) []: <-- Введите имя хоста сервера, в моем случае server1.example.com  
Адрес электронной почты []: <-- Введите адрес электронной почты, например [email protected]  
Настройка Mailman  
Настройка Dovecot  
Настройка Spamassassin  
Настройка Amavisd  
Настройка Getmail  
Настройка Jailkit  
Настройка Pureftpd  
Настройка BIND  
Настройка nginx  
[INFO] служба OpenVZ не обнаружена  
Настройка брандмауэра Ubuntu  
Настройка сервера XMPP Metronome  
запись нового закрытого ключа в 'localhost.key'  
-----  
Название страны (2-буквенный код) [AU]: <-- Введите свой 2-буквенный код страны, например DE в моем случае
Название населенного пункта (например, город) [Название города]: <-- Введите свой город, в моем случае Люненбург
Название организации (например, компания) [Internet Widgits Pty Ltd]: <-- Введите название своей компании, в моем случае ISPConfig UG
Название организационного подразделения (например, секция) [Инфраструктура]: <-- Введите название своего организационного подразделения, я использую IT здесь
Общее имя (например, FQDN сервера или ВАШе имя) [server1.example.com]: <-- Введите имя хоста сервера, в моем случае server1.example.com
Адрес электронной почты [[email protected]]: <-- Введите адрес электронной почты, например [email protected]
ВАЖНО:  
Закрытый ключ localhost, Csr и самоподписанный сертификат были сохранены в /etc/metronome/certs  
Чтобы работать со всеми клиентами, сервер должен иметь доверенный сертификат, поэтому используйте Csr  
для получения доверенного сертификата от вашего CA или замените ключ и сертификат уже подписанными файлами для  
вашего домена. Клиенты, такие как Pidgin, не позволяют использовать недоверенные самоподписанные сертификаты.
Настройка Fail2ban  
Настройка Apps vhost  
Установка ISPConfig  
Порт ISPConfig [8080]: <-- ENTER
Пароль администратора [admin]: <-- Введите желаемый пароль администратора
Хотите ли вы безопасное (SSL) соединение с веб-интерфейсом ISPConfig (y,n) [y]: <-- ENTER
Генерация RSA закрытого ключа, 4096 битный модуль  
....................................................++  
........................++  
e равно 65537 (0x10001)  
Вам будет предложено ввести информацию, которая будет включена  
в ваш запрос на сертификат.  
То, что вы собираетесь ввести, называется Уникальным Именем или DN.  
Существует довольно много полей, но вы можете оставить некоторые пустыми  
Для некоторых полей будет значение по умолчанию,  
Если вы введете '.', поле будет оставлено пустым.  
-----  
Название страны (2-буквенный код) [AU]: <-- введите свой 2-буквенный код страны, например DE в моем случае  
Название штата или провинции (полное название) [Some-State]: <-- Введите свой домашний штат  
Название населенного пункта (например, город) []:  <-- Введите свой город, в моем случае Люненбург  
Название организации (например, компания) [Internet Widgits Pty Ltd]: <-- Введите название своей компании, в моем случае ISPConfig UG  
Название организационного подразделения (например, секция) []: <-- Введите название своего организационного подразделения, я использую IT здесь  
Общее имя (например, FQDN сервера или ВАШе имя) []: <-- Введите имя хоста сервера, в моем случае server1.example.com  
Адрес электронной почты []: <-- Введите адрес электронной почты, например [email protected]
Пожалуйста, введите следующие 'дополнительные' атрибуты  
для отправки с вашим запросом на сертификат  
Пароль для проверки []: <-- ENTER  
Необязательное название компании []: <-- ENTER  
запись RSA ключа

Настройка DBServer  
Установка ISPConfig crontab  
Установка ISPConfig crontab  
нет crontab для root  
нет crontab для getmail  
Обнаружение IP адресов  
Перезапуск служб ...  
Установка завершена.

Установщик автоматически настраивает все подлежащие службы, поэтому ручная настройка не требуется.

После этого вы можете получить доступ к ISPConfig 3 по адресу http(s)://server1.example.com:8080/ или http(s)://192.168.1.100:8080/ (http или https зависит от того, что вы выбрали во время установки). Войдите с именем пользователя admin и паролем admin (вы должны изменить пароль по умолчанию после первого входа):

Вход в ISPConfig

Панель управления ISPConfig

Система теперь готова к использованию.

16.1 Руководство ISPConfig 3.1

Чтобы узнать, как использовать ISPConfig 3, я настоятельно рекомендую скачать Руководство ISPConfig 3.1.

На более чем 300 страницах оно охватывает концепцию ISPConfig (администраторы, реселлеры, клиенты), объясняет, как установить и обновить ISPConfig 3, включает справочник для всех форм и полей форм в ISPConfig вместе с примерами допустимых вводов и предоставляет учебные пособия для самых распространенных задач в ISPConfig 3. Оно также описывает, как сделать ваш сервер более безопасным и содержит раздел по устранению неполадок в конце.

17 Скачивание образа виртуальной машины этого руководства

Это руководство доступно в виде готового к использованию образа виртуальной машины в формате ovf/ova, совместимого с VMWare и Virtualbox. Образ виртуальной машины использует следующие данные для входа:

SSH / Shell Вход

Имя пользователя: administrator
Пароль: howtoforge

Этот пользователь имеет права sudo.

Вход в ISPConfig

Имя пользователя: admin
Пароль: howtoforge

Вход в MySQL

Имя пользователя: root
Пароль: howtoforge

IP виртуальной машины - 192.168.1.100, его можно изменить в файле /etc/netplan/01-netcfg.yaml. Пожалуйста, измените все вышеуказанные пароли для обеспечения безопасности виртуальной машины.

18. Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.