Saltstack Official PHP Formula
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

473 lines
17KB

  1. {% set php = salt['pillar.get']('php:ng', {
  2. 'lookup': salt['grains.filter_by']({
  3. 'Debian': {
  4. 'pkgs': {
  5. 'php': 'php5',
  6. 'apc': 'php-apc',
  7. 'apcu': 'php5-apcu',
  8. 'cgi': 'php5-cgi',
  9. 'cli': 'php5-cli',
  10. 'oauth': 'php5-oauth',
  11. 'apache2': 'libapache2-mod-php5',
  12. 'curl': 'php5-curl',
  13. 'fpm': 'php5-fpm',
  14. 'hhvm': 'hhvm',
  15. 'gd': 'php5-gd',
  16. 'gmp': 'php5-gmp',
  17. 'geoip': 'php5-geoip',
  18. 'intl': 'php5-intl',
  19. 'mbstring': 'php5',
  20. 'mcrypt': 'php5-mcrypt',
  21. 'memcache': 'php5-memcache',
  22. 'memcached': 'php5-memcached',
  23. 'mysql': 'php5-mysql',
  24. 'mysqlnd': 'php5-mysqlnd',
  25. 'pear': 'php-pear',
  26. 'pspell': 'php5-pspell',
  27. 'soap': 'php-soap',
  28. 'sqlite': 'php5-sqlite',
  29. 'xcache': 'php5-xcache',
  30. 'xdebug': 'php5-xdebug',
  31. 'xsl': 'php5-xsl',
  32. 'xml': 'php5',
  33. 'redis': 'php5-redis',
  34. 'imagick': 'php5-imagick',
  35. 'suhosin': 'php5-suhosin',
  36. 'imap': 'php5-imap',
  37. 'adodb': 'php5-adodb',
  38. 'pgsql': 'php5-pgsql',
  39. 'ldap': 'php5-ldap',
  40. 'json': 'php5-json'
  41. },
  42. 'fpm': {
  43. 'conf': '/etc/php5/fpm/php-fpm.conf',
  44. 'ini': '/etc/php5/fpm/php.ini',
  45. 'pools': '/etc/php5/fpm/pool.d',
  46. 'service': 'php5-fpm',
  47. 'defaults': odict([
  48. ('global', odict([
  49. ('pid', '/var/run/php5-fpm.pid'),
  50. ('error_log', '/var/log/php5-fpm.log'),
  51. ])),
  52. ('include', '/etc/php5/fpm/pool.d/*.conf'),
  53. ]),
  54. },
  55. 'hhvm': {
  56. 'conf': '/etc/hhvm/server.ini',
  57. 'ini': '/etc/hhvm/php.ini',
  58. 'service': 'hhvm',
  59. 'defaults': {},
  60. 'server': odict([
  61. ('pid', '/var/run/hhvm.pid'),
  62. ('hhvm.server.port', '9000'),
  63. ('hhvm.server.type', 'fastcgi'),
  64. ('hhvm.server.default_document', 'index.php'),
  65. ('hhvm.log.use_log_file', 'true'),
  66. ('hhvm.log.file', '/var/log/hhvm/error.log'),
  67. ('hhvm.repo.central.path', '/var/run/hhvm/hhvm.hhbc'),
  68. ]),
  69. 'php': odict([
  70. ('session.save_handler', 'files'),
  71. ('session.save_path', '/var/lib/hhvm/sessions'),
  72. ('session.gc_maxlifetime', '1440'),
  73. ('hhvm.log.level', 'Warning'),
  74. ('hhvm.log.always_log_unhandled_exceptions', 'true'),
  75. ('hhvm.log.runtime_error_reporting_level', '8191'),
  76. ('hhvm.mysql.typed_results', 'false'),
  77. ]),
  78. },
  79. 'cli': {
  80. 'ini': '/etc/php5/cli/php.ini',
  81. },
  82. 'apache2': {
  83. 'ini': '/etc/php5/apache2/php.ini',
  84. },
  85. 'xcache': {
  86. 'ini': '/etc/php5/mods-available/xcache.ini',
  87. 'defaults': {},
  88. },
  89. },
  90. 'RedHat': {
  91. 'pkgs': {
  92. 'php': 'php',
  93. 'apc': 'php-pecl-apc',
  94. 'apcu': 'php-pecl-apcu',
  95. 'cgi': 'php-cgi',
  96. 'cli': 'php-cli',
  97. 'oauth': 'php-oauth',
  98. 'curl': ['php-common', 'curl'],
  99. 'fpm': 'php-fpm',
  100. 'gd': 'php-gd',
  101. 'intl': 'php-intl',
  102. 'mbstring': 'php-mbstring',
  103. 'mcrypt': 'php-mcrypt',
  104. 'memcache': 'php-pecl-memcache',
  105. 'memcached': 'php-pecl-memcached',
  106. 'mysql': 'php-mysql',
  107. 'mysqlnd': 'php-mysqlnd',
  108. 'pear': 'php-pear',
  109. 'soap': 'php-soap',
  110. 'sqlite': 'php5-sqlite',
  111. 'xcache': 'php-xcache',
  112. 'xml': 'php-xml',
  113. 'redis': 'php-redis',
  114. 'imagick': 'php-imagick',
  115. 'suhosin': 'php-suhosin',
  116. 'imap': 'php-imap',
  117. 'adodb': 'php-adodb',
  118. 'pgsql': 'php-pgsql',
  119. 'ldap': 'php-ldap',
  120. 'json': 'php-common',
  121. },
  122. 'fpm': {
  123. 'conf': '/etc/php-fpm.conf',
  124. 'ini': '/etc/php.ini',
  125. 'pools': '/etc/php-fpm.d',
  126. 'service': 'php-fpm',
  127. 'defaults': {
  128. 'global': {
  129. 'pid': '/var/run/php-fpm/php-fpm.pid',
  130. 'error_log': '/var/log/php-fpm/error.log',
  131. },
  132. 'include': '/etc/php-fpm.d/*.conf',
  133. },
  134. },
  135. 'cli': {
  136. 'ini': '/etc/php.ini',
  137. },
  138. 'xcache': {
  139. 'ini': '/etc/php.d/xcache.ini',
  140. },
  141. },
  142. 'Suse': {
  143. 'pkgs': {
  144. 'php': 'php5',
  145. 'apache2': 'apache2-mod_php5',
  146. 'cli': 'php5',
  147. 'oauth': 'php5-oauth',
  148. 'curl': 'php5-curl',
  149. 'fpm': 'php5-fpm',
  150. 'gd': 'php5-gd',
  151. 'intl': 'php5-intl',
  152. 'mbstring': 'php5-mbstring',
  153. 'mcrypt': 'php5-mcrypt',
  154. 'mysql': 'php5-mysql',
  155. 'pear': 'php5-pear',
  156. 'soap': 'php5-soap',
  157. 'sqlite': 'php5-sqlite',
  158. 'xml': ['php5-xmlreader','php5-xmlwriter','php5-xmlrpc'],
  159. 'suhosin': 'php5-suhosin',
  160. 'imap': 'php5-imap',
  161. 'adodb': 'php5-dba',
  162. 'pgsql': 'php5-pgsql',
  163. 'ldap': 'php5-ldap',
  164. 'json': 'php5-json',
  165. },
  166. 'fpm': {
  167. 'conf': '/etc/php-fpm.conf',
  168. 'ini': '/etc/php.ini',
  169. 'pools': '/etc/php-fpm.d',
  170. 'service': 'php-fpm',
  171. 'defaults': {
  172. 'global': {
  173. 'pid': '/var/run/php-fpm/php-fpm.pid',
  174. 'error_log': '/var/log/php-fpm/error.log',
  175. },
  176. 'include': '/etc/php-fpm.d/*.conf',
  177. },
  178. },
  179. 'cli': {
  180. 'ini': '/etc/php.ini',
  181. },
  182. },
  183. 'Arch': {
  184. 'pkgs': {
  185. 'php': 'php',
  186. 'apcu': 'php-apcu',
  187. 'cgi': 'php-cgi',
  188. 'curl': 'curl',
  189. 'fpm': 'php-fpm',
  190. 'gd': 'php-gd',
  191. 'intl': 'php-intl',
  192. 'mcrypt': 'php-mcrypt',
  193. 'memcache': 'php-memcache',
  194. 'memcached': 'php-memcached',
  195. 'pear': 'php-pear',
  196. 'sqlite': 'php-sqlite',
  197. 'xcache': 'php-xcache',
  198. 'pgsql': 'php-pgsql',
  199. 'ldap': 'php-ldap',
  200. },
  201. 'fpm': {
  202. 'conf': '/etc/php/php-fpm.conf',
  203. 'ini': '/etc/php/php.ini',
  204. 'pools': '/etc/php/fpm.d',
  205. 'service': 'php-fpm',
  206. 'defaults': {
  207. 'global': {
  208. 'pid': '/run/php-fpm/php-fpm.pid',
  209. 'error_log': 'log/php-fpm.log',
  210. },
  211. 'include': '/etc/php/fpm.d/*.conf',
  212. },
  213. },
  214. 'cli': {
  215. 'ini': '/etc/php.ini',
  216. },
  217. 'xcache': {
  218. 'ini': '/etc/php/conf.d/xcache.ini',
  219. },
  220. },
  221. }),
  222. 'fpm': {
  223. 'service': {
  224. 'enabled': True,
  225. 'opts': {},
  226. },
  227. 'config': {
  228. 'ini': {
  229. 'opts': {},
  230. 'settings': {},
  231. },
  232. 'conf': {
  233. 'opts': {},
  234. 'settings': {},
  235. },
  236. },
  237. 'pools': {},
  238. },
  239. 'hhvm': {
  240. 'service': {
  241. 'enabled': True,
  242. 'opts': {},
  243. },
  244. 'config': {
  245. 'server': {
  246. 'opts': {},
  247. 'settings': {},
  248. },
  249. 'php': {
  250. 'opts': {},
  251. 'settings': {},
  252. },
  253. },
  254. },
  255. 'cli': {
  256. 'ini': {
  257. 'opts': {},
  258. 'settings': {},
  259. }
  260. },
  261. 'apache2': {
  262. 'ini': {
  263. 'opts': {},
  264. 'settings': {},
  265. }
  266. },
  267. 'xcache': {
  268. 'ini': {
  269. 'defaults': {
  270. 'xcache-common': {
  271. 'extension': 'xcache.so',
  272. },
  273. 'xcache.admin': {
  274. 'xcache.admin.enable_auth': 'On',
  275. },
  276. 'xcache': {
  277. 'xcache.shm_scheme': '"mmap"',
  278. 'xcache.size': '60M',
  279. 'xcache.count': '1',
  280. 'xcache.slots': '8K',
  281. 'xcache.ttl': '0',
  282. 'xcache.gc_interval': '0',
  283. 'xcache.var_size': '4M',
  284. 'xcache.var_count': '1',
  285. 'xcache.var_slots': '8K',
  286. 'xcache.var_ttl': '0',
  287. 'xcache.var_maxttl': '0',
  288. 'xcache.var_gc_interval': '300',
  289. 'xcache.var_namespace_mode': '0',
  290. 'xcache.var_namespace': '""',
  291. 'xcache.readonly_protection': 'Off',
  292. 'xcache.mmap_path': '"/dev/zero"',
  293. 'xcache.coredump_directory': '""',
  294. 'xcache.coredump_type': '0',
  295. 'xcache.disable_on_crash': 'Off',
  296. 'xcache.experimental': 'Off',
  297. 'xcache.cacher': 'On',
  298. 'xcache.stat': 'On',
  299. 'xcache.optimizer': 'Off',
  300. },
  301. 'xcache.coverager': {
  302. 'xcache.coverager': 'Off',
  303. 'xcache.coverager_autostart': 'On',
  304. 'xcache.coveragedump_directory': '""',
  305. },
  306. },
  307. 'opts': {},
  308. 'settings': {},
  309. }
  310. },
  311. 'ini': {
  312. 'defaults': {
  313. 'PHP': {
  314. 'engine': 'On',
  315. 'short_open_tag': 'Off',
  316. 'asp_tags': 'Off',
  317. 'precision': 14,
  318. 'output_buffering': 4096,
  319. 'zlib.output_compression': 'Off',
  320. 'implicit_flush': 'Off',
  321. 'serialize_precision': 17,
  322. 'disable_functions': ['pcntl_alarm','pcntl_fork','pcntl_waitpid','pcntl_wait','pcntl_wifexited','pcntl_wifstopped','pcntl_wifsignaled',
  323. 'pcntl_wexitstatus','pcntl_wtermsig','pcntl_wstopsig','pcntl_signal','pcntl_signal_dispatch','pcntl_get_last_error','pcntl_strerror',
  324. 'pcntl_sigprocmask','pcntl_sigwaitinfo','pcntl_sigtimedwait','pcntl_exec','pcntl_getpriority','pcntl_setpriority'],
  325. 'zend.enable_gc': 'On',
  326. 'expose_php': 'On',
  327. 'max_execution_time': 30,
  328. 'max_input_time': 60,
  329. 'max_input_nesting_level': 64,
  330. 'max_input_vars': 1000,
  331. 'memory_limit': '128M',
  332. 'error_reporting': ['E_ALL', '~E_DEPRECATED', '~E_STRICT'],
  333. 'display_errors': 'Off',
  334. 'display_startup_errors': 'Off',
  335. 'log_errors': 'On',
  336. 'log_errors_max_len': 1024,
  337. 'ignore_repeated_errors': 'Off',
  338. 'ignore_repeated_source': 'Off',
  339. 'report_memleaks': 'On',
  340. 'track_errors': 'Off',
  341. 'html_errors': 'On',
  342. 'variables_order': 'GPCS',
  343. 'request_order': 'GP',
  344. 'register_argc_argv': 'Off',
  345. 'auto_globals_jit': 'On',
  346. 'post_max_size': '8M',
  347. 'default_mimetype': '"text/html"',
  348. 'enable_dl': 'Off',
  349. 'file_uploads': 'On',
  350. 'upload_max_filesize': '2M',
  351. 'max_file_uploads': 20,
  352. 'allow_url_fopen': 'On',
  353. 'allow_url_include': 'Off',
  354. 'default_socket_timeout': 60
  355. },
  356. 'CLI Server': {
  357. 'cli_server.color': 'On'
  358. },
  359. 'Date': {
  360. 'date.timezone': 'America/New_York'
  361. },
  362. 'Pdo_mysql': {
  363. 'pdo_mysql.cache_size': 2000
  364. },
  365. 'mail function': {
  366. 'SMTP': 'localhost',
  367. 'mail.add_x_header': 'On'
  368. },
  369. 'SQL': {
  370. 'sql.safe_mode': 'Off'
  371. },
  372. 'ODBC': {
  373. 'odbc.allow_persistent': 'On',
  374. 'odbc.check_persistent': 'On',
  375. 'odbc.max_persistent': '-1',
  376. 'odbc.max_links': '-1',
  377. 'odbc.defaultlrl': 4096,
  378. 'odbc.defaultbinmode': 1
  379. },
  380. 'Interbase': {
  381. 'ibase.allow_persistent': 1,
  382. 'ibase.max_persistent': -1,
  383. 'ibase.max_links': -1,
  384. 'ibase.timestampformat': '"%Y-%m-%d %H:%M:%S"',
  385. 'ibase.dateformat': '"%Y-%m-%d"',
  386. 'ibase.timeformat': '"%H:%M:%S"'
  387. },
  388. 'MySQL': {
  389. 'mysql.allow_local_infile': 'On',
  390. 'mysql.allow_persistent': 'On',
  391. 'mysql.cache_size': '2000',
  392. 'mysql.max_persistent': -1,
  393. 'mysql.max_links': -1,
  394. 'mysql.connect_timeout': 60,
  395. 'mysql.trace_mode': 'Off'
  396. },
  397. 'MySQLi': {
  398. 'mysqli.max_persistent': -1,
  399. 'mysqli.allow_persistent': 'On',
  400. 'mysqli.max_links': -1,
  401. 'mysqli.cache_size': 2000,
  402. 'mysqli.default_port': 3306,
  403. 'mysqli.reconnect': 'Off'
  404. },
  405. 'mysqlnd': {
  406. 'mysqlnd.collect_statistics': 'On',
  407. 'mysqlnd.collect_memory_statistics': 'Off'
  408. },
  409. 'PostgreSQL': {
  410. 'pgsql.allow_persistent': 'On',
  411. 'pgsql.auto_reset_persistent': 'Off',
  412. 'pgsql.max_persistent': -1,
  413. 'pgsql.max_links': -1,
  414. 'pgsql.ignore_notice': 0,
  415. 'pgsql.log_notice': 0
  416. },
  417. 'Sybase-CT': {
  418. 'sybct.allow_persistent': 'On',
  419. 'sybct.max_persistent': -1,
  420. 'sybct.max_links': -1,
  421. 'sybct.min_server_severity': 10,
  422. 'sybct.min_client_severity': 10
  423. },
  424. 'bcmath': {
  425. 'bcmath.scale': 0
  426. },
  427. 'Session': {
  428. 'session.save_handler': 'files',
  429. 'session.use_strict_mode': 0,
  430. 'session.use_cookies': 1,
  431. 'session.use_only_cookies': 1,
  432. 'session.name': 'PHPSESSID',
  433. 'session.auto_start': 0,
  434. 'session.cookie_lifetime': 0,
  435. 'session.cookie_path': '/',
  436. 'session.serialize_handler': 'php',
  437. 'session.gc_probability': 0,
  438. 'session.gc_divisor': 1000,
  439. 'session.gc_maxlifetime': 1440,
  440. 'session.bug_compat_42': 'Off',
  441. 'session.bug_compat_warn': 'Off',
  442. 'session.cache_limiter': 'nocache',
  443. 'session.cache_expire': '180',
  444. 'session.use_trans_sid': 0,
  445. 'session.hash_function': 0,
  446. 'session.hash_bits_per_character': 5,
  447. 'url_rewriter.tags': '"a=href,area=href,frame=src,input=src,form=fakeentry"'
  448. },
  449. 'MSSQL': {
  450. 'mssql.allow_persistent': 'On',
  451. 'mssql.max_persistent': -1,
  452. 'mssql.max_links': -1,
  453. 'mssql.min_error_severity': 10,
  454. 'mssql.min_message_severity': 10,
  455. 'mssql.compatibility_mode': 'Off',
  456. 'mssql.secure_connection': 'Off'
  457. },
  458. 'Tidy': {
  459. 'tidy.clean_output': 'Off'
  460. },
  461. 'soap': {
  462. 'soap.wsdl_cache_enabled': 1,
  463. 'soap.wsdl_cache_dir': '"/tmp"',
  464. 'soap.wsdl_cache_ttl': 86400,
  465. 'soap.wsdl_cache_limit': 5
  466. },
  467. 'ldap': {
  468. 'ldap.max_links': -1
  469. },
  470. },
  471. },
  472. }, merge=True) %}