Установка сервера · 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   
done

18.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. Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.