From 96199c894fb0ef99035a404ab6822a351e13556e Mon Sep 17 00:00:00 2001 From: Tobias Herre Date: Wed, 11 Oct 2023 11:28:59 +0200 Subject: [PATCH] Inital commit --- php.cf | 135 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 php.cf diff --git a/php.cf b/php.cf new file mode 100644 index 0000000..2afb17b --- /dev/null +++ b/php.cf @@ -0,0 +1,135 @@ +# +# +# + +bundle agent install_php +{ +vars: + debian:: + "version" string => "8.2"; + ubuntu_20:: + "version" string => "7.4"; + ubuntu_22:: + "version" string => "8.1"; + freebsd:: + "version" string => "7.4"; + + + freebsd:: + "cli_exe" string => "/usr/local/bin/php"; + "pkgs" slist => { + "php74-session", + "php74-zip", + "php74-pgsql", + "php74-mysqli", + "php74-pdo_mysql", + "php74-pdo", + "php74-filter", + "php74-json", + }; + + + debian:: + "pkgs" slist => { + "php-cli", + "php$(version)-common", + "php$(version)-zip", + "php$(version)-pgsql", + "php$(version)-mysql", + "php-json", + "php$(version)-xml", + }; + ubuntu:: + "pkgs" slist => { + "php$(version)-common", + "php$(version)-zip", + "php$(version)-pgsql", + "php$(version)-mysql", + "php$(version)-xml", + "php$(version)-mbstring", + "php-geshi", + "php-json", + "php-gd", + }; + + +packages: + freebsd:: + "$(pkgs)" + policy => "present", + package_module => pkg, + classes => if_repaired(php_changed); + debian:: + "$(pkgs)" + policy => "present", + package_module => apt_get, + handle => "php_installed", + classes => if_repaired(php_changed); +} + +bundle agent php(settings) +{ +vars: + debian:: + "ini_files" slist => { + "/etc/php/$(install_php.version)/apache2/php.ini", + "/etc/php/$(install_php.version)/fpm/php.ini" + }; + + "cli_exe" string => "/usr/bin/php"; + + freebsd:: + "ini_files" slist => { + "/etc/php/$(install_php.version)/apache2/php.ini", + "/etc/php/$(install_php.version)/fpm/php.ini" + }; + "cli_exe" string => "/usr/local/bin/php"; + + +files: + "$(ini_files)" + create => "true", + edit_template => "$(sys.workdir)/inputs/$(wmde_libdir)/templates/php.ini.mustache", + template_method => "mustache", + template_data => @(settings), + classes => if_repaired(php_changed); + + +methods: + "any" usebundle => install_php; +reports: + "PHP VERSION: $(ini_files) V:$(install_php.version)"; + +} + + +bundle agent php_composer(cfg) +{ +vars: + "installer" string => "$(sys.workdir)/data/php/composer-setup.php"; + "exe" string => "/usr/local/bin/composer"; +classes: + "php_composer_install" expression => not(fileexists("$(exe)")); + +vars: + + +files: + "$(sys.workdir)/data/php/." + create => "true", + handle => "php_dir_created"; +commands: + php_composer_install:: + "$(wget.exe) -q -O $(installer) https://getcomposer.org/installer" + handle => "php_composer_installer_downloaded", + depends_on => {"php_dir_created"}; + + "$(php.cli_exe) $(installer) --install-dir=/usr/local/bin --filename=composer" + handle => "php_composer_installed", + depends_on => {"php_composer_installer_downloaded"}; + + +methods: + "any" usebundle => install_php; + "any" usebundle => install_wget; +}