Add PHP-related factory functions
This commit is contained in:
parent
c431e578e6
commit
c17267ada3
3 changed files with 37 additions and 7 deletions
|
|
@ -1,11 +1,8 @@
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
|
|
||||||
use std::collections::HashMap;
|
|
||||||
|
|
||||||
use command_runner::CommandRunner;
|
use command_runner::CommandRunner;
|
||||||
use command_runner::StdCommandRunner;
|
|
||||||
use loggers::StdErrLogger;
|
use loggers::StdErrLogger;
|
||||||
use repository::{DispatchingSymbolRepository, SymbolRepository};
|
use repository::SymbolRepository;
|
||||||
use resources::Resource;
|
use resources::Resource;
|
||||||
use schema::{NonRepeatingSymbolRunner, ReportingSymbolRunner, RequirementsResolvingSymbolRunner};
|
use schema::{NonRepeatingSymbolRunner, ReportingSymbolRunner, RequirementsResolvingSymbolRunner};
|
||||||
use symbols::{Symbol, SymbolRunner};
|
use symbols::{Symbol, SymbolRunner};
|
||||||
|
|
@ -13,8 +10,7 @@ use symbols::dir::Dir;
|
||||||
use symbols::list::List;
|
use symbols::list::List;
|
||||||
use symbols::owner::Owner;
|
use symbols::owner::Owner;
|
||||||
use symbols::systemd::user_session::SystemdUserSession;
|
use symbols::systemd::user_session::SystemdUserSession;
|
||||||
use symbols::tls::TlsCsr;
|
use symbols::tls::{TlsCsr, TlsKey};
|
||||||
use symbols::tls::TlsKey;
|
|
||||||
use symbols::user::{User, UserAdder};
|
use symbols::user::{User, UserAdder};
|
||||||
use symbols::user::SystemUserAdder;
|
use symbols::user::SystemUserAdder;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ use symbols::acme::{AcmeCert, AcmeCertChain};
|
||||||
use symbols::file::File;
|
use symbols::file::File;
|
||||||
use symbols::hook::Hook;
|
use symbols::hook::Hook;
|
||||||
use symbols::list::ListAction;
|
use symbols::list::ListAction;
|
||||||
|
use symbols::nginx::server::NginxServer;
|
||||||
use symbols::systemd::reload::ReloadService;
|
use symbols::systemd::reload::ReloadService;
|
||||||
use symbols::tls::SelfSignedTlsCert;
|
use symbols::tls::SelfSignedTlsCert;
|
||||||
|
|
||||||
|
|
@ -52,4 +53,37 @@ impl<'b, C: 'b + CommandRunner, R: 'b + SymbolRunner> SymbolFactory<'b, C, R> {
|
||||||
}"
|
}"
|
||||||
)).into_action(self.symbol_runner)
|
)).into_action(self.symbol_runner)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_php_fpm_pool_socket_path<'a>(&'a self, user_name: &'static str) -> String {
|
||||||
|
format!("/run/php/{}.sock", user_name)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_php_fpm_pool<'a>(&'a self, user_name: &'static str) -> Box<Action + 'a> {
|
||||||
|
let socket = self.get_php_fpm_pool_socket_path(user_name);
|
||||||
|
Box::new(Hook::new(
|
||||||
|
File::new(
|
||||||
|
format!("/etc/php/7.0/fpm/pool.d/{}.conf", user_name),
|
||||||
|
format!(
|
||||||
|
"[{0}]
|
||||||
|
|
||||||
|
user = {0}
|
||||||
|
group = www-data
|
||||||
|
listen = {1}
|
||||||
|
listen.owner = www-data
|
||||||
|
pm = ondemand
|
||||||
|
pm.max_children = 10"
|
||||||
|
, user_name, socket)),
|
||||||
|
ReloadService::new("php7.0-fpm", self.command_runner)
|
||||||
|
)).into_action(self.symbol_runner)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_nginx_php_server<'a>(&'a self, host_name: &'static str, user_name: &'static str, root_dir: &'static str) -> NginxServer<'a, C, String> {
|
||||||
|
let socket = self.get_php_fpm_pool_socket_path(user_name);
|
||||||
|
NginxServer::new_php(
|
||||||
|
host_name,
|
||||||
|
socket.into(),
|
||||||
|
root_dir,
|
||||||
|
self.command_runner
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ location @proxy {{
|
||||||
NginxServer::new(domain, content, command_runner)
|
NginxServer::new(domain, content, command_runner)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn new_php(domain: &'a str, socket_path: &'a str, static_path: &'a str, command_runner: &'a C) -> Self {
|
pub fn new_php(domain: &'a str, socket_path: Cow<'a, str>, static_path: &'a str, command_runner: &'a C) -> Self {
|
||||||
let content = server_config(domain, &format!("
|
let content = server_config(domain, &format!("
|
||||||
root {};
|
root {};
|
||||||
index index.html index.php;
|
index index.html index.php;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue