Как Я Уговорил Билла И Ispmanager Lite 5 Сменить Оперативную Память На Общем Хостинге

До недавнего времени я создавал сайты и плагины на WordPress, арендуя виртуальный хостинг у провайдеров.

Панель ISP я давно выделил за ее удобство и практичность.

Так получилось, что я все время работал на Windows, поэтому Linux для меня — темный лес с дикими животными.

Со временем сайты «разрослись» и стали более требовательными, по крайней мере, к дисковому пространству, а иногда и к оперативной памяти.

Пару месяцев назад по каким-то причинам я решил арендовать виртуальный сервер на Linux и самостоятельно установить туда ISP и BILL для создания и управления сервисами.

Повозившись несколько часов с документацией и SSH-консолью, я запустил свой первый сервер на CentOS. За неделю я узнал: почему gmail.ru и mail.ru не хотят принимать письма с моего хостинга, как установить ограничения на дисковое пространство, управлять настройками php для каждого виртуального хостинга и что БИЛЛ, имеющий в своем арсенале возможность докупить дополнительные параметры, в том числе пункт «ОЗУ», установить его фактически невозможно.



Как я уговорил БИЛЛА и ISPmanager Lite 5 сменить оперативную память на общем хостинге

И дело здесь не в самом БИЛЛЕ, а в ISP Lite - как мне ответила техподдержка ISP System:

Настройки модуля «ОЗУ» в биллинге влияют на объём оперативной памяти, выделяемой пользователю в ISPmanager. Но вы используете ISPmanager Lite, у которого нет ограничений по оперативной памяти.

Ограничение на оперативную память есть только в ISPmanager Business.

Грусть.

Проведя час-два в Google, я не нашел ничего полезного или бесплатного.

В свою очередь, есть только возможность изменить параметр вручную: 1. Изменив файл php.ini в папке пользователя:

Как я уговорил БИЛЛА и ISPmanager Lite 5 сменить оперативную память на общем хостинге

2. Откройте для клиента возможность самостоятельного изменения параметров PHP в ISPmanager, что по сути меняет тот же файл php.ini и причём на усмотрение клиента:

Как я уговорил БИЛЛА и ISPmanager Lite 5 сменить оперативную память на общем хостинге

Эти методы «убили» всю автоматизацию покупки и обслуживания хостинга.

В общем, это «безайс».

Поскольку у меня теперь есть свой сервер, у меня есть возможность «залезть» в программу, перехватить событие и переписать в файлах заветный элемент Memory_limit на нужное значение.

Альфа-решение Прежде всего, был простой план: найти установленные данные для каждого пользователя в базе данных Bill и переписать их в файлах php.ini с помощью простого PHP-скрипта.

И запустите сам PHP через CRON. Но вспомнив ситуации, когда вложенных 128 МБ на сайт было недостаточно, я понял следующее: эти случаи происходили случайно и требовали практически мгновенного решения.

Заставлять CRON запускать этот скрипт каждые 5 минут — очень невежественное решение проблемы, которая простаивает 99% времени.

Бета-решение Я начал искать способ прикрепить скрипт на событие смены дополнительных услуг виртуального хостинга.

Мучения только начались, так как документация на сайте ISPsystem вообще не обновляется, как признаются на собственном форуме сами администраторы и модераторы.

Погуглив, я нашел способ создать обработчик событий на PHP — это просто волшебно! Ну, по крайней мере для меня, поскольку 90% моего рабочего времени уходит на написание скриптов на этом языке.

Была поставлена цель, чтобы скрипт выполнялся сразу после изменения клиентом дополнительных сервисов в панели BILL и записи значения лимита в файл php.ini для текущего виртуального хостинга.

Вся работа проводилась «наугад, методом проб и ошибок».

В результате был найден достаточно рабочий способ изменения значений в INI-файле во время обновления дополнительных услуг виртуального хостинга в BILLmanager. В документации это событие называется «vhost.edit», оно происходит при открытии настроек хостинга и сразу после нажатия кнопки «ОК».

Скрипт по событию отработал и с задачей справился, но вот что я не понял, так это папки php-bin и прикрепленный к ним файл php.ini. А именно: сначала эти папки располагались и по ходу дела работали отлично /var/www/{user}/data/php-bin/ , но через некоторое время после моего "издевательства" над провайдером и сервером в целом, они поменяли локацию на /var/www/php-bin/{пользователь}/ .

Судя по Google и упомянутой выше недокументации от провайдера, для этого есть вариант ОтключитьSecurePhpBin , но это не имело никакого эффекта.

В результате я добавил в свой плагин поиск файла php.ini в обоих местах, а также поиск файла с именем /var/www/{user}/data/php-bin/.

php.ini (с точкой в начале).

То, что должно быть сделано Не буду вдаваться в длинное описание, просто приведу готовую инструкцию по использованию моего мини-плагина для BILLmanager 5: 1. Вам необходимо создать 2 файла с root-правами и следующего содержания: 1.1. /usr/local/mgr5/etc/xml/billmgr_mod_hiweb_vhostram.xml

  
   

<Эxml version="1.0" encoding="UTF-8"?> <mgrdata> <handler name="hiweb_vhostram.php" type="cgi"> <event name="vhost.edit" after="yes"/> </handler> </mgrdata>

1.2. /usr/local/mgr5/addon/hiweb_vhostram.php

#!/usr/bin/php <Эphp

Теги: #Хостинг #Администрирование сервера #Apache #ISP #apache2 #управление памятью #cgi #limit #limit #memory #billmanager #ipsmanager
Вместе с данным постом часто просматривают: