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.

README.rst 13KB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
5 years ago
5 years ago
5 years ago
5 years ago
10 years ago
10 years ago
10 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783
  1. .. _readme:
  2. php-formula
  3. ===========
  4. |img_travis| |img_sr|
  5. .. |img_travis| image:: https://travis-ci.com/saltstack-formulas/php-formula.svg?branch=master
  6. :alt: Travis CI Build Status
  7. :scale: 100%
  8. :target: https://travis-ci.com/saltstack-formulas/php-formula
  9. .. |img_sr| image:: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
  10. :alt: Semantic Release
  11. :scale: 100%
  12. :target: https://github.com/semantic-release/semantic-release
  13. Formula to set up and configure php
  14. .. contents:: **Table of Contents**
  15. General notes
  16. -------------
  17. See the full `SaltStack Formulas installation and usage instructions
  18. <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_.
  19. If you are interested in writing or contributing to formulas, please pay attention to the `Writing Formula Section
  20. <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#writing-formulas>`_.
  21. If you want to use this formula, please pay attention to the ``FORMULA`` file and/or ``git tag``,
  22. which contains the currently released version. This formula is versioned according to `Semantic Versioning <http://semver.org/>`_.
  23. See `Formula Versioning Section <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#versioning>`_ for more details.
  24. Contributing to this repo
  25. -------------------------
  26. **Commit message formatting is significant!!**
  27. Please see :ref:`How to contribute <CONTRIBUTING>` for more details.
  28. Available states
  29. ----------------
  30. .. contents::
  31. :local:
  32. ``php``
  33. ^^^^^^^
  34. Installs the php package.
  35. ``php.adodb``
  36. ^^^^^^^^^^^^^
  37. Installs the php-adodb package.
  38. ``php.apc``
  39. ^^^^^^^^^^^
  40. Installs the php-apc package.
  41. Disabled by default on opensuse need server:php repo
  42. ``php.apcu``
  43. ^^^^^^^^^^^^
  44. Installs the php-apcu package.
  45. Disabled by default on opensuse need server:php repo
  46. ``php.bcmath``
  47. ^^^^^^^^^^^^^^
  48. Installs the php-bcmath package.
  49. ``php.cgi``
  50. ^^^^^^^^^^^
  51. Installs the php-cgi package.
  52. Disabled on opensuse not available, only fastcgi
  53. ``php.cli``
  54. ^^^^^^^^^^^
  55. Installs the php-cli package.
  56. ``php.composer``
  57. ^^^^^^^^^^^^^^^^
  58. Installs [composer](https://getcomposer.org) and keeps it updated.
  59. ``php.curl``
  60. ^^^^^^^^^^^^
  61. Installs the php5-curl package on Debian, and ensures that curl itself is
  62. installed for RedHat systems, this is due to the curl libs being provided by
  63. php-common, which will get installed with the main php package.
  64. ``php.dev``
  65. ^^^^^^^^^^^
  66. Installs the php-dev package.
  67. ``php.fileinfo``
  68. ^^^^^^^^^^^^^^^^
  69. Installs the php-fileinfo package and enables it.
  70. ``php.fpm``
  71. ^^^^^^^^^^^
  72. Installs the php-fpm package, starts the service, and enables it.
  73. ``php.gd``
  74. ^^^^^^^^^^
  75. Installs the php-gd package.
  76. ``php.imagick``
  77. ^^^^^^^^^^^^^^^
  78. Installs the php-imagick package.
  79. Disabled on opensuse not available.
  80. ``php.imap``
  81. ^^^^^^^^^^^^
  82. Installs the php-imap package.
  83. ``php.intl``
  84. ^^^^^^^^^^^^
  85. Installs the php-intl package.
  86. ``php.json``
  87. ^^^^^^^^^^^^
  88. Installs the php-json package.
  89. ``php.ldap``
  90. ^^^^^^^^^^^^
  91. Installs the php-ldap package.
  92. ``php.mail``
  93. ^^^^^^^^^^^^
  94. Installs the php-mail package.
  95. ``php.mbstring``
  96. ^^^^^^^^^^^^^^^^
  97. Installs the php-mbstring package.
  98. ``php.mcrypt``
  99. ^^^^^^^^^^^^^^
  100. Installs the php-mcrypt package.
  101. ``php.memcache``
  102. ^^^^^^^^^^^^^^^^
  103. Installs the php-memcache package.
  104. Disabled on opensuse need server:php:extensions repo
  105. ``php.memcached``
  106. ^^^^^^^^^^^^^^^^^
  107. Installs the php-memcached package.
  108. Disabled on opensuse need server:php:extensions repo
  109. ``php.mongo``
  110. ^^^^^^^^^^^^^
  111. Installs the php-mongo package.
  112. Disabled on opensuse need server:php:extensions repo
  113. ``php.mysql``
  114. ^^^^^^^^^^^^^
  115. Installs the php-mysql package.
  116. ``php.mysqlnd``
  117. ^^^^^^^^^^^^^^^
  118. Installs the php-mysqlnd package.
  119. Disabled on opensuse no package.
  120. ``php.oauth``
  121. ^^^^^^^^^^^^^
  122. Installs the php-oauth package.
  123. ``php.pear``
  124. ^^^^^^^^^^^^
  125. Installs the php-pear package.
  126. ``php.pgsql``
  127. ^^^^^^^^^^^^^
  128. Installs the php-pgsql package.
  129. ``php.readline``
  130. ^^^^^^^^^^^^^^^^
  131. Installs the php-readline package.
  132. ``php.redis``
  133. ^^^^^^^^^^^^^
  134. Installs the php-redis package.
  135. Disabled on opensuse need server:php:extensions repo
  136. ``php.soap``
  137. ^^^^^^^^^^^^
  138. Installs the php-soap package.
  139. ``php.sqlite``
  140. ^^^^^^^^^^^^^^
  141. Installs the php-sqlite package,
  142. ``php.suhosin``
  143. ^^^^^^^^^^^^^^^
  144. Installs the php-suhosin package.
  145. ``php.sybase``
  146. ^^^^^^^^^^^^^^
  147. Installs the php-sybase package for Sybase/MS-SQL. Debian / Ubuntu as RedHat has no similar package.
  148. ``php.tokenizer``
  149. ^^^^^^^^^^^^^^^^^
  150. Installs the php-tokenizer package and enables it.
  151. ``php.xml``
  152. ^^^^^^^^^^^
  153. Installs the php-xml package.
  154. ``php.zip``
  155. ^^^^^^^^^^^
  156. Installs the php-zip package.
  157. Next-generation, alternate approach
  158. -----------------------------------
  159. The following states provide an alternate approach to managing PHP and FPM
  160. pools, as well as code organization. Please provide feedback by filing issues,
  161. discussing in ``#salt`` in Freenode and the mailing list as normal.
  162. **Note:** php.ng states require the merge parameter of salt.modules.pillar.get(),
  163. first available in the Helium release.
  164. .. contents::
  165. :local:
  166. ``php.ng``
  167. ^^^^^^^^^^
  168. Installs the php package.
  169. ``php.ng.adodb``
  170. ^^^^^^^^^^^^^^^^
  171. Installs the php-adodb package.
  172. ``php.ng.apache2``
  173. ^^^^^^^^^^^^^^^^^^
  174. Meta-state that combines `php.ng.apache2.install`_ and `php.ng.apache2.ini`_.
  175. ``php.ng.apache2.ini``
  176. ^^^^^^^^^^^^^^^^^^^^^^
  177. Manages the apache2 php.ini file
  178. ``php.ng.apache2.install``
  179. ^^^^^^^^^^^^^^^^^^^^^^^^^^
  180. Installs the apache2 and libapache2-mod-php5 package. Debian Only.
  181. ``php.ng.apc``
  182. ^^^^^^^^^^^^^^
  183. Installs the php-apc package.
  184. Disabled on opensuse need server:php repo
  185. ``php.ng.apcu``
  186. ^^^^^^^^^^^^^^^
  187. Installs the php-apcu package.
  188. Disabled on opensuse need server:php repo
  189. ``php.ng.auth-sasl``
  190. ^^^^^^^^^^^^^^^^^^^^
  191. Installs the php-auth-sasl package.
  192. ``php.ng.bcmath``
  193. ^^^^^^^^^^^^^^^^^
  194. Installs the php-bcmath package.
  195. ``php.ng.bz2``
  196. ^^^^^^^^^^^^^^
  197. Installs the php-bz2 package.
  198. ``php.ng.cache-lite``
  199. ^^^^^^^^^^^^^^^^^^^^^
  200. Installs the php-cache-lite package.
  201. ``php.ng.cgi``
  202. ^^^^^^^^^^^^^^
  203. Installs the php-cgi package.
  204. Disabled on opensuse only php5-fastcgi available.
  205. ``php.ng.cli``
  206. ^^^^^^^^^^^^^^
  207. Meta-state that combines `php.ng.cli.install`_ and `php.ng.cli.ini`_.
  208. ``php.ng.cli.ini``
  209. ^^^^^^^^^^^^^^^^^^
  210. Manages the php-cli ini file.
  211. ``php.ng.cli.install``
  212. ^^^^^^^^^^^^^^^^^^^^^^
  213. Installs the php-cli package.
  214. ``php.ng.composer``
  215. ^^^^^^^^^^^^^^^^^^^
  216. Installs [composer](https://getcomposer.org) and keeps it updated.
  217. ``php.ng.console-table``
  218. ^^^^^^^^^^^^^^^^^^^^^^^^
  219. Installs the php-console-table package.
  220. ``php.ng.ctype``
  221. ^^^^^^^^^^^^^^^^
  222. Installs the php-ctype package.
  223. ``php.ng.curl``
  224. ^^^^^^^^^^^^^^^
  225. Installs the php5-curl package on Debian, and ensures that curl itself is
  226. installed for RedHat systems, this is due to the curl libs being provided by
  227. php-common, which will get installed with the main php package.
  228. ``php.ng.dba``
  229. ^^^^^^^^^^^^^^
  230. Installs the php-dba package.
  231. ``php.ng.dev``
  232. ^^^^^^^^^^^^^^
  233. Installs the php5-dev and build-essential package.
  234. ``php.ng.filter``
  235. ^^^^^^^^^^^^^^^^^
  236. Installs the php-filter package.
  237. ``php.ng.fpm``
  238. ^^^^^^^^^^^^^^
  239. Meta-state that combines all php.ng.fpm states.
  240. ``php.ng.fpm.config``
  241. ^^^^^^^^^^^^^^^^^^^^^
  242. Manages the (non-pool) php-fpm config files.
  243. ``php.ng.fpm.install``
  244. ^^^^^^^^^^^^^^^^^^^^^^
  245. Installs the php-fpm package.
  246. ``php.ng.fpm.pools``
  247. ^^^^^^^^^^^^^^^^^^^^
  248. Meta-state that combines `php.ng.fpm.service`_ and `php.ng.fpm.pools_config`_
  249. ``php.ng.fpm.pools_config``
  250. ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  251. Manages php-fpm pool config files.
  252. ``php.ng.fpm.service``
  253. ^^^^^^^^^^^^^^^^^^^^^^
  254. Manages the php-fpm service.
  255. ``php.ng.gd``
  256. ^^^^^^^^^^^^^
  257. Installs the php-gd package.
  258. ``php.ng.gearman``
  259. ^^^^^^^^^^^^^^^^^^
  260. Installs the php-gearman package.
  261. ``php.ng.geoip``
  262. ^^^^^^^^^^^^^^^^
  263. Installs the php-geoip package.
  264. ``php.ng.geshi``
  265. ^^^^^^^^^^^^^^^^
  266. Installs the php-geshi package.
  267. ``php.ng.gettext``
  268. ^^^^^^^^^^^^^^^^^^
  269. Installs the php-gettext package.
  270. ``php.ng.gmp``
  271. ^^^^^^^^^^^^^^
  272. Installs the php-gmp package. Debian Only.
  273. ``php.ng.hash``
  274. ^^^^^^^^^^^^^^^
  275. Installs the php-hash package.
  276. ``php.ng.http``
  277. ^^^^^^^^^^^^^^^
  278. Installs the php-http package.
  279. ``php.ng.hhvm``
  280. ^^^^^^^^^^^^^^^
  281. Meta-state that combines php.ng.hhvm states
  282. ``php.ng.hhvm.config``
  283. ^^^^^^^^^^^^^^^^^^^^^^
  284. Manages the php-hhvm config files
  285. ``php.ng.hhvm.install``
  286. ^^^^^^^^^^^^^^^^^^^^^^^
  287. Installs the php-hhvm package
  288. ``php.ng.hhvm.repo``
  289. ^^^^^^^^^.REPO^^^^^^
  290. Configures the hhvm repo for debian/ubuntu
  291. ``php.ng.hhvm.service``
  292. ^^^^^^^^^^^^^^^^^^^^^^^
  293. Manages the php-hhvm service.
  294. ``php.ng.igbinary``
  295. ^^^^^^^^^^^^^^^^^^^
  296. Installs the php-igbinary package.
  297. ``php.ng.imagick``
  298. ^^^^^^^^^^^^^^^^^^
  299. Installs the php-imagick package.
  300. Disabled on opensuse no package.
  301. ``php.ng.imap``
  302. ^^^^^^^^^^^^^^^
  303. Installs the php-imap package.
  304. ``php.ng.intl``
  305. ^^^^^^^^^^^^^^^
  306. Installs the php-intl package.
  307. ``php.ng.json``
  308. ^^^^^^^^^^^^^^^
  309. Installs the php-json package.
  310. ``php.ng.ldap``
  311. ^^^^^^^^^^^^^^^
  312. Installs the php-ldap package.
  313. ``php.ng.mail``
  314. ^^^^^^^^^^^^^^^
  315. Installs the php-mail package.
  316. ``php.ng.mbstring``
  317. ^^^^^^^^^^^^^^^^^^^
  318. Installs the php-mbstring package.
  319. ``php.ng.mcrypt``
  320. ^^^^^^^^^^^^^^^^^
  321. Installs the php-mcrypt package.
  322. ``php.ng.mdb2``
  323. ^^^^^^^^^^^^^^^
  324. Installs the php-mdb2 package.
  325. ``php.ng.mdb2-driver-mysql``
  326. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  327. Installs the php-mdb2-driver-mysql package.
  328. ``php.ng.mdb2-driver-pgsql``
  329. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  330. Installs the php-mdb2-driver-pgsql package.
  331. ``php.ng.memcache``
  332. ^^^^^^^^^^^^^^^^^^^
  333. Installs the php-memcache package.
  334. Disabled on opensuse need server:php:extensions repo
  335. ``php.ng.memcached``
  336. ^^^^^^^^^^^^^^^^^^^^
  337. Installs the php-memcached package.
  338. Disabled on opensuse need server:php:extensions repo
  339. ``php.ng.modules``
  340. ^^^^^^^^^^^^^^^^^^
  341. Calls ``php.ng.<name>`` for each entry in ``php:ng:modules`` if available, or
  342. try to install the matching packages that can be set via from
  343. ``php:ng:lookup:pkgs``
  344. ``php.ng.mongo``
  345. ^^^^^^^^^^^^^^^^
  346. Installs the php-mongo package.
  347. ``php.ng.mongodb``
  348. ^^^^^^^^^^^^^^^^^^
  349. Installs the php-mongodb package.
  350. ``php.ng.msgpack``
  351. ^^^^^^^^^^^^^^^^^^
  352. Installs the php-msgpack package.
  353. ``php.ng.mysql``
  354. ^^^^^^^^^^^^^^^^
  355. Installs the php-mysql package.
  356. ``php.ng.mysqlnd``
  357. ^^^^^^^^^^^^^^^^^^
  358. Installs the php-mysqlnd package.
  359. Disabled on opensuse no package.
  360. ``php.ng.net-smtp``
  361. ^^^^^^^^^^^^^^^^^^^
  362. Installs the php-net-smtp package.
  363. ``php.ng.net4``
  364. ^^^^^^^^^^^^^^^
  365. Installs the php-net4 package.
  366. ``php.ng.net6``
  367. ^^^^^^^^^^^NET6
  368. Installs the php-net6 package.
  369. ``php.ng.oauth``
  370. ^^^^^^^^^^^^^^^^
  371. Installs the php-oauth package.
  372. ``php.ng.opcache``
  373. ^^^^^^^^^^^^^^^^^^
  374. Installs the php-opcache package.
  375. ``php.ng.openssl``
  376. ^^^^^^^^^^^^^^^^^^
  377. Installs the php-openssl package.
  378. ``php.ng.pear``
  379. ^^^^^^^^^^^^^^^
  380. Installs the php-pear package.
  381. ``php.ng.pgsql``
  382. ^^^^^^^^^^^^^^^^
  383. Installs the php-pgsql package.
  384. ``php.ng.phar``
  385. ^^^^^^^^^^^^^^^
  386. Installs the php-phar package.
  387. ``php.ng.posix``
  388. ^^^^^^^^^^^^^^^^
  389. Installs the php-posix package.
  390. ``php.ng.pspell``
  391. ^^^^^^^^^^^^^^^^^
  392. Installs the php-pspell package.
  393. ``php.ng.readline``
  394. ^^^^^^^^^^^^^^^^^^^
  395. Installs the php-readline package.
  396. ``php.ng.redis``
  397. ^^^^^^^^^^^^^^^^
  398. Installs the php-redis package.
  399. Disabled on opensuse need server:php:extensions repo
  400. ``php.ng.seclib``
  401. ^^^^^^^^^^^^^^^^^
  402. Installs the php-seclib package.
  403. ``php.ng.session``
  404. ^^^^^^^^^^^^^^^^^^
  405. Installs the php-session package.
  406. ``php.ng.snmp``
  407. ^^^^^^^^^^^^^^^
  408. Installs the php-snmp package.
  409. ``php.ng.soap``
  410. ^^^^^^^^^^^^^^^
  411. Installs the php-soap package.
  412. ``php.ng.sqlite``
  413. ^^^^^^^^^^^^^^^^^
  414. Installs the php-sqlite package,
  415. ``php.ng.ssh2``
  416. ^^^^^^^^^^^^^^^
  417. Installs the php-ssh2 package,
  418. ``php.ng.suhosin``
  419. ^^^^^^^^^^^^^^^^^^
  420. Installs the php-suhosin package.
  421. ``php.ng.svn``
  422. ^^^^^^^^^^^^^^
  423. Installs the php-svn package.
  424. ``php.ng.sybase``
  425. ^^^^^^^^^^^^^^^^^
  426. Installs the php-sybase package.
  427. ``php.ng.tcpdf``
  428. ^^^^^^^^^^^^^^^^
  429. Installs the php-tcpdf package.
  430. ``php.ng.tidy``
  431. ^^^^^^^^^^^^^^^
  432. Installs the php-tidy package.
  433. ``php.ng.uuid``
  434. ^^^^^^^^^^^^^^^
  435. Installs the php-uuid package.
  436. ``php.ng.xcache``
  437. ^^^^^^^^^^^^^^^^^
  438. Meta-state that combines `php.ng.xcache.install`_ and `php.ng.xcache.ini`_.
  439. ``php.ng.xcache.ini``
  440. ^^^^^^^^^^^^^^^^^^^^^
  441. Manages the php-xcache ini file
  442. ``php.ng.xcache.install``
  443. ^^^^^^^^^^^^^^^^^^^^^^^^^
  444. Installs the php-xcache package.
  445. Disabled on opensuse need server:php:extensions repo
  446. ``php.ng.xdebug``
  447. ^^^^^^^^^^^^^^^^^
  448. Installs the php-xdebug package.
  449. ``php.ng.xml``
  450. ^^^^^^^^^^^^^^
  451. Installs the php-xml package.
  452. ``php.ng.xsl``
  453. ^^^^^^^^^^^^^^
  454. Installs the php-xsl package.
  455. ``php.ng.zip``
  456. ^^^^^^^^^^^^^^
  457. Installs the php-zip package.
  458. Testing
  459. -------
  460. Linux testing is done with ``kitchen-salt``.
  461. Requirements
  462. ^^^^^^^^^^^^
  463. * Ruby
  464. * Docker
  465. .. code-block:: bash
  466. $ gem install bundler
  467. $ bundle install
  468. $ bin/kitchen test [platform]
  469. Where ``[platform]`` is the platform name defined in ``kitchen.yml``,
  470. e.g. ``debian-9-2019-2-py3``.
  471. ``bin/kitchen converge``
  472. ^^^^^^^^^^^^^^^^^^^^^^^^
  473. Creates the docker instance and runs the ``template`` main state, ready for testing.
  474. ``bin/kitchen verify``
  475. ^^^^^^^^^^^^^^^^^^^^^^
  476. Runs the ``inspec`` tests on the actual instance.
  477. ``bin/kitchen destroy``
  478. ^^^^^^^^^^^^^^^^^^^^^^^
  479. Removes the docker instance.
  480. ``bin/kitchen test``
  481. ^^^^^^^^^^^^^^^^^^^^
  482. Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``verify`` + ``destroy``.
  483. ``bin/kitchen login``
  484. ^^^^^^^^^^^^^^^^^^^^^
  485. Gives you SSH access to the instance for manual testing.