Mercurial > repos > other > Puppet
annotate modules/website/manifests/php.pp @ 354:aad5c00b0525
Switch to Apache "events" and PHP via FCGI
This allows us to enabled http2 later
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 03 Oct 2020 13:38:30 +0100 |
parents | 85d2c0079af9 |
children | ff228d581972 |
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 ) { |
354
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
6 Package <| tag == 'php-package' |> -> File <| tag == 'php-file' |> ~> Service['php-fpm'] ~> Service['httpd'] |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
7 |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
8 $php_core = ($module != undef) ? { true => "php", default => "php${suffix}" } |
69
565b788f7ac1
Allow for specifying extra PHP packages (e.g. to enable Posix)
IBBoard <dev@ibboard.co.uk>
parents:
17
diff
changeset
|
9 |
354
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
10 package { $php_core: |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
11 provider => ($module != undef) ? { true => 'dnfmodule', default => undef }, |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
12 ensure => ($module != undef) ? { true => $module, default => installed }, |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
13 tag => 'php-package', |
179
89cd717361fd
Swap to PHP 7.2, since 7.0 is EOL now
IBBoard <dev@ibboard.co.uk>
parents:
169
diff
changeset
|
14 } |
89cd717361fd
Swap to PHP 7.2, since 7.0 is EOL now
IBBoard <dev@ibboard.co.uk>
parents:
169
diff
changeset
|
15 |
354
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
16 package { 'mod_fcgid': |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
17 ensure => installed, |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
18 } |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
19 class { ['apache::mod::proxy', 'apache::mod::proxy_fcgi']:} |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
20 |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
21 $packages = [ "php${suffix}-mbstring", "php${suffix}-xml", "php${suffix}-gd", "php${suffix}-fpm" ] |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
22 package { $packages: |
131
0dd899a10ee1
Change all "latest" packages to "installed"
IBBoard <dev@ibboard.co.uk>
parents:
120
diff
changeset
|
23 ensure => installed, |
246 | 24 tag => 'php-package', |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 } |
343
0d263bcbbfe9
Make sure PHP-FPM service isn't running
IBBoard <dev@ibboard.co.uk>
parents:
321
diff
changeset
|
26 |
0d263bcbbfe9
Make sure PHP-FPM service isn't running
IBBoard <dev@ibboard.co.uk>
parents:
321
diff
changeset
|
27 service { 'php-fpm': |
354
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
28 ensure => 'running', |
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
29 enable => true, |
343
0d263bcbbfe9
Make sure PHP-FPM service isn't running
IBBoard <dev@ibboard.co.uk>
parents:
321
diff
changeset
|
30 } |
354
aad5c00b0525
Switch to Apache "events" and PHP via FCGI
IBBoard <dev@ibboard.co.uk>
parents:
350
diff
changeset
|
31 |
321
cd1bcc06f09c
Actually install extra PHP packages
IBBoard <dev@ibboard.co.uk>
parents:
320
diff
changeset
|
32 website::php::extra { $extras: } |
246 | 33 |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 file { '/etc/php.d/custom-lockdown.ini': |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 ensure => present, |
106
ef0926ee389a
Lock down Apache headers for security, based on https://securityheaders.io/
IBBoard <dev@ibboard.co.uk>
parents:
94
diff
changeset
|
36 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
|
37 expose_php = Off', |
246 | 38 tag => 'php-file', |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 } |
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
|
40 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
|
41 ensure => present, |
120
b00eb9434938
Disable PCRE JIT to stop SELinux giving "denied execmem" for Apache
IBBoard <dev@ibboard.co.uk>
parents:
106
diff
changeset
|
42 source => 'puppet:///modules/website/custom-php.ini', |
246 | 43 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
|
44 } |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 |
350
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
46 package { "php${suffix}-opcache": |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
47 ensure => installed, |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
48 require => Package[$php_core], |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
49 tag => 'php-package', |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
50 } |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
51 # 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
|
52 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
|
53 ensure => absent, |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
54 } |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
55 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
|
56 ensure => present, |
85d2c0079af9
Make opcache core and add APCu for object caching
IBBoard <dev@ibboard.co.uk>
parents:
344
diff
changeset
|
57 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
|
58 tag => 'php-file', |
0
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
59 } |
956e484adc12
Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
60 } |