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

Обновлено Обновлено: Опубликовано Опубликовано:

Панель управления хостингом ISPmanager может быть установлена на компьютер с Linux с помощью установочного скрипта. В данной статье мы разберем это на практике.

Выбор дистрибутива Linux

Необходимо учитывать системные требования ISPmanager к конкретному дистрибутиву Linux. Например, версия Business не будет работать на Ubuntu и Debian 9 (рекомендуется использование CentOS), тогда как у версии Lite ряд возможных дистрибутивов шире. Внимательно изучаем системные требования в официальной документации и на основе них ставим нужный Linux.

Подготовка сервера

Стоит обратить внимание, что для корректной работы необходима чистая система — без установленных и настроенных программ, а также без подключенных дополнительных репозиториев.

Также, для ISPmanager рекомендуется отключить SELinux. Проверить, работает ли в нашей системе последний можно командой:

getenforce

Если получим ошибку или Disabled, то SELinux не запущен. В противном случае, вводим команду:

sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

... и перезагружаем сервер:

shutdown -r now

Установка

Для установки необходимо скачать скрипт утилитой wget. Ставим ее.

а) если CentOS / Red Hat:

yum install wget

б) если Ubuntu / Debian:

apt update

apt install wget

Скачиваем скрипт установки ISPmanager:

wget https://download.ispmanager.com/install.sh -O install.sh

Запускаем установку:

sh install.sh

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

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 вы можете» выбираем Получить ознакомительную лицензию (также можем сразу активировать лицензию, если она у нас есть), вводим адрес электронной почты администратора, соглашаемся с политикой конфиденциальности и условиями использования сервиса: 

Получаем ознакомительную версию ISPmanger

Нажимаем Далее — необходимо будет ввести пароль для входа в ISPmanager (при необходимости, регистрируемся). После на адрес электронной почты придет письмо с временным ключом — вводим его для активации:

Получаем ознакомительную версию ISPmanger

... и нажимаем Активировать — должна открыться страница ввода логина и пароля. Для входа нужно использовать системную учетную запись root. Обратите внимание, что на Ubuntu после установки пароль для root не задан — это необходимо сделать командой:

passwd root

При первом входе в панель управления необходимо принять лицензионное соглашение:

Принимаем лицензионное соглашение в ISPManager

Можно пользоваться.

Лицензирование

Данный программный продукт является платным. Последние версии продукта продаются по программе подписки сроком на месяц, год. Старые версии ISPmanager также распространялись по принципу «вечной лицензии».

Лицензия привязывается к внешнему IP-адресу. Если наш сервер выставлен наружу, то активация произойдет автоматически.

Если у нас серый IP, то активацию продукта нужно выполнить вручную командой:

export ACTIVATION_KEY=<ключ_активации>

Посмотреть статус лицензирования можно в самой панели — Помощь - О программе:

Посмотреть статус лицензирования в ISPManager

Без ключа активации будет действовать ознакомительная лицензия на 14 дней.

Установка дополнительных пакетов

ISP Manager позволяет работать с некоторым набором программного обеспечения, но установку лучше делать из панели управления. Например, для развертывания СУБД PostgreSQL переходим в раздел Настройки - Возможности - выбираем необходимое программное обеспечение - кликаем по Установить:

Установка поддержки PostgreSQL в ISPmanager

... система задаст вопрос, точно ли мы хотим установить пакет — отвечаем утвердительно. Начнется процесс установки, который может занять некоторое время. После пакет появится в системе.

Также мы можем добавить дополнительную версию PHP. Переходим в Настройки - Возможности - кликаем по «Альтернативная версия PHP ...» (например, 5.6) - ставим галочки для PHP-FPM и Apache:

Установка дополнительно версии php в ISPmanager

Нажимаем Применить изменения. Чтобы иметь возможность использовать PHP добавленной версии как модуль Apache, переходим в Настройки web-сервера - PHP. Один раз кликаем по нужной версии PHP и нажимаем на Как модуль Apache:

Разрешаем версию 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, которая используется для сайта и нажимаем Настройка:

Переходим к настройкам 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

# CentOS # Ubuntu # Серверы # Управление
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет