annotate modules/website/manifests/php.pp @ 400:f354100b688a

Switch to Ubuntu-standard PHP FPM socket dir Ubuntu puts /tmp and /run on tmpfs, which gets wiped each reboot. While these directories *can* be nuked, they aren't on other platforms. Using the old paths, Puppet had to recreate the directory each boot. Using the new paths, Ubuntu handles creation within the systemd config. CentOS should just create once, migrate and work.
author IBBoard <dev@ibboard.co.uk>
date Wed, 20 Apr 2022 19:11:39 +0100
parents 2c6065b5be5e
children 76d18a918e7f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
99e3ca448d55 Fix Remi PHP on CentOS 8
IBBoard <dev@ibboard.co.uk>
parents: 246
diff changeset
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 ) {
390
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
6 if $osfamily == 'RedHat' {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
7 $listener_user = 'apache'
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
8 $listener_group = 'apache'
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
9 # Work around SELinux "denied execmem" warnings from preg_match JITing
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
10 $pcre_jit = 0
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
11 }
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
12 else {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
13 $listener_user = 'www-data'
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
14 $listener_group = 'www-data'
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
15 $pcre_jit = 1
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
16 }
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
17 class { '::php':
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
18 ensure => present,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
19 manage_repos => false,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
20 fpm => true,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
21 fpm_pools => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
22 'www' => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
23 'listen_owner' => $listener_user,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
24 'listen_group' => $listener_group,
400
f354100b688a Switch to Ubuntu-standard PHP FPM socket dir
IBBoard <dev@ibboard.co.uk>
parents: 399
diff changeset
25 'listen' => '/run/php/php-fpm.sock',
390
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
26 'slowlog' => '/var/log/php-fpm/www-slow.log',
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
27 'security_limit_extensions' => ['.php', '.html'],
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
28 'php_admin_value' => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
29 'memory_limit' => '256M',
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
30 },
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
31 'php_value' => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
32 # 'session.save_path' => '/var/lib/php/session' # Ubuntu uses plural, CentOS uses singular
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
33 },
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
34 },
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
35 },
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
36 dev => false,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
37 composer => false,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
38 pear => false,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
39 settings => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
40 'PHP/default_charset' => 'UTF-8',
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
41 'PHP/pcre.jit' => $pcre_jit,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
42 # Space isn't scarce these days - increase default sizes
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
43 'PHP/upload_max_filesize' => "8M",
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
44 'PHP/post_max_size' => "8M",
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
45 'Data/date.timezone' => 'UTC',
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
46 },
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
47 extensions => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
48 gd => {},
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
49 mbstring => {},
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
50 opcache => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
51 settings => {
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
52 'zend_extension' => 'opcache.so',
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
53 'opcache.enable' => 1,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
54 'opcache.enable_cli' => 1,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
55 'opcache.interned_strings_buffer' => 8,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
56 'opcache.max_accelerated_files' => 10000,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
57 'opcache.memory_consumption' => 128,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
58 'opcache.save_comments' => 1,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
59 'opcache.revalidate_freq' => 1,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
60 }
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
61 },
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
62 xml => {},
399
2c6065b5be5e Switch to config-based PHP extensions
IBBoard <dev@ibboard.co.uk>
parents: 390
diff changeset
63 } + $extras,
390
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
64 }
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
65 apache::custom_config { "php.conf":
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
66 ensure => present,
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
67 source => "puppet:///modules/website/php.conf"
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
68 }
df5ad1612af7 Adapt configs to support Ubuntu
IBBoard <dev@ibboard.co.uk>
parents: 357
diff changeset
69 class { ['apache::mod::proxy', 'apache::mod::proxy_fcgi']:}
0
956e484adc12 Initial public release of Puppet configs
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
70 }