1
2
3
4
5
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
45
46
47
48
49
50
51
52
|
# File 'manifests/ioncube.pp', line 1
class php::ioncube(
$srcdir = '/usr/local/src',
$basedir = '/opt',
) inherits php::params {
#
Exec {
path => '/usr/sbin:/usr/bin:/sbin:/bin',
}
if($php::params::phpversion==undef)
{
fail('ioncube installation unsupported')
}
exec { 'ioncube which wget':
command => 'which wget',
unless => 'which wget',
}
exec { "mkdir srcdir ${srcdir}":
command => "mkdir -p ${srcdir}",
creates => $srcdir,
}
exec { "mkdir basedir ${basedir}":
command => "mkdir -p ${basedir}",
creates => $basedir,
}
# https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
exec { 'wget ioncubeloader':
command => "wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -O ${srcdir}/ioncube_loaders.tar.gz",
creates => "${srcdir}/ioncube_loaders.tar.gz",
require => Exec[ [ 'ioncube which wget', "mkdir srcdir ${srcdir}", "mkdir basedir ${basedir}" ] ],
}
exec { 'tar xzf ioncube_loaders':
command => "tar xzf ${srcdir}/ioncube_loaders.tar.gz -C ${basedir}",
creates => "${basedir}/ioncube/README.txt",
require => Exec['wget ioncubeloader'],
}
file { "${php::params::confbase}/mods-available/ioncube.ini":
ensure => present,
owner => 'root',
group => 'root',
mode => '0644',
content => "zend_extension=${basedir}/ioncube/ioncube_loader_lin_${php::params::phpversion}.so\n",
require => Exec['tar xzf ioncube_loaders'],
}
}
|