Установка сервера · 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 (вы должны изменить пароль по умолчанию после первого входа):


Система теперь готова к использованию.
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. Ссылки
- Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.