wmdeit-cf-wmdelib/php.cf

137 lines
2.6 KiB
CFEngine3
Raw Normal View History

2023-10-11 09:28:59 +00:00
#
#
#
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",
2023-10-11 21:57:37 +00:00
"php-gd"
2023-10-11 09:28:59 +00:00
};
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;
}