Каталог CMS
В панели ispmanager доступно управление веб-скриптами на базе Ansible. Администратор может использовать встроенные веб-скрипты популярных CMS или загружать свои. Это позволяет централизованно настраивать доступные решения, помогая пользователям легко загружать CMS на сайты и значительно ускорять рабочие процессы.
Требования для работы с веб-скриптами
Для управления веб-скриптами у вас должны быть:
- установлен любой веб-сервер
установлен Ansible
Если Ansible не установленЧтобы установить Ansible:
- Авторизуйтесь в ispmanager под учетной записью с правами суперпользователя.
- Перейдите в раздел Конфигурация ПО.
- В списке выберите Ansible (установка веб-скриптов).
- На панели инструментов нажмите
. - Подтвердите установку Ansible.
Дождитесь окончания установки.

При успешной установке Ansible автоматически активируется.
Встроенные CMS
В ispmanager уже добавлены последние версии популярных веб-скриптов:
Используйте действия на панели инструментов, чтобы управлять доступами пользователей к CMS.
Если в списке нет нужной CMS, добавьте её вручную.
Действия с веб-скриптами
| Кнопка | Описание |
|---|---|
| Обновление списка. Если в списке приложений есть не закешированные APS-скрипты (без | |
| Управление версиями веб-скрипта | |
| Использование веб-скрипта разрешено для пользователей | |
| Использование веб-скрипта отключено для пользователей | |
| Список всех CMS |
Добавление CMS
Панель ispmanager поддерживает добавление собственных веб-скриптов на базе Ansible.
Создайте репозиторий, доступный по HTTPS и содержащий meta-описание
webscripts.xml. Например, на GitHub.Пример webscripts.xml<doc> <webscript type="ansible" name="Bitrix"> <settings> <filename>bitrix.tgz</filename> <playbook>playbook.yml</playbook> </settings> <mgr> <minimal_version>6.0.0</minimal_version> </mgr> <required> <php version="7.2" max_version="7.4"> <extensions> <extension name="gd"/> <extension name="exif"/> </extensions> <modes> <mode name="php_mode_cgi"/> </modes> </php> <database type="mysql" version="5.6"/> </required> </webscript> </doc>type— атрибут с внутренним именем скриптаname— атрибут с именем скрипта в интерфейсе панели<filename>— элемент с именем архива в каталоге. Панель скачает и распакует его при установке<playbook>— элемент с именем файлаplaybook.yml, который будет выполнен<minimal_version>— элемент с минимальной версией ispmanager, нужной скрипту<required>— секция с требованиями к окружению:<php>— элемент с версией PHP. Версии учитываются междуversionиmax_version<extensions>— элементы с расширениями PHP<modes>— элемент с режимом обработки PHP. Например, CGI
<database>— элемент с базой данных типомtype, с версией сервера не нижеversionsql-mode— атрибут с режимами mysql, которые включаются для сервера баз данныхrestricted="yes"— атрибут с режимами, которые не будут использоваться для скрипта
Создайте архивы скриптов. Каждый архив должен содержать
ansible playbook.ymlи все нужные вспомогательные файлы. При необходимости используйте каталог скриптов ispmanager.Пример ansible playbook.yml- hosts: 127.0.0.1 tasks: - name: Create a install directory if it does not exist file: path: "{{ install_path }}" state: directory owner: "{{ user_name }}" group: "{{ user_name }}" mode: "0755" recurse: yes - name: Download bitrix get_url: url: "http://www.1c-bitrix.ru/download/standard_encode.tar.gz" dest: "{{ install_path }}/standard_encode.tar.gz" mode: "644" timeout: 1800 owner: "{{ user_name }}" group: "{{ user_name }}" - name: Unpack bitrix archive unarchive: src: "{{ install_path }}/standard_encode.tar.gz" dest: "{{ install_path }}" remote_src: yes owner: "{{ user_name }}" group: "{{ user_name }}" - name: Set the permissions on Bitrix directories command: find {{ install_path }} -type d -exec chmod 755 {} \; - name: Set the permissions for Bitrix files command: find {{ install_path }} -type f -exec chmod 644 {} \; - name: Create a directory if it does not exist file: path: "{{ install_path }}/bitrix/php_interface" state: directory owner: "{{ user_name }}" group: "{{ user_name }}" mode: "0755" - name: copy dbconn.php template: src: templates/dbconn.php.j2 dest: "{{ install_path }}/bitrix/php_interface/dbconn.php" owner: "{{ user_name }}" group: "{{ user_name }}" mode: 0644 - name: copy .settings.php template: src: templates/.settings.php.j2 dest: "{{ install_path }}/bitrix/.settings.php" owner: "{{ user_name }}" group: "{{ user_name }}" mode: 0644 - name: copy after_connect_d7.php template: src: templates/after_connect_d7.php.j2 dest: "{{ install_path }}/bitrix/php_interface/after_connect_d7.php" owner: "{{ user_name }}" group: "{{ user_name }}" mode: 0644 - name: copy after_connect.php template: src: templates/after_connect.php.j2 dest: "{{ install_path }}/bitrix/php_interface/after_connect.php" owner: "{{ user_name }}" group: "{{ user_name }}" mode: 0644 - name: Delete archive file: path: "{{ install_path }}/standard_encode.tar.gz" state: absentPlaybook запускается при установке скрипта для сайта.
Список параметров, которые передаются в скрипт:
user_name— имя пользователяinstall_path— путь установки скриптаdb_name— имя базы данныхdb_user_name— имя пользователя базы данныхdb_password— пароль пользователя базы данныхdb_server— IP-адрес и порт подключения к базе данныхsite_name— доменное имя сайтаsite_docroot— корень сайтаsite_php— активирован/деактивирован PHPsite_php_mode— режим работы PHPsite_ssi— активирован/деактивирован SSIsite_hsts— активирован/деактивирован HSTSsite_nodejs— активирован/деактивирован Node.jssite_secure— активирован/деактивирован SSLsite_ssl_cert— путь к SSL-сертификатуsite_email— почта администратораsite_basedir— активирован/деактивирован open_basedirsite_charset— кодировка сайтаСреди параметров с префиксом
site_есть все поля из таблицыwebdomainдиректории/usr/local/mgr5/etc/ispmgr.db.
- Дополните
webscripts.xmlсоответствующими записями и приложите архив скрипта. В конфигурационном файле
/usr/local/mgr5/etc/ispmgr.confдобавьте строку:WebscriptsRepoUrl https://example.com/repo/webscripts.xmlПодробнее- WebscriptsRepoUrl — параметр, который принимает URL к внешнему HTTPS репозиторию с веб-скриптом
- https://example.com/repo/webscripts.xml — полный адрес к репозиторию с веб-скриптом
Панель работает только с одним репозиторием. При добавлении параметра WebscriptsRepoUrl она использует только указанный URL. Для добавления нескольких скриптов поместите их в тот же репозиторий
webscripts.xml.- Нажмите Сохранить.
- Подключитесь к серверу с панелью ispmanager по SSH.
Перезагрузите панель командой:
/usr/local/mgr5/sbin/mgrctl -m ispmgr exit
Скрипты, указанные в webscripts.xml, появятся в разделе Веб-скрипты. Если они не отображаются, обновите список.
Технические подробности
Скрипты выполняются в фоновом режиме. После завершения процесса пользователь видит уведомление в панели.
/usr/local/mgr5/sbin/webscripts— обработчик выполнения скриптов/usr/local/mgr5/var/webscripts.log— журнал обработчика/usr/local/mgr5/var/.webscripts/— директория, в которую скачивается скриптwebscript— имя таблицы с описаниями скриптов