Mercurial > repos > other > Puppet
annotate modules/website/manifests/php.pp @ 350:85d2c0079af9
Make opcache core and add APCu for object caching
Nextcloud wants APCu for in-memory object caching.
Opcache has been "core" since v5.5 (althought we're still
importing Zend in one place, so maybe we're not doing it right!)
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 27 Sep 2020 12:59:34 +0100 |
parents | 3a104df81e44 |
children | aad5c00b0525 |
rev | line source |
---|---|
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 class website::php( |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 $suffix = '', |
320 | 3 $module = undef, |
69
565b788f7ac1
Allow for specifying extra PHP packages (e.g. to enable Posix)
IBBoard <dev@ibboard.co.uk>
parents:
17
diff
changeset
|
4 $extras = [], |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 ) { |
246 | 6 Package <| tag == 'php-package' |> -> File <| tag == 'php-file' |> ~> Service['httpd'] |
69
565b788f7ac1
Allow for specifying extra PHP packages (e.g. to enable Posix)
IBBoard <dev@ibboard.co.uk>
parents:
17
diff
changeset
|
7 |
320 | 8 if $module != undef { |
9 $php_core = 'php' | |
10 package { $php_core: | |
11 provider => 'dnfmodule', | |
12 ensure => $module, | |
13 tag => 'php-package', | |
14 } | |
179
89cd717361fd
Swap to PHP 7.2, since 7.0 is EOL now
IBBoard <dev@ibboard.co.uk>
parents:
169
diff
changeset
|
15 } else { |
320 | 16 if $suffix =~ /^7[1-9]w$/ { |
17 $php_core = "mod_php${suffix}" | |
18 } else { | |
19 $php_core = "php${suffix}" | |
20 } | |
21 package { $php_core: | |
22 ensure => installed, | |
23 tag => 'php-package', | |
24 } | |
179
89cd717361fd
Swap to PHP 7.2, since 7.0 is EOL now
IBBoard <dev@ibboard.co.uk>
parents:
169
diff
changeset
|
25 } |
89cd717361fd
Swap to PHP 7.2, since 7.0 is EOL now
IBBoard <dev@ibboard.co.uk>
parents:
169
diff
changeset
|
26 |
320 | 27 $packages = [ "php${suffix}-mbstring", "php${suffix}-xml", "php${suffix}-gd" ] |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 package { $packages: |
131
0dd899a10ee1
Change all "latest" packages to "installed"
IBBoard <dev@ibboard.co.uk>
parents:
120
diff
changeset
|
29 ensure => installed, |
246 | 30 tag => 'php-package', |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 } |
343
0d263bcbbfe9
Make sure PHP-FPM service isn't running
IBBoard <dev@ibboard.co.uk>
parents:
321
diff
changeset
|
32 |
0d263bcbbfe9
Make sure PHP-FPM service isn't running
IBBoard <dev@ibboard.co.uk>
parents:
321
diff
changeset
|
33 service { 'php-fpm': |
0d263bcbbfe9
Make sure PHP-FPM service isn't running
IBBoard <dev@ibboard.co.uk>
parents:
321
diff
changeset
|
34 ensure => 'stopped', |
344
3a104df81e44
Make sure php-fpm daemon isn't started while we're not using it
IBBoard <dev@ibboard.co.uk>
parents:
343
diff
changeset
|
35 enable => 'mask', |
343
0d263bcbbfe9
Make sure PHP-FPM service isn't running
IBBoard <dev@ibboard.co.uk>
parents:
321
diff
changeset
|
36 } |
321
cd1bcc06f09c
Actually install extra PHP packages
IBBoard <dev@ibboard.co.uk>
parents:
320
diff
changeset
|
37 website::php::extra { $extras: } |
246 | 38 |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 file { '/etc/php.d/custom-lockdown.ini': |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 ensure => present, |
106
ef0926ee389a
Lock down Apache headers for security, based on https://securityheaders.io/
IBBoard <dev@ibboard.co.uk>
parents:
94
diff
changeset
|
41 content => 'allow_url_fopen = \'off\' |
ef0926ee389a
Lock down Apache headers for security, based on https://securityheaders.io/
IBBoard <dev@ibboard.co.uk>
parents:
94
diff
changeset
|
42 expose_php = Off', |
246 | 43 tag => 'php-file', |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 } |
17
5ba2ddf53c29
Make sure we specify a default charset (even thought it defaults to UTF-8) because ownCloud complains
IBBoard <dev@ibboard.co.uk>
parents:
3
diff
changeset
|
45 file { '/etc/php.d/custom-php.ini': |
5ba2ddf53c29
Make sure we specify a default charset (even thought it defaults to UTF-8) because ownCloud complains
IBBoard <dev@ibboard.co.uk>
parents:
3
diff
changeset
|
46 ensure => present, |
120
b00eb9434938
Disable PCRE JIT to stop SELinux giving "denied execmem" for Apache
IBBoard <dev@ibboard.co.uk>
parents:
106
diff
changeset
|
47 source => 'puppet:///modules/website/custom-php.ini', |
246 | 48 tag => 'php-file', |
17
5ba2ddf53c29
Make sure we specify a default charset (even thought it defaults to UTF-8) because ownCloud complains
IBBoard <dev@ibboard.co.uk>
parents:
3
diff
changeset
|
49 } |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
50 |
350
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
51 package { "php${suffix}-opcache": |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
52 ensure => installed, |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
53 require => Package[$php_core], |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
54 tag => 'php-package', |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
55 } |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
56 # Use Remi's (and the OS's) naming convention |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
57 file { '/etc/php.d/opcache.ini': |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
58 ensure => absent, |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
59 } |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
60 file { '/etc/php.d/10-opcache.ini': |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
61 ensure => present, |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
62 source => "puppet:///modules/website/opcache.ini", |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
63 tag => 'php-file', |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
64 } |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
65 } |