Fix doc_root and add php-wrapper
This commit is contained in:
@@ -97,7 +97,7 @@ Manages a single isolated PHP application.
|
|||||||
|
|
||||||
**Parameters:**
|
**Parameters:**
|
||||||
|
|
||||||
* `root_dir` (Stdlib::Absolutepath): The application's document root.
|
* `root_dir` (String): The application's document root under `/var/www/${user}/`
|
||||||
* `user` (String): The username to create for this application.
|
* `user` (String): The username to create for this application.
|
||||||
* `listen_port` (String): The local port the application will listen on (e.g., '9010').
|
* `listen_port` (String): The local port the application will listen on (e.g., '9010').
|
||||||
* `group` (String): The group for the user (default: `$user`).
|
* `group` (String): The group for the user (default: `$user`).
|
||||||
|
|||||||
3
files/php-wrapper.sh
Normal file
3
files/php-wrapper.sh
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec /usr/bin/frankenphp php-cli "$@"
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# modules/frankenphp/manifests/app.pp
|
# modules/frankenphp/manifests/app.pp
|
||||||
|
|
||||||
define frankenphp::app (
|
define frankenphp::app (
|
||||||
Stdlib::Absolutepath $root_dir,
|
|
||||||
String $user,
|
String $user,
|
||||||
String $listen_port,
|
String $listen_port,
|
||||||
String $group = $user,
|
String $group = $user,
|
||||||
|
String $root_dir = 'www',
|
||||||
Stdlib::Absolutepath $docs_root = '/var/www',
|
Stdlib::Absolutepath $docs_root = '/var/www',
|
||||||
String $app_caddyfile_dir = '/etc/frankenphp/sites.d',
|
String $app_caddyfile_dir = '/etc/frankenphp/sites.d',
|
||||||
String $supervisor_conf_dir = '/etc/supervisor/conf.d',
|
String $supervisor_conf_dir = '/etc/supervisor/conf.d',
|
||||||
@@ -15,11 +15,13 @@ define frankenphp::app (
|
|||||||
$app_name = $title
|
$app_name = $title
|
||||||
$app_caddyfile = "${app_caddyfile_dir}/${app_name}.Caddyfile"
|
$app_caddyfile = "${app_caddyfile_dir}/${app_name}.Caddyfile"
|
||||||
$supervisor_conf = "${supervisor_conf_dir}/frankenphp-${app_name}.conf"
|
$supervisor_conf = "${supervisor_conf_dir}/frankenphp-${app_name}.conf"
|
||||||
|
$full_root_dir = "${docs_root}/${user}/${root_dir}"
|
||||||
|
|
||||||
exec { "refresh-frankenphp-${app_name}":
|
exec { "refresh-frankenphp-${app_name}":
|
||||||
command => "supervisorctl restart frankenphp-${app_name}",
|
command => "supervisorctl restart frankenphp-${app_name}",
|
||||||
path => ['/usr/bin', '/bin'],
|
path => ['/usr/bin', '/bin'],
|
||||||
refreshonly => true,
|
refreshonly => true,
|
||||||
|
require => Supervisord::Program["frankenphp-${app_name}"],
|
||||||
}
|
}
|
||||||
|
|
||||||
if $ensure == 'present' {
|
if $ensure == 'present' {
|
||||||
@@ -36,8 +38,17 @@ define frankenphp::app (
|
|||||||
|
|
||||||
# Directories
|
# Directories
|
||||||
ensure_resource('file', $app_caddyfile_dir, { ensure => 'directory' })
|
ensure_resource('file', $app_caddyfile_dir, { ensure => 'directory' })
|
||||||
if ! $managed_root_dir {
|
|
||||||
ensure_resource('file', $root_dir, {
|
ensure_resource('file', "${docs_root}/${user}", {
|
||||||
|
ensure => 'directory',
|
||||||
|
owner => $user,
|
||||||
|
group => $group,
|
||||||
|
mode => '0755',
|
||||||
|
require => User[$user],
|
||||||
|
})
|
||||||
|
|
||||||
|
if $managed_root_dir {
|
||||||
|
ensure_resource('file', $full_root_dir, {
|
||||||
ensure => 'directory',
|
ensure => 'directory',
|
||||||
owner => $user,
|
owner => $user,
|
||||||
group => $group,
|
group => $group,
|
||||||
@@ -49,7 +60,7 @@ define frankenphp::app (
|
|||||||
# Caddyfile
|
# Caddyfile
|
||||||
$caddy_content = epp('frankenphp/app_caddyfile.epp', {
|
$caddy_content = epp('frankenphp/app_caddyfile.epp', {
|
||||||
listen_port => $listen_port,
|
listen_port => $listen_port,
|
||||||
root_dir => $root_dir,
|
root_dir => $full_root_dir,
|
||||||
})
|
})
|
||||||
|
|
||||||
file { $app_caddyfile:
|
file { $app_caddyfile:
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
class frankenphp::config (
|
class frankenphp::config (
|
||||||
$caddyfile_path = $frankenphp::params::caddyfile_path,
|
$caddyfile_path = $frankenphp::params::caddyfile_path,
|
||||||
$service_name = $frankenphp::params::service_name,
|
$service_name = $frankenphp::params::service_name,
|
||||||
|
$php_wrapper = $frankenphp::params::php_wrapper,
|
||||||
) inherits frankenphp::params {
|
) inherits frankenphp::params {
|
||||||
|
|
||||||
$caddyfile_dir = dirname($caddyfile_path)
|
$caddyfile_dir = dirname($caddyfile_path)
|
||||||
@@ -33,4 +34,14 @@ class frankenphp::config (
|
|||||||
|
|
||||||
EOT
|
EOT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Install php wrapper
|
||||||
|
if $php_wrapper {
|
||||||
|
file { '/usr/local/bin/php':
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
mode => '0755',
|
||||||
|
source => 'puppet:///modules/frankenphp/php-wrapper.sh',
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ class frankenphp::params {
|
|||||||
$service_name = 'frankenphp'
|
$service_name = 'frankenphp'
|
||||||
$caddyfile_path = '/etc/frankenphp/Caddyfile'
|
$caddyfile_path = '/etc/frankenphp/Caddyfile'
|
||||||
$download_dir = '/tmp'
|
$download_dir = '/tmp'
|
||||||
|
$php_wrapper = true
|
||||||
$arch = $facts['architecture']
|
$arch = $facts['architecture']
|
||||||
$deb_filename = "frankenphp_${version}-1_${arch}.deb"
|
$deb_filename = "frankenphp_${version}-1_${arch}.deb"
|
||||||
$local_deb_path = "${download_dir}/${deb_filename}"
|
$local_deb_path = "${download_dir}/${deb_filename}"
|
||||||
|
|||||||
Reference in New Issue
Block a user