Кэш оперкода php glpi
Система инвентаризации на стабильном релизе Ubuntu
В прошлой заметке я показал, как установить систему инвентаризации GLPI на Ubuntu 12.04.5 Server с использованием репозитариев и граблей с которыми мне пришлось столкнуться, по многим сообщениям на моем блоге и в личку данная заметка не заработала у тех кто решил применить ее на Ubuntu 14.04.3 оно и понятно, ведь я же специально акцентрирую внимание на то с какой осью все было завязно и все шаги именно под нее. Этой же заметкой я хочу показать как развернуть самую последнюю версию агента fusioninventory на glpi применительно к редакции Trusty.
Первым делом как всегда обновляю систему до актуального состояния по пакетам текущего релиза который я использую на рабочем месте.
После устанавливаю утилиту cntlm для настройки работы системы с прокси сервером использующимся в компании:
(Любым способом передаю (к примеру через scp) на эту систему ниже указанный пакет по ссылке где утилита cntlm уже установлена и проблем с выходом в интернет не наблюдается)
wget http://mirrors.kernel.org/ubuntu/pool/universe/c/cntlm/cntlm_0.92.3-1ubuntu1_amd64.deb
Далее поднимаю связку Web- сервера: Apache 2 + MySQL + PHP
$ sudo tasksel install lamp-server
New password for the MySQL «root» user: 712mbddr@
Repeat password for the MySQL «root» user: 712mbddr@
$ apt-cache show glpi | grep Version
После доустанавливаю необходимые пакеты для расширенного функционала:
Далее согласно рекомендация нужно в файл конфигурации php.ini внести следующие поправки:
$ sudo nano /etc/php5/apache2/php.ini
$ sudo service apache2 restart
Cкачиваю агент fusioninventory:
Распаковываю его и перемещаю в каталог /usr/share/glpi/plugin/fusioninventory/
После чего переходу в централизованное управление сервером glpi и активирую данный агент GLPI
Меняю язык интерфейса с English на привычный русский
После перехожу в меню Настройки — “Дополнения” чтобы активировать агент и обнаруживаю, что данный агент не поддерживается моей версией GLPI и даже указывается подсказка что обычно большая редкость какая версия агента fusioninventory мне нужна:
Удаляю каталог fusioninventory распакованный ранее и скачиваю совместимую версию:
После перехожу на страницу GLPI и нажимаю F5 для обновления результатов на той же страницы про “Дополнения”:
Отлично данная версия подошла, даже есть возможность обновиться чем конечно же пользуюсь нажатием кнопки “Обновить”
Clean rules from old installation of the plugin (0 секунд)
А после нажимаю “Включить” для активации агента в итоге должно получиться так:
Далее по аналогии с заметкой где разворачивал для Ubuntu 12.04.5 Server amd64 активирую агенты:
При переходе: Дополнения – FusionInventory натыкаюсь на сообщение:
Сервер должен знать какие URL агенты используются для доступа к нему. Пожалуйста, настроить это на странице Общие настройки.
Это значит что нужно создать организацию где будут обозначены заведенные системы:
Администрирование – Организации
После на вкладке FusionInventory необходимо указать URL для агента:
Теперь переход на Дополнения – FusionInventory уже не жалуется предупреждающими сообщениями.
Далее создаю диапазон IP адрес организации: firma, 10.7.8.1 – 10.7.8.254
Теперь задействую свой скрипт (bat файл) для добавления системы в развернутую систему инвентаризации GLPI, скрипт успешно отработал и система GLPI радует снимаемыми показаниями
Как видите работает, так что те кто по каким-либо причинам не смог завести такой продукт, как GLPI и агент по сбору информации с компьютеров могут еще раз попробовать и приобщиться к тем кто уже работает с этим продуктом, для начинающе системного администратора и не только это будет хорошей палочкой выручалочкой в предоставлении актуальной информации по парку компьютеров и их характеристик с целью обоснования последующего апгрейда и выбивания денег на комплектующие. На этом все, до встречи с уважением автор блога – ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Используем OPCache для повышения производительности PHP на веб сервере
Zend Opcache – это расширение PHP, предназначенное для повышения производительности PHP, сокращения времени загрузки веб-страниц и уменьшения нагрузки на сервере.
Производительность достигается путем компиляции кода PHP файлов при первом обращении к ним. В результате при следующем доступе сервер не тратит ресурсы на повторное чтение и компиляцию php файла, а отдает готовый результат из кэша opcache. Т.е. opcache дает хорошие результаты для cms/файлов php скриптов, код которых редко изменяется.
В данной статье мы рассмотрим установку расширения OPcache, его настройку и использование с веб-сервером apache на примере Linux CentOS.
Установка расширения OPcache
Перед установкой самого расширения, нужно подключить репозитории EPEL и remi, а затем обновить пакеты на сервере с помощью yum (dnf):
Теперь можно установить opcahce для php:
На этом установка расширения OPcache завершена.
Настройка параметров OPcache в конфигурационном файле
Конфигурационный файл OPCache находится в директории /etc/php.d. Откройте его и очистите от стандартных записей:
Добавьте следующие универсальные настройки, которые подходят для большинства php проектов:
После сохранения файла php.d перезапустите веб-сервера. В моем случае это apache:
# service httpd restart
Проверьт, что модуль Zend OPcache Engine подключён:
Модуль успешно подключен. Рассмотрим опции, которые мы исопльзовали в конфигурационном файле:
Более детальную настройку можно выполнить согласно официальной документации по OPcache.
Сравнение производительности популярных CMS при использовании OPcache
Использование OPcache на сервере обеспечит экономию ресурсов и сократит время загрузки страниц сайта, но есть и другие факторы по которым важно использовать данное расширение:
В работе с различными CMS, мы заметили, что почти с любым сайтом, можно добиться хорошего результата в производительности: Использование памяти и время загрузки популярных CMS сокращается в 2-3 раза.
А если речь идет о CMS Bitrix, то ее разработчики настоятельно рекомендуют подключение данного расширения и при замерах производительности, тест сразу показывает, подключен у вас OPcache или нет.
Экспериментируйте с настройками Opcache, уменьшая или увеличивая различные параметры, выполните тонкую настройку для своего сайта исходя из ресурсов сервера, тем самым вы добьетесь отличных результатов в производительности. Модуль Opcache также можно использовать в связке NGINX + PHP-FPM.
GLPI в небольшой организации, часть 1. Типичное развертывание и подводные камни
Прежде чем написать свою первую публикацию на Хабре, я долго думал о тематике статьи, хотел прорыва и полного освещения вопроса статьи. Однако столкнувшись в очередной раз с вопросами коллег по GLPI, решил осветить «типичное» развертывание этой системы в рамках инфраструктуры предприятия на 250 человек и указать широкому кругу читателей Хабра на некоторые подводные камни.
Предположительно, это будет первая из цикла статей по GLPI, и если тема окажется нужной, я с радостью продолжу этот цикл.
Впервые я столкнулся с GLPI в самом начале своей работы в сфере системного администрирования. Система досталась в наследство от моего коллеги и предшественника. Единственной функцией, которую выполняла эта система в организации, было статическое хранение информации о компьютерах, используемых на предприятии. Всё.
Именно для этих целей был собран небольшой сервер, на него была установлена по шагам на основании руководства последняя и стабильная на 2011 год Ubuntu Linux, где и разместился комплекс GLPI, включающий в себя MYSQL-сервер с базой данных (БД) GLPI, веб-сервер Apache с PHP5 и саму GLPI.
Итак, прежде чем приступить к установке, мы должны задать себе минимум три вопроса:
1. Какую выгоду принесет GLPI нашей организации?
2. В каком качестве мы хотим использовать эту систему?
3. Сможем ли мы сопровождать и поддерживать эту систему?
В случае, рассказанном выше, ответов на эти три вопроса не было.
Сейчас GLPI это не просто «Свободный менеджер парка компьютерной техники», как когда-то, а комбайн, способный помочь Вам в управлении IT-инфраструктурой, в техподдержке пользователей, в планировании бюджета, в управлении отделом и во многом другом. Возможности GLPI значительно расширяют дополнения, которые просты в использовании и имеют богатый функционал.
Разворачивая GLPI на предприятии, я всегда задаю себе указанные выше вопросы и, как мне кажется, составил типичную картину развертывания GLPI.
1.
— GLPI поможет в проведении инвентаризации парка оргтехники, позволив обнаружить, систематизировать и заменить устаревшее компьютерное оборудование, а значит повысить производительность труда;
— GLPI позволит систематизировать, группировать, приоритезировать и отслеживать состояние заявок в техническую поддержку, тем самым ускорить выполнение важных и приоритетных заявок, что приведет к повышению производительности труда.
2.
— GLPI будет использоваться своей привычной роли «менеджер парка компьютерной техники»;
— GLPI возьмет на себя роль системы технической поддержки пользователей;
— GLPI поможет в управлении IT-отделом (бюджет, поставщики оборудования, поставщики услуг и др.)
3.
— На предприятии уже используется некоторое количество развернутых на GNU/Linux систем (Zabbix, Openfire, внутренний веб-сайт, сервер БД MYSQL для вышеуказанных систем), и добавление одного сервера кардинально не усложнит инфраструктуру.
Если у Вас нет систем, развернутых на Unix-подобных ОС, стоит получить необходимые знания на уровне базового администрирования.
Работая с Unix-подобными ОС несколько лет, я смело могу заявить, что для GLPI надежность Debian GNU/Linux достаточная, чтобы не беспокоится о полной работоспособности GLPI на протяжении многих лет. Но не стоит забывать о критических обновлениях и обновлениях безопасности, и регулярно делать резервное копирование.
Ниже я представлю, по моему скромному мнению, базовую конфигурацию систем и дополнения для типичного развертывания GLPI.
Во-первых, перед подготовкой к установке мы должны всё спланировать и определиться с версией нужной нам GLPI и дополнений к ней, чтобы вся инфраструктура была совместима с GLPI.
Во-вторых, нам потребуется две виртуальных машины (ВМ) с Debian GNU/Linux. Одна для БД MYSQL, вторая для GLPI.
Я предпочитаю выделять роли серверов с БД MYSQL в связи с особенностями работы сервера MYSQL и по некоторым другим причинам, например, он может нам пригодиться для размещения БД других проектов, таких как Zabbix. При использовании такой конфигурации, очень удобно управлять БД MYSQL с помощью PHPMyAdmin, советую установить этот веб-интерфейс.
Первый подводный камень: не забудьте открыть возможность подключения к серверу БД MYSQL с других хостов. Делается это довольно просто. Нужно поправить файл /etc/mysql/my.cnf
Для разрешения прослушивания всех адресов достаточно закомментировать строчку
bind-address=127.0.0.1
Дополнительную информацию вы можете найти тут.
ВМ с БД MYSQL нужно конфигурировать, учитывая, что это сервер БД, где будут расти размеры и количество БД, а ВМ с GLPI — учитывая, что это веб-сервер, где предполагается рост размера папок GLPI. Обе ВМ потребуют установку веб-сервера Apache и PHP5.
Напомню, что на ВМ с БД MYSQL нам нужно будет дополнительно установить PHPMyAdmin для удобного управления базами данных MYSQL. В Интернете огромное количество пошаговых и полных руководств по установке таких систем, найти их не проблема, и это тема отдельной статьи.
Также не забудьте установить на сервер, предназначенный для GLPI, клиента mysql (mysqlclient), он пригодится для взаимодействия с сервером БД.
В-третьих, я советую устанавливать GLPI не из репозиториев, а с сайта GLPI, поскольку это позволит провести чистую установку, без «паровоза» из ненужных зависимостей и программ. Кроме того, на сайте всегда можно найти самую свежую версию GLPI, или выбрать что-то из старых релизов.
Второй подводный камень: при таком типе установке нужно не забыть выдать права для веб-сервера (www-data) на папку с распакованным GLPI, удобнее всего это сделать с помощью утилиты chown, входящей в состав Debian GNU/Linux.
Также надо не забыть поправить файлы конфигураций Apache2, создав в папке /etc/apache2/sites-available файл, например glpi.conf. Проще сделать это копированием конфигурации по умолчанию — файла 000-default.conf
Поправим в новом файле параметры ServerName, ServerAlias и DocumentRoot, указав имя сайта, псевдоним и место расположения распакованного GLPI. Удобно указать короткий адрес, например «tp» или «glpi».
Добавим новый сайт командой: a2ensite glpi.conf после этого нужно перезапустить Apache.
До полноценного запуска GLPI я не советую удалять файл конфигурации по умолчанию и выключать сайт по умолчанию, он может пригодиться для более удобного просмотра и корректировки параметров PHP в дальнейшем.
В четвертых, осталось на сервере создать БД и пользователя для GLPI и выдать ему права, для этого удобно воспользоваться PHPMyAdmin.
Итак, БД создана, пользователь получил административные права на базу.
Третий подводный камень: для полноценной работы GLPI нужно поправить файл в */glpi/config/config_db.php
Нужно заполнить все поля, указав адрес сервера с БД MYSQL, имя базы, имя пользователя и пароль. Последний штрих — нужно разметить БД для использования GLPI. Именно для этой процедуры нам пригодится клиент mysql. Выполним команду, залив дамп в новую базу:
Кэш оперкода php glpi
надо мне обновить страничку, т.е. данные изменились (не мной)
я жму f5, получаю в адресной строке километровую урлу и сообщение про «действие недоступно»
убираю из урлы все до корня глпи
получаю запрос логина/пароля
меня это несколько задрало уже
я в интерфейс зашел 5 минут назад. с вводом логина и пароля. так что протухание сессии тут не вариант
У меня такое не воспроизводится. Или бывает редко.
Много пользователей подключаются?
мы вчетвером пользуемся системой
У меня тоже такого не наблюдается, щас буду в офисе посмотрю
У меня тоже раньше действие недоступно вылетало часто. Но после увеличения памяти php и кэша, практически не разу не встречал
в самом глпи 64 памяти
в пхп при этом настройка 128
Вообщем это не память пхп)
где-то еще надо крутить настройки?
Я тоже долго думал что это память php)
еще мне рекомендует APCu поставить
так какие ручки крутить?
Сейчас подойду к компьютеру)
opcache.ini в glpi как раз отображается)
А на счет apcu я вообще не очень понимаю. Он по идее использует либо Opcache либо apcu
если я не ошибаюсь
но при этом рекомендует его ставить
Но в реалиях не использует, как это по идее и предпологалось
увеличил до 128. сразу сругался на кэш хит =)
но подождем заполнения
поставил APCu, но что-то жиденько там с с цифрами =)
1% памяти и 0% коэффициент
ему jgr’if gj bltt [dfnftn
Ему опкэша по идее хватает
понаблюдаю и удалю видимо
Ну он в принципе не мешает. Плюс он не забивает статикой 256 метров (APCu)
у меня конечно не эмбеддовка, но нафиг нужна сущность, которая нифига не делает?
В тему про отставание времени
Реально смена в php помоглаю Спасибо)
Но только без уведомлений
И фьженном по приятнее собирать, сразу скажу )
Про отчёты кстати тоже было интересно, было бы приятным дополнением
А ещё поставь плагин morereport
Особенно если бы можно было ставить именно на изменение определенное оборудования ( что бы исключить флешки и тд)
Отчёты которые на разные темы формирует?
Т9) я поправил ) надеюсь поймёшь о чем я )
Я не могу завести у себя,
А в fusion inventory есть возможность удалять ПО с подопечных компьютеров?
если оно аналог ocs-inventory-ng, то можно выполнять команды на компах. например uninstall с параметрами
но это не для всех программ наверное подойдет
и я хз можно ли выполнять команды на компах через FI
а вот установкой софта и раскидыванием файлов, запуском скриптов на компах я через ocs занимался. работает
но это уже не совсем про глпи =)
В fi так же можно ставить софт
ну тогда возможно и удалять тоже можно. или через родной анинсталлер, или ручками все файлы и записи реестра =)
Тоже видел подобный пункт, но пока не юзал.
это если про винду речь. на линуксах все просто с этим, да
ну направление задали. удачи =)
Я думаю лучше отрепортить на гит
Спустя 2 года перешли на Fusion
Намного стабильней синхранизация
В отличии от ocs, данные сразу льются в glpi
Это самый главный плюс
Fi выбрал тоже с начала тестировал ocs
Вообщем по поводу логов. Нашел я фильтр, спамил. И обнаружил, что это не самое страшное, в этих логах еще спамил плагин отчет! Я как понял, это связанно с локализацией. Так, что у кого стоит плагин отчет, посмотрите, может тоже логи растут.
Да. Fi очень приятный. Плюс общий веб интерфейс для всех настроек, и еще и инвентаризация оборудования по SNMP, с автоматической привязкой к компьютерам. Просто огонь
Единственное с фильтрами на ПО, надо прям поебаться. В этом плани у OCS плюс, он добавляет только то ПО, которое вы упакуете в группы. А Fusion сразу все ПО льет, и будут у вас дублироваться офис тысячями, и различные неро сотнями. Обновления frameworka и KBшечки. То есть во фьжене сначало надо написать фильтры(много. очень много! У меня 129 вышло, на большее просто не хватило, да и смысла небыло.), их чуть сложнее писать чем в OCS, так, как они именно текстовые, с приорететом по местоположение (ранжировки) и после фильтров отсекать весь софт еще одним фильтром. Ибо написать фильтры на весь софт с большим количеством компьютеров в организации, уйдет огромное количество времени.
GLPI_CACHE plugins #5368
Comments
salleman33 commented Feb 13, 2019
I have GLPI 9.4 and i think there is a bug with automatic action for plugin.
I use the crontask ‘/usr/bin/php /var/www/html/glpi/front/cron.php’ to launch automatic actions.
i try to debug :
on the function ‘getNeedToRun’ in file crontask.class.php, call to function Plugin::getPlugins() returns nothing, so tasks for a plugin cannot be launched.
$GLPI_CACHE->get(‘plugins’) is an empty array
The text was updated successfully, but these errors were encountered:
We are unable to convert the task to an issue at this time. Please try again.
The issue was successfully created but we are unable to update the comment at this time.
cedric-anne commented Feb 20, 2019
yllen commented Feb 20, 2019
You have also ask about automatic action of plugin in the forum
https://forum.glpi-project.org/viewtopic.php?id=167631
salleman33 commented Feb 20, 2019
Yes, plugins are active. I use fusioninventory, reservations, manufacturersimports. No task starts. I will try to reinstall glpi.
cedric-anne commented Feb 20, 2019
If you launch cron from cron or cli, make sure that all required php extensions are loaded and user is same as webserver one.
salleman33 commented Feb 20, 2019 •
same, call Plugin::getPlugins() is empty.
I enable debug mode on glpi :
salleman33 commented Feb 20, 2019 •
trasher commented Feb 21, 2019
Could you please open a pull request with the fix proposal? Thank you.
salleman33 commented Feb 21, 2019
it’s not a clean patch :/
I have tested again on an other server, ubuntu 16.04 (my first test was on debian 9), I have installed GLPI 9.4.0 from scratch and plugin FusionInventory. Problem is still here.
trasher commented Feb 21, 2019
Anyways you did not precise where you did the change that make things work for you, this may help us to know if it is correct or not, and maybe what the problem is.
cedric-anne commented Feb 22, 2019
trasher commented Feb 25, 2019 •
@salleman33 please try to drop all but remove.txt file from files/_cache directory. This should solve issue right now.
We’re working on a fix.
salleman33 commented Feb 25, 2019
trasher commented Feb 25, 2019
salleman33 commented Feb 25, 2019 •
Just after a clean install and a plugin enabled, «files/_cache/cache_db/zfcache-63/zfcache-plugins.dat » contains :
a:0:<>
after I removed cache directories :
a:1:
[code] GLPI 9.4.0 (/glpi => /var/www/html/glpi) Installation mode: TARBALL
htmLawed version 1.2.4 in (/var/www/html/glpi/lib/htmlawed) phpmailer/phpmailer version 6.0.6 in (/var/www/html/glpi/vendor/phpmailer/phpmailer/src) simplepie/simplepie version 1.5.2 in (/var/www/html/glpi/vendor/simplepie/simplepie/library) tecnickcom/tcpdf version 6.2.26 in (/var/www/html/glpi/vendor/tecnickcom/tcpdf) michelf/php-markdown in (/var/www/html/glpi/vendor/michelf/php-markdown/Michelf) true/punycode in (/var/www/html/glpi/vendor/true/punycode/src) iamcal/lib_autolink in (/var/www/html/glpi/vendor/iamcal/lib_autolink) sabre/vobject in (/var/www/html/glpi/vendor/sabre/vobject/lib) zendframework/zend-cache in (/var/www/html/glpi/vendor/zendframework/zend-cache/src) zendframework/zend-console in (/var/www/html/glpi/vendor/zendframework/zend-console/src) zendframework/zend-i18n in (/var/www/html/glpi/vendor/zendframework/zend-i18n/src) zendframework/zend-serializer in (/var/www/html/glpi/vendor/zendframework/zend-serializer/src) monolog/monolog in (/var/www/html/glpi/vendor/monolog/monolog/src/Monolog) sebastian/diff in (/var/www/html/glpi/vendor/sebastian/diff/src) elvanto/litemoji in (/var/www/html/glpi/vendor/elvanto/litemoji/src) symfony/console in (/var/www/html/glpi/vendor/symfony/console) leafo/scssphp in (/var/www/html/glpi/vendor/leafo/scssphp/src)
Way of sending emails: PHP
reservation Name: Reservation Version: 2.1.3 State: Enabled
[/code]