Use remi repos and dnf switch-to for php
This commit is contained in:
		
							parent
							
								
									26a000a947
								
							
						
					
					
						commit
						2af67ae49c
					
				
							
								
								
									
										95
									
								
								php.cf
								
								
								
								
							
							
						
						
									
										95
									
								
								php.cf
								
								
								
								
							|  | @ -5,7 +5,8 @@ | ||||||
| bundle agent install_php | bundle agent install_php | ||||||
| { | { | ||||||
| classes: | classes: | ||||||
| 	"php_install_repo" expression => not(fileexists("/etc/apt/sources.list.d/php.list")); | 	"use_ext_repos"; | ||||||
|  | 
 | ||||||
| vars: | vars: | ||||||
| 	"version" string => "$(php.version)"; | 	"version" string => "$(php.version)"; | ||||||
| 	centos:: | 	centos:: | ||||||
|  | @ -63,22 +64,23 @@ vars: | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 	centos:: | 	centos:: | ||||||
|  | 		"xversion" string => ""; | ||||||
| 		"pkgs" slist => { | 		"pkgs" slist => { | ||||||
| 			"php$(version)-cli", | 			"php$(xversion)-cli", | ||||||
| 			"php$(version)-common", | 			"php$(xversion)-common", | ||||||
| 			"php$(version)-pecl-zip", | 			"php$(xversion)-pecl-zip", | ||||||
| 			"php$(version)-pgsql", | 			"php$(xversion)-pgsql", | ||||||
| 			"php$(version)-mysqlnd", | 			"php$(xversion)-mysqlnd", | ||||||
| 			"php$(version)-xml", | 			"php$(xversion)-xml", | ||||||
| 			"php$(version)-gd", | 			"php$(xversion)-gd", | ||||||
| 			"php$(version)-mbstring", | 			"php$(xversion)-mbstring", | ||||||
| 			"php$(version)-intl", | 			"php$(xversion)-intl", | ||||||
| 			"php$(version)-pecl-imagick", | 			"php$(xversion)-pecl-imagick-im6", | ||||||
| 			"php$(version)-ldap", | 			"php$(xversion)-ldap", | ||||||
| 			"php-pecl-json-post" | 			"php-pecl-json-post" | ||||||
| 			 | 			 | ||||||
| 		}; | 		}; | ||||||
| 	#		"php$(version)-curl", | 
 | ||||||
| 
 | 
 | ||||||
| commands: | commands: | ||||||
| #	(debian|ubuntu)&php_install_repo:: | #	(debian|ubuntu)&php_install_repo:: | ||||||
|  | @ -94,11 +96,62 @@ commands: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| methods: | methods: | ||||||
| 	"any" usebundle => install_apt_repo("php","$(php.apt_repo_url)","$(php.apt_repo_key)","$(php.apt_repo_key_name)"), | 	debian&use_ext_repos:: | ||||||
| 		handle => "php_repo_ready"; | 		"any" usebundle => install_apt_repo("php","$(php.apt_repo_url)","$(php.apt_repo_key)","$(php.apt_repo_key_name)"), | ||||||
|  | 			handle => "php_repo_ready"; | ||||||
|  | 	 | ||||||
|  | 	centos:: | ||||||
|  | 		"any" usebundle => php_install_centos_repos, | ||||||
|  | 			handle => "php_repo_ready"; | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 	any:: | ||||||
| 	"any" usebundle => wmde_install_packages(@(pkgs),"php"), | 	"any" usebundle => wmde_install_packages(@(pkgs),"php"), | ||||||
| 		depends_on => {"php_repo_ready"}; | 		depends_on => {"php_repo_ready"}; | ||||||
|  | 
 | ||||||
|  | commands: | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | bundle agent php_install_centos_repos | ||||||
|  | { | ||||||
|  | classes: | ||||||
|  | 	centos:: | ||||||
|  | 	"switch_repo" expression => not(returnszero("cat /etc/dnf/modules.d/php.module | grep -q '^stream.*=.*remi-$(php.version)'","useshell")); | ||||||
|  | 	"install_remi" expression => not(returnszero("rpm -q remi-release > /dev/null","useshell")); | ||||||
|  | 	"install_epel" expression => not(returnszero("rpm -q epel-release > /dev/null","useshell")); | ||||||
|  | 
 | ||||||
|  | commands: | ||||||
|  | 	centos&install_epel:: | ||||||
|  | 		"/usr/bin/yum" | ||||||
|  | 		args =>	"install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm", | ||||||
|  | 		handle => "php_epel_repo_installed"; | ||||||
|  | 
 | ||||||
|  | 	centos&(!install_epel):: | ||||||
|  | 		"/usr/bin/true" | ||||||
|  | 		inform => "false", | ||||||
|  | 		handle => "php_epel_repo_installed"; | ||||||
|  | 		 | ||||||
|  | 	centos&install_remi:: | ||||||
|  | 	"/usr/bin/yum" | ||||||
|  | 	args =>	"install -y https://rpms.remirepo.net/enterprise/remi-release-$(sys.os_version_major).rpm", | ||||||
|  | 		depends_on => {"php_epel_repo_installed"}, | ||||||
|  | 		handle => "php_remi_repo_installed"; | ||||||
|  | 
 | ||||||
|  | 	centos&(!install_remi):: | ||||||
|  | 		"/usr/bin/true" | ||||||
|  | 		inform => "false", | ||||||
|  | 		handle => "php_remi_repo_installed"; | ||||||
|  | 	 | ||||||
|  | 
 | ||||||
|  | 	centos&switch_repo:: | ||||||
|  | 		"dnf" args =>  "module switch-to php:remi-$(php.version) -y", | ||||||
|  | 		contain => wmde_cmd_useshell, | ||||||
|  | 		depends_on => {"php_remi_repo_installed"}; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | methods: | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bundle agent php(settings) | bundle agent php(settings) | ||||||
|  | @ -109,8 +162,8 @@ vars: | ||||||
| 	debian:: | 	debian:: | ||||||
| 		"version" string => "8.0"; | 		"version" string => "8.0"; | ||||||
| 		"ini_files" slist => { | 		"ini_files" slist => { | ||||||
| 			"/etc/php/$(php.version)/apache2/php.ini", | #			"/etc/php/$(php.version)/apache2/php.ini", | ||||||
| 			"/etc/php/$(php.version)/fpm/php.ini" | #			"/etc/php/$(php.version)/fpm/php.ini" | ||||||
| 		}; | 		}; | ||||||
| 
 | 
 | ||||||
| 		"cli_exe" string => "/usr/bin/php"; | 		"cli_exe" string => "/usr/bin/php"; | ||||||
|  | @ -148,8 +201,8 @@ vars: | ||||||
| 
 | 
 | ||||||
| 	centos:: | 	centos:: | ||||||
| 		"cli_exe" string => "/usr/bin/php"; | 		"cli_exe" string => "/usr/bin/php"; | ||||||
| 		"version" string => ""; | 		"version" string => "8.2"; | ||||||
| 		"fpm_pkgs" slist => { "php$(version)-fpm" }; | 		"fpm_pkgs" slist => { "php-fpm" }; | ||||||
| 		"fpm_service_name" string => "php$(version)-fpm"; | 		"fpm_service_name" string => "php$(version)-fpm"; | ||||||
| 		"fpm_socket" string => "/run/php-fpm/www.sock"; | 		"fpm_socket" string => "/run/php-fpm/www.sock"; | ||||||
| 
 | 
 | ||||||
|  | @ -163,8 +216,8 @@ files: | ||||||
| 	classes => if_repaired(php_repaired); | 	classes => if_repaired(php_repaired); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| methods: | #methods: | ||||||
| 	"any" usebundle => install_php; | #	"any" usebundle => install_php; | ||||||
| reports: | reports: | ||||||
| 	"PHP VERSION: $(ini_files) V:$(install_php.version)"; | 	"PHP VERSION: $(ini_files) V:$(install_php.version)"; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue