Установка и использование ISPmanager на Linux


Панель управления хостингом ISPmanager может быть установлена на компьютер с Linux с помощью установочного скрипта. В данной статье мы разберем это на практике.
Как правильно выбрать Linux
Подготовка сервера
Установка ISPmanager
Лицензирование
Установка пакетов
Добавить пользователя
Размер загружаемого файла
Свой сертификат для панели управления
Ручная установка расширений для PHP
Выбор дистрибутива Linux
Необходимо учитывать системные требования ISPmanager к конкретному дистрибутиву Linux. Например, версия Business не будет работать на Ubuntu и Debian 9 (рекомендуется использование CentOS), тогда как у версии Lite ряд возможных дистрибутивов шире. Внимательно изучаем системные требования в официальной документации и на основе них ставим нужный Linux.
Подготовка сервера
Стоит обратить внимание, что для корректной работы необходима чистая система — без установленных и настроенных программ, а также без подключенных дополнительных репозиториев.
Однако, для ISPmanager рекомендуется отключить SELinux. Для этого вводим команду:
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
... и перезагружаем сервер:
shutdown -r now
Установка
Для установки необходимо скачать скрипт утилитой wget. Ставим ее.
а) если CentOS / Red Hat:
yum install wget
б) если Ubuntu / Debian:
apt-get install wget
Скачиваем скрипт установки ISPmanager:
wget http://cdn.ispsystem.com/install.sh
Запускаем установку:
sh install.sh ISPmanager
Установщик задаст некоторые вопросы:
0-1. Если мы не отключили SELinux, установщик предложит его отключить и перезагрузить сервер — соглашаемся:
SELinux is enabled on your server. It is strongly recommended to disable SELinux before you proceed.
Would you like to disable SELinux right now (yes/no)?yes
Reboot is requred to complete the configuration of SELinux.
Reboot now (yes/no)?yes
* после перезагрузки нужно снова запустить установку командой sh install.sh ISPmanager.
0-2. Если серверу задано не доменное имя, установщик выдаст ошибку You have incorrect hostname и потребует ввести правильное имя — задаем любое доменное имя, желательно, зарегистрированное для данного сервера:
You have incorrect hostname: dmosk
Enter new hostname(or Ctrl+C to exit): dmosk.ru
1. Какую версию поставить (бета или стабильную) — выбираем стабильную (s):
Which version would you like to install ?
b) beta version - has the latest functionality
s) stable version - time-proved version
Choose repository type to work with: s
2. Какую версию поставить (Lite или Business) — выбираем ту, которую хотим купить или уже купили:
What version do you want to install
1) ISPmanager-Lite with recommended software
2) ISPmanager-Lite minimal version
3) ISPmanager-Business
Choose version: 1
Будут установлены все необходимые пакеты для работы панели управления.
После завершения установки открываем браузер и переходим по адресу https://<IP-адрес>:1500 — браузер выдаст ошибку сертификата, игнорируем ее, подтвердив намерение перейти на веб-страницу.
Если на сервере с внешним IP выполняется установка ISPmanager впервые, система потребует активировать программный продукт. В открывшемся окне в разделе «Для продолжения работы с ISPmanager Lite вы можете» выбираем Получить ознакомительную лицензию (также можем сразу активировать лицензию, если она у нас есть), вводим адрес электронной почты администратора, соглашаемся с политикой конфиденциальности и условиями использования сервиса:
Нажимаем Далее — необходимо будет ввести пароль для входа в ISPmanager (при необходимости, регистрируемся). После на адрес электронной почты придет письмо с временным ключом — вводим его для активации:
... и нажимаем Активировать — должна открыться страница ввода логина и пароля. Для входа нужно использовать системную учетную запись root. Обратите внимание, что на Ubuntu после установки пароль для root не задан — это необходимо сделать командой:
passwd root
При первом входе в панель управления необходимо принять лицензионное соглашение:
Можно пользоваться.
Лицензирование
Данный программный продукт является платным. Последние версии продукта продаются по программе подписки сроком на месяц, год. Старые версии ISPmanager также распространялись по принципу «вечной лицензии».
Лицензия привязывается к внешнему IP-адресу. Если наш сервер выставлен наружу, то активация произойдет автоматически.
Если у нас серый IP, то активацию продукта нужно выполнить вручную командой:
export ACTIVATION_KEY=<ключ_активации>
Посмотреть статус лицензирования можно в самой панели — Помощь - О программе:
Без ключа активации будет действовать ознакомительная лицензия на 14 дней.
Установка дополнительных пакетов
ISP Manager позволяет работать с некоторым набором программного обеспечения, но установку лучше делать из панели управления. Например, для развертывания СУБД PostgreSQL переходим в раздел Настройки - Возможности - выбираем необходимое программное обеспечение - кликаем по Установить:
... система задаст вопрос, точно ли мы хотим установить пакет — отвечаем утвердительно. Начнется процесс установки, который может занять некоторое время. После пакет появится в системе.
Также мы можем добавить дополнительную версию PHP. Переходим в Настройки - Возможности - кликаем по «Альтернативная версия PHP ...» (например, 5.6) - ставим галочки для PHP-FPM и Apache:
Нажимаем Применить изменения. Чтобы иметь возможность использовать PHP добавленной версии как модуль Apache, переходим в Настройки web-сервера - PHP. Один раз кликаем по нужной версии PHP и нажимаем на Как модуль Apache:
* имейте ввиду, что модулем apache может быть только одна версия PHP. Остальные будут работать как Apache + FastCGI.
Создание пользователя
Если мы планируем использовать ISPmanager для предоставления хостинговых услуг, для каждого клиента необходимо создать отдельного пользователя.
Переходим в раздел Учетные записи - Пользователи - кликаем по Создать:
В открывшемся окне заполняем поля.
1) раздел «Основное»:
* где логин — имя пользователя, под которым он сможет входить в панель управления ISPmanager; полное имя — описание для пользователя; шаблон — готовый набор настроек (настраиваются в разделе Настройки - Шаблоны, могут использоваться как разные тарифные планы); пароль — пароль для пользователя.
2) Ограничения. Заполняется, если мы не используем шаблон:
* где базы данных и пользователи баз данных — соответственно количество баз и sql-пользователей, которые сможет создать пользователь; FTP-пользователи — количество аккаунтов с доступом к серверу по FTP; www-домены — количество сайтов, которые разрешено разместить на хостинге пользователю; доменные имена — количество доменов, которыми может управлять пользователь в DNS; почтовые домены — количество доменов для почты; почтовые ящики — ограничение на количество создаваемых ящиков.
3) Также, если на используем шаблон, настраиваем доступы:
* где SSL — разрешено ли будет настраивать и использовать HTTPS для сайтов; CGI — возможность использования сайтов, написанных на соответствующих скриптах; PHP как модуль Apache — возможность выбрать и использовать PHP + Apache; PHP в режиме CGI — скрипты PHP будут выполняться аналогично скриптам CGI; PHP в режиме FastCGI (Apache) — PHP обрабатывается Apache + FastCGI (позволяет повысить производительность); доступ к shell — позволить пользователю подключаться к серверу по SSH или через веб shell-консоль.
4) значения по умолчанию, как и предыдущие пункты, настраивается в случае отсутствия шаблона:
* где кодировка домена принудительно устанавливает кодировку по умолчанию; тип обработчика PHP — с помощью чего по умолчанию будут обрабатываться PHP скрипты (пользователь может выбирать позже любой, который доступен исходя из настроек доступа); версия PHP — версия php, которая будет выбрана по умолчанию (пользователь сам сможет ее поменять, при необходимости); индексная страница — скрипт по умолчанию, который будет запускать при обращении к домену без указания конкретного скрипта.
Увеличить размер загружаемого файла
По умолчанию, размер загружаемого файла через формы FILE составляет 2 мб, что очень мало. Чтобы увеличить этот размер, необходимо воспользоваться командной строкой сервера.
Для начала, смотрим расположение файла php.ini командой:
php -i | grep "Loaded Configuration File"
Мы получим путь до файла, например:
Loaded Configuration File => /etc/php.ini
Открываем данный файл:
vi /etc/php.ini
И редактируем строки:
...
upload_max_filesize = 256M
...
post_max_size = 256M
...
* где upload_max_filesize — максимальный размер одного загружаемого файла; post_max_size — максимальный размер всех загружаемых. В данном примере мы разрешаем загрузку файлов, размером 256 Мб.
Также, для каждого дополнительно установленной версии php нужно выполнить такие же настройки. Их расположение — каталог /opt/phpXX, где XX - версия, например:
vi /opt/php56/etc/php.ini
Для сайтов, которые работают через FastCGI также нужно настроить параметр MaxRequestLen. Для этого открываем файл...
а) ... для Ubuntu:
nano /etc/apache2/mods-enabled/fcgid.conf
б) ... для CentOS:
vi /etc/httpd/conf.d/fcgid.conf
И добавляем или редактируем строку:
MaxRequestLen 268435456
* в данном примере разрешена передача объема в 256 Мб.
После внесения настроек во все файлы php.ini, перезапускаем сервер apache:
systemctl restart httpd
Если это не дало нужного эффекта, проверяем настройки для конкретного пользователя в панели ispmanager.
Заходим под конкретным пользователем и переходим в раздел PHP - выбираем нужную версию php, которая используется для сайта и нажимаем Настройка:
Переходим в раздел Основные:
Меняем значения для настроек Макс. размер запроса и Макс. размер файлов:
Нажимаем OK и проверяем загрузку.
Свой сертификат для панели управления
После установки ISPmanager создается самоподписный сертификат, при чтении которого любой браузер выдает ошибку. Для предоставления хостинговых услуг стоит заменить сертификат правильным, купленным у доверенного центра сертификации. Есть два метода, как это можно сделать: заменить сертификаты, которые создавались при установки или прописать в конфиге сервера ihttpd пути к своим файлам.
а) Способ 1. Заменить сертификаты.
Переходим в каталог:
cd /usr/local/mgr5/etc/
Создаем копию имеющихся сертификатов:
cp manager.* /tmp/
Заменяем файлы manager.crt (ключ открытого сертификата) и manager.key (закрытый сертификат) на свои.
б) Способ 2. Добавить в конфигурационный файл свой путь до сертификатов.
Открываем конфигурационный файл ihttpd:
vi /usr/local/mgr5/etc/ihttpd.conf
Находим настройку, на подобие:
listen {
ip xxx.xxx.xxx.xxx
redirect
}
* где xxx.xxx.xxx.xxx — IP-адрес, на котором слушаем ISPmanager.
... и приведем ее к виду:
listen {
ip xxx.xxx.xxx.xxx
cert /etc/letsencrypt/live/dmosk.ru/cert.pem
certkey /etc/letsencrypt/live/dmosk.ru/privkey.pem
redirect
}
* где cert — путь до сертификата с открытым ключом; certkey — путь до закрытого сертификата в нашей системе.
После изменений перезапускаем сервис ihttpd:
systemctl restart ihttpd
Ручная установка PHP расширений
Расширение php в ISPmanager проще всего установить в веб-интерфейсе, просто выбрав нужное и кликнув по кнопке установки. Но такое расширение берется из репозитория разработчика и нет никакой гарантии, что оно будет нужной версии.
Рассмотрим установку на примере расширения imagick. Предположим, что нам нужно это сделать для PHP версии 8.1. Так как наши пути будут зависеть от данной версии, зададим системную переменную для удобства работы:
export PHP_VER=81
* каталоги в ispmanager создаются без точки в версии, поэтому переменная будет, именно, с таким значением.
Создадим каталог для исходника, в которой будем работать и перейдем в него:
mkdir -p /usr/src/imagick
cd /usr/src/imagick
Скачаем исходника для расширения:
git clone https://github.com/Imagick/imagick
Необходимо иметь в виду, что способы загрузки исходников для разных расширений будут отличаться. Наши действия должны зависеть от того, что указано в документации самого расширения.
Переходим в загруженный каталог:
cd imagick
Компилируем расширение с помощью phpize, расположенной в каталоге нужной PHP:
/opt/php${PHP_VER}/bin/phpize
* в нашем примере мы используем ранее созданную переменную, которая ведет к каталогу php версии 8.1.
Выполним конфигурирование исходника:
./configure --with-php-config=/opt/php${PHP_VER}/bin/php-config
Теперь сборку:
make
И установку:
make install
Необходимо убедиться, что в каталоге с расширениями для нужно версии PHP создан файл, в котором указан файл so. Для нашего примере это будет:
vi /opt/php${PHP_VER}/etc/php.d/20-imagick.ini
extension=imagick.so