Puppet Class: mediawiki::psysh

Defined in:
puppet/modules/mediawiki/manifests/psysh.pp

Overview

Class: mediawiki::psysh

Configures the system so that PsySH (an interactive PHP shell, included with MediaWiki) works well.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'puppet/modules/mediawiki/manifests/psysh.pp', line 6

class mediawiki::psysh {
    # make sure PsySH can write the history file
    file { '/home/vagrant/.config':
        ensure => directory,
        mode   => 'a+rx,u+rwx',
        owner  => 'vagrant',
        group  => 'vagrant',
    }
    file { '/home/vagrant/.config/psysh':
        ensure => directory,
        mode   => 'a+rx,u+rwx',
        owner  => 'www-data',
        group  => 'www-data',
    }
    file { '/home/vagrant/.config/psysh/config.php':
        source => 'puppet:///modules/mediawiki/psysh_config.php',
    }

    file { '/usr/local/share/psysh/':
        ensure => directory,
        mode   => 'a+rx',
    }
    exec { 'download PHP docs':
        command => 'curl -sO "http://psysh.org/manual/en/php_manual.sqlite"',
        cwd     => '/usr/local/share/psysh',
        creates => '/usr/local/share/psysh/php_manual.sqlite',
        require => [
            File['/usr/local/share/psysh/'],
            Package['curl'],
        ],
    }

    env::profile_script { 'psysh':
        content => "alias psysh=\"sudo --preserve-env -u www-data ${mediawiki::dir}/vendor/bin/psysh\"",
    }
    env::profile_script { 'phpsh to psysh':
        content => 'alias phpsh="mwscript shell.php --wiki=wiki"',
    }
}