Установка сервера · 9 min read · Oct 23, 2025
Идеальный сервер - Ubuntu 16.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 roundcube-plugins-extra 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.0-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.0-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.0-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://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/Следующий шаг - запустить
php -q install.phpЭто запустит установщик ISPConfig 3.1. Установщик настроит все службы, такие как Postfix, Dovecot и т.д. для вас.
root@server1:/tmp/ispconfig3-stable-3.1-3f1331062193a94fbd64a7e39c00cb8d77eb7484/install# php install.php
--------------------------------------------------------------------------------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_\__, | \____/
__/ |
|___/
-------------------------------------------------------------------------------->> Начальная конфигурацияОперационная система: Ubuntu 16.04.1 LTS (Xenial Xerus)Следующие будут несколько вопросов для первичной конфигурации, поэтому будьте внимательны.
Значения по умолчанию находятся в [скобках] и могут быть приняты с .
Введите "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. Дополнительные заметки
18.1 OpenVZ
Если сервер Ubuntu, который вы только что настроили в этом руководстве, является контейнером OpenVZ (виртуальная машина), вы должны сделать это на хост-системе (я предполагаю, что ID контейнера OpenVZ равен 101 - замените его на правильный VPSID на вашей системе):
VPSID=101
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
vzctl set $VPSID --capability ${CAP}:on --save
done18.2 Скачивание образа виртуальной машины этого руководства
Это руководство доступно в виде готового к использованию образа виртуальной машины в формате ovf/ova, совместимого с VMWare и Virtualbox. Образ виртуальной машины использует следующие данные для входа:
SSH / Shell Login
Имя пользователя: administrator
Пароль: howtoforge
Этот пользователь имеет права sudo.
ISPConfig Login
Имя пользователя: admin
Пароль: howtoforge
MySQL Login
Имя пользователя: admin
Пароль: howtoforge
или войдите с:
sudo mysqlв оболочке.
IP виртуальной машины - 192.168.1.100, его можно изменить в файле /etc/network/interfaces. Пожалуйста, измените все вышеперечисленные пароли, чтобы обеспечить безопасность виртуальной машины.
19. Ссылки
- Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
Get new posts in your inbox
No spam. Unsubscribe anytime.