Saltstack Official PHP Formula
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

369 行
17KB

  1. # -*- coding: utf-8 -*-
  2. # vim: ft=jinja
  3. {%- if salt['grains.get']('os') == "Ubuntu" %}
  4. {%- set use_external_repo = salt['pillar.get']('php:use_external_repo', False) %}
  5. {%- if use_external_repo %}
  6. {%- set php_version = salt['pillar.get']('php:version', '7.0')|string %}
  7. {%- if salt['grains.get']('osrelease')|string >= '16.04' %}
  8. {# Ubuntu 16.04+ specific PHP definitions #}
  9. {%- set php = salt['grains.filter_by']({
  10. 'Ubuntu': {
  11. 'adodb_pkg': 'libphp-adodb',
  12. 'apc_pkg': 'php-apcu',
  13. 'apcu_pkg': 'php-apcu-bc',
  14. 'bcmath_pkg': 'php' + php_version + '-bcmath',
  15. 'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'pkg-config', 'libsslcommon2-dev', 'gcc', 'make', 'autoconf', 'libc-dev', 'pkg-config'],
  16. 'cgi_pkg': 'php' + php_version + '-cgi',
  17. 'cli_pkg': 'php' + php_version + '-cli',
  18. 'composer_bin': 'composer',
  19. 'curl_pkg': 'php' + php_version + '-curl',
  20. 'dev_pkg': 'php' + php_version + '-dev',
  21. 'ext_conf_path': '/etc/php/' + php_version + '/mods-available',
  22. 'fpm_pkg': 'php' + php_version + '-fpm',
  23. 'fpm_service': 'php' + php_version + '-fpm',
  24. 'gd_pkg': 'php' + php_version + '-gd',
  25. 'imagick_pkg': 'php-imagick',
  26. 'imap_pkg': 'php' + php_version + '-imap',
  27. 'intl_pkg': 'php' + php_version + '-intl',
  28. 'json_pkg': 'php' + php_version + '-json',
  29. 'ldap_pkg': 'php' + php_version + '-ldap',
  30. 'local_bin': '/usr/local/bin',
  31. 'mail_pkg': 'php-mail',
  32. 'mbstring_pkg': 'php' + php_version + '-mbstring',
  33. 'mcrypt_pkg': 'php' + php_version + '-mcrypt',
  34. 'memcache_pkg': 'php-memcache',
  35. 'memcached_pkg': 'php-memcached',
  36. 'mongo_ext': 'mongodb.so',
  37. 'mongo_pecl': 'mongodb',
  38. 'mysql_pkg': 'php' + php_version + '-mysql',
  39. 'mysqlnd_pkg': 'php' + php_version + '-mysql',
  40. 'oauth_pkg': 'php-oauth',
  41. 'pear_pkg': 'php-pear',
  42. 'pgsql_pkg': 'php' + php_version + '-pgsql',
  43. 'php_ini': '/etc/php/' + php_version + '/apache2/php.ini',
  44. 'php_pkg': 'php' + php_version,
  45. 'phpenmod_command': 'phpenmod -v' + php_version,
  46. 'readline_pkg': 'php' + php_version + '-readline',
  47. 'redis_pkg': 'php-redis',
  48. 'soap_pkg': 'php' + php_version + '-soap',
  49. 'sqlite_pkg': 'php' + php_version + '-sqlite3',
  50. 'suhosin5_ext': 'suhosin.so',
  51. 'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
  52. 'suhosin7_ext': 'suhosin7.so',
  53. 'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
  54. 'sybase_pkg': 'php' + phpng_version + '-sybase',
  55. 'temp_dir': '/tmp',
  56. 'xml_pkg': 'php' + php_version + '-xml',
  57. 'zip_pkg': 'php' + php_version + '-zip',
  58. }
  59. }, grain="os", merge=salt['pillar.get']('php:lookup')) %}
  60. {%- else %}
  61. {# All other Ubuntu PHP definitions #}
  62. {%- set php = salt['grains.filter_by']({
  63. 'Ubuntu': {
  64. 'adodb_pkg': 'libphp-adodb',
  65. 'apc_pkg': 'php-apcu',
  66. 'apcu_pkg': 'php-apcu',
  67. 'bcmath_pkg': 'php' + php_version + '-bcmath',
  68. 'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'gcc', 'make', 'autoconf', 'libc-dev', 'pkg-config'],
  69. 'cgi_pkg': 'php' + php_version + '-cgi',
  70. 'cli_pkg': 'php' + php_version + '-cli',
  71. 'composer_bin': 'composer',
  72. 'curl_pkg': 'php' + php_version + '-curl',
  73. 'dev_pkg': 'php' + php_version + '-dev',
  74. 'ext_conf_path': '/etc/php/' + php_version + '/mods-available',
  75. 'fpm_pkg': 'php' + php_version + '-fpm',
  76. 'fpm_service': 'php' + php_version + '-fpm',
  77. 'gd_pkg': 'php' + php_version + '-gd',
  78. 'imagick_pkg': 'php-imagick',
  79. 'imap_pkg': 'php' + php_version + '-imap',
  80. 'intl_pkg': 'php' + php_version + '-intl',
  81. 'json_pkg': 'php' + php_version + '-json',
  82. 'ldap_pkg': 'php' + php_version + '-ldap',
  83. 'local_bin': '/usr/local/bin',
  84. 'mail_pkg': 'php-mail',
  85. 'mbstring_pkg': 'php' + php_version + '-mbstring',
  86. 'mcrypt_pkg': 'php' + php_version + '-mcrypt',
  87. 'memcache_pkg': 'php-memcache',
  88. 'memcached_pkg': 'php-memcached',
  89. 'mongo_ext': 'mongodb.so',
  90. 'mongo_pecl': 'mongodb',
  91. 'mysql_pkg': 'php' + php_version + '-mysql',
  92. 'mysqlnd_pkg': 'php' + php_version + '-mysql',
  93. 'oauth_pkg': 'php-oauth',
  94. 'pear_pkg': 'php-pear',
  95. 'pgsql_pkg': 'php' + php_version + '-pgsql',
  96. 'php_ini': '/etc/php/' + php_version + '/apache2/php.ini',
  97. 'php_pkg': 'php' + php_version,
  98. 'phpenmod_command': 'phpenmod -v' + php_version,
  99. 'readline_pkg': 'php' + php_version + '-readline',
  100. 'redis_pkg': 'php-redis',
  101. 'soap_pkg': 'php' + php_version + '-soap',
  102. 'sqlite_pkg': 'php' + php_version + '-sqlite3',
  103. 'suhosin5_ext': 'suhosin.so',
  104. 'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
  105. 'suhosin7_ext': 'suhosin7.so',
  106. 'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
  107. 'sybase_pkg': 'php' + phpng_version + '-sybase',
  108. 'temp_dir': '/tmp',
  109. 'xml_pkg': 'php' + php_version + '-xml',
  110. 'zip_pkg': 'php' + php_version + '-zip',
  111. }
  112. }, grain="os", merge=salt['pillar.get']('php:lookup')) %}
  113. {%- endif %}
  114. {%- else %}
  115. {%- if salt['grains.get']('osrelease')|string >= '16.04' %}
  116. {# Ubuntu 16.04+ specific PHP definitions #}
  117. {%- set php = salt['grains.filter_by']({
  118. 'Ubuntu': {
  119. 'adodb_pkg': 'libphp-adodb',
  120. 'apc_pkg': 'php',
  121. 'apcu_pkg': 'php-apcu',
  122. 'bcmath_pkg': 'php-bcmath',
  123. 'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'pkg-config', 'libsslcommon2-dev'],
  124. 'cgi_pkg': 'php-cgi',
  125. 'cli_pkg': 'php-cli',
  126. 'composer_bin': 'composer',
  127. 'curl_pkg': 'php-curl',
  128. 'dev_pkg': 'php-dev',
  129. 'ext_conf_path': '/etc/php/7.0/mods-available',
  130. 'fpm_pkg': 'php-fpm',
  131. 'fpm_service': 'php7.0-fpm',
  132. 'gd_pkg': 'php-gd',
  133. 'imagick_pkg': 'php-imagick',
  134. 'imap_pkg': 'php-imap',
  135. 'intl_pkg': 'php-intl',
  136. 'json_pkg': 'php-json',
  137. 'ldap_pkg': 'php-ldap',
  138. 'local_bin': '/usr/local/bin',
  139. 'mail_pkg': 'php-mail',
  140. 'mbstring_pkg': 'php-mbstring',
  141. 'mcrypt_pkg': 'php-mcrypt',
  142. 'memcache_pkg': 'php-memcache',
  143. 'memcached_pkg': 'php-memcached',
  144. 'mongo_ext': 'mongodb.so',
  145. 'mongo_pecl': 'php-mongodb',
  146. 'mysql_pkg': 'php-mysql',
  147. 'mysqlnd_pkg': 'php',
  148. 'oauth_pkg': 'php-oauth',
  149. 'pear_pkg': 'php-pear',
  150. 'pgsql_pkg': 'php-pgsql',
  151. 'php_ini': '/etc/php/7.0/apache2/php.ini',
  152. 'php_pkg': 'php',
  153. 'phpenmod_command': 'phpenmod',
  154. 'readline_pkg': ' php-readline',
  155. 'redis_pkg': 'php-redis',
  156. 'soap_pkg': 'php-soap',
  157. 'sqlite_pkg': 'php-sqlite3',
  158. 'suhosin5_ext': 'suhosin.so',
  159. 'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
  160. 'suhosin7_ext': 'suhosin7.so',
  161. 'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
  162. 'sybase_pkg': 'php-sybase',
  163. 'temp_dir': '/tmp',
  164. 'xml_pkg': 'php-xml',
  165. 'zip_pkg': 'php-zip',
  166. }
  167. }, grain="os", merge=salt['pillar.get']('php:lookup')) %}
  168. {%- else %}
  169. {# All other Ubuntu PHP definitions #}
  170. {%- set php = salt['grains.filter_by']({
  171. 'Ubuntu': {
  172. 'adodb_pkg': 'php5-adodb',
  173. 'apc_pkg': 'php-apc',
  174. 'apcu_pkg': 'php5-apcu',
  175. 'bcmath_pkg': 'php5',
  176. 'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev'],
  177. 'cgi_pkg': 'php5-cgi',
  178. 'cli_pkg': 'php5-cli',
  179. 'composer_bin': 'composer',
  180. 'curl_pkg': 'php5-curl',
  181. 'dev_pkg': 'php5-dev',
  182. 'ext_conf_path': salt['grains.filter_by']({
  183. 'precise': '/etc/php5/conf.d',
  184. 'default': '/etc/php5/mods-available',
  185. }, grain='oscodename'),
  186. 'fpm_pkg': 'php5-fpm',
  187. 'fpm_service': 'php5-fpm',
  188. 'gd_pkg': 'php5-gd',
  189. 'imagick_pkg': 'php5-imagick',
  190. 'imap_pkg': 'php5-imap',
  191. 'intl_pkg': 'php5-intl',
  192. 'json_pkg': 'php5-json',
  193. 'ldap_pkg': 'php5-ldap',
  194. 'local_bin': '/usr/local/bin',
  195. 'mail_pkg': 'php-mail',
  196. 'mbstring_pkg': 'php5',
  197. 'mcrypt_pkg': 'php5-mcrypt',
  198. 'memcache_pkg': 'php5-memcache',
  199. 'memcached_pkg': 'php5-memcached',
  200. 'mongo_ext': 'mongo.so',
  201. 'mongo_pecl': 'mongo',
  202. 'mysql_pkg': 'php5-mysql',
  203. 'mysqlnd_pkg': 'php5-mysqlnd',
  204. 'oauth_pkg': 'php5-oauth',
  205. 'pear_pkg': 'php-pear',
  206. 'pgsql_pkg': 'php5-pgsql',
  207. 'php_ini': '/etc/php5/apache2/php.ini',
  208. 'php_pkg': 'php5',
  209. 'phpenmod_command': salt['grains.filter_by']({
  210. 'precise': 'true',
  211. 'default': 'php5enmod',
  212. }, grain='oscodename'),
  213. 'phpenmod_command': 'php5enmod',
  214. 'readline_pkg': ' php5-readline',
  215. 'redis_pkg': 'php5-redis',
  216. 'soap_pkg': 'php-soap',
  217. 'sqlite_pkg': 'php5-sqlite',
  218. 'suhosin5_ext': 'suhosin.so',
  219. 'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
  220. 'suhosin7_ext': 'suhosin7.so',
  221. 'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
  222. 'sybase_pkg': 'php5-sybase',
  223. 'temp_dir': '/tmp',
  224. 'xml_pkg': 'php5',
  225. 'zip_pkg': 'php5',
  226. },
  227. }, grain='os', merge=salt['pillar.get']('php:lookup')) %}
  228. {%- endif %}
  229. {%- endif %}
  230. {%- else %}
  231. {%- set php = salt['grains.filter_by']({
  232. 'Debian': {
  233. 'adodb_pkg': 'php5-adodb',
  234. 'apc_pkg': 'php-apc',
  235. 'apcu_pkg': salt['grains.filter_by']({
  236. 'wheezy': 'php-apc',
  237. 'jessie': 'php5-apcu',
  238. }, grain='oscodename'),
  239. 'bcmath_pkg': 'php5-fpm',
  240. 'build_pkgs': ['libssl-dev', 'libcurl4-openssl-dev', 'build-essential'],
  241. 'cgi_pkg': 'php5-cgi',
  242. 'cli_pkg': 'php5-cli',
  243. 'composer_bin': 'composer',
  244. 'curl_pkg': 'php5-curl',
  245. 'dev_pkg': 'php5-dev',
  246. 'ext_conf_path': '/etc/php5/mods-available',
  247. 'fpm_pkg': 'php5-fpm',
  248. 'fpm_service': 'php5-fpm',
  249. 'gd_pkg': 'php5-gd',
  250. 'imagick_pkg': 'php5-imagick',
  251. 'imap_pkg': 'php5-imap',
  252. 'intl_pkg': 'php5-intl',
  253. 'json_pkg': 'php5-json',
  254. 'ldap_pkg': 'php5-ldap',
  255. 'local_bin': '/usr/local/bin',
  256. 'mail_pkg': 'php-mail',
  257. 'mbstring_pkg': 'php5',
  258. 'mcrypt_pkg': 'php5-mcrypt',
  259. 'memcache_pkg': 'php5-memcache',
  260. 'memcached_pkg': 'php5-memcached',
  261. 'mongo_ext': 'mongo.so',
  262. 'mongo_pecl': 'mongo',
  263. 'mysql_pkg': 'php5-mysql',
  264. 'mysqlnd_pkg': 'php5-mysqlnd',
  265. 'oauth_pkg': 'php5-oauth',
  266. 'pear_pkg': 'php-pear',
  267. 'pgsql_pkg': 'php5-pgsql',
  268. 'php_ini': '/etc/php5/apache2/php.ini',
  269. 'php_pkg': 'php5',
  270. 'phpenmod_command': 'php5enmod',
  271. 'readline_pkg': ' php5-readline',
  272. 'redis_pkg': 'php5-redis',
  273. 'soap_pkg': 'php-soap',
  274. 'sqlite_pkg': 'php5-sqlite',
  275. 'suhosin5_ext': 'suhosin.so',
  276. 'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
  277. 'suhosin7_ext': 'suhosin7.so',
  278. 'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
  279. 'sybase_pkg': 'php5-sybase',
  280. 'temp_dir': '/tmp',
  281. 'xml_pkg': 'php5',
  282. 'zip_pkg': 'php5',
  283. },
  284. 'RedHat': {
  285. 'adodb_pkg': 'php-adodb',
  286. 'apc_pkg': 'php-pecl-apcu',
  287. 'apcu_pkg': 'php-pecl-apcu',
  288. 'bcmath_pkg': 'php-bcmath',
  289. 'build_pkgs': ['openssl-devel', 'gcc'],
  290. 'cgi_pkg': 'php-cgi',
  291. 'cli_pkg': 'php-cli',
  292. 'composer_bin': 'composer',
  293. 'curl_pkg': 'curl',
  294. 'dev_pkg': 'php-devel',
  295. 'ext_conf_path': '/etc/php.d',
  296. 'fpm_pkg': 'php-fpm',
  297. 'fpm_service': 'php-fpm',
  298. 'gd_pkg': 'php-gd',
  299. 'imagick_pkg': 'php-pecl-imagick',
  300. 'imap_pkg': 'php-imap',
  301. 'intl_pkg': 'php-intl',
  302. 'json_pkg': 'php-common',
  303. 'ldap_pkg': 'php-ldap',
  304. 'local_bin': '/usr/local/bin',
  305. 'mail_pkg': 'php-pear-Mail',
  306. 'mbstring_pkg': 'php-mbstring',
  307. 'mcrypt_pkg': 'php-mcrypt',
  308. 'memcache_pkg': 'php-pecl-memcache',
  309. 'memcached_pkg': 'php-pecl-memcached',
  310. 'mongo_ext': 'mongo.so',
  311. 'mongo_pecl': 'mongo',
  312. 'mysql_pkg': 'php-mysql',
  313. 'mysqlnd_pkg': 'php-mysqlnd',
  314. 'oauth_pkg': 'php-pecl-oauth',
  315. 'pear_pkg': 'php-pear',
  316. 'pgsql_pkg': 'php-pgsql',
  317. 'php_ini': '/etc/php.ini',
  318. 'php_pkg': 'php',
  319. 'readline_pkg': 'php-cli',
  320. 'redis_pkg': 'php-pecl-redis',
  321. 'soap_pkg': 'php-soap',
  322. 'sqlite_pkg': 'php-pdo',
  323. 'suhosin5_ext': 'suhosin.so',
  324. 'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
  325. 'suhosin7_ext': 'suhosin7.so',
  326. 'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
  327. 'temp_dir': '/tmp',
  328. 'xml_pkg': 'php-xml',
  329. 'zip_pkg': 'php',
  330. },
  331. 'Suse': {
  332. 'adodb_pkg': 'php5-dba',
  333. 'cli_pkg': 'php5-cli',
  334. 'composer_bin': 'composer',
  335. 'curl_pkg': 'php5-curl',
  336. 'dev_pkg': 'php5-devel',
  337. 'ext_conf_path': '/etc/php5/conf.d',
  338. 'fpm_pkg': 'php5-fpm',
  339. 'fpm_service': 'php5-fpm',
  340. 'gd_pkg': 'php5-gd',
  341. 'imap_pkg': 'php5-imap',
  342. 'intl_pkg': 'php5-intl',
  343. 'json_pkg': 'php5-json',
  344. 'ldap_pkg': 'php5-ldap',
  345. 'local_bin': '/usr/local/bin',
  346. 'mbstring_pkg': 'php5-mbstring',
  347. 'mcrypt_pkg': 'php5-mcrypt',
  348. 'mongo_ext': 'mongo.so',
  349. 'mongo_pecl': 'mongo',
  350. 'mysql_pkg': 'php5-mysql',
  351. 'pear_pkg': 'php5-pear',
  352. 'pgsql_pkg': 'php5-pgsql',
  353. 'php_ini': '/etc/php5/apache2/php.ini',
  354. 'php_pkg': 'php5',
  355. 'readline_pkg': ' php5-readline',
  356. 'soap_pkg': 'php5-soap',
  357. 'sqlite_pkg': 'php5-sqlite',
  358. 'suhosin5_ext': 'suhosin.so',
  359. 'suhosin5_repo': 'https://github.com/sektioneins/suhosin',
  360. 'suhosin7_ext': 'suhosin7.so',
  361. 'suhosin7_repo': 'https://github.com/sektioneins/suhosin7',
  362. 'temp_dir': '/tmp',
  363. 'xml_pkg': ['php5-xmlreader','php5-xmlwriter','php5-xmlrpc'],
  364. 'zip_pkg': 'php5-zip',
  365. },
  366. }, merge=salt['pillar.get']('php:lookup')) %}
  367. {%- endif %}