diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index e9929475c177efb9bc1378d4fdb3c5c8ef638ae6..40938313775661351c9ef84cc2998dbf8da238a2 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -857,6 +857,8 @@ class installer_dist extends installer_base {
 		if($conf['apache']['installed'] == true){
 			$command = 'usermod -a -G ispconfig '.$conf['apache']['user'];
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'usermod -a -G ispapps '.$conf['apache']['user'];
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 		if($conf['nginx']['installed'] == true){
 			$command = 'usermod -a -G ispconfig '.$conf['nginx']['user'];
@@ -864,6 +866,8 @@ class installer_dist extends installer_base {
 			// Allow the ispapps vhost access to /etc/squirrelmail
 			$command = 'usermod -a -G '.$conf['apache']['group'].' ispapps';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'usermod -a -G ispapps '.$conf['nginx']['user']';
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 		
 		//* Make the shell scripts executable
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index ffc919d2906016cbc34312fd2a3797a08854f891..d4a261d7ab0f64bd96c037e0940f6102b8748faa 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -572,8 +572,10 @@ class installer extends installer_base
 			$command = 'adduser '.$conf['apache']['user'].' '.$apps_vhost_group;
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		
-			if (!@is_dir($install_dir)) {
+			if(!@is_dir($install_dir)){
 				mkdir($install_dir, 0755, true);
+			} else {
+				chmod($install_dir, 0755);
 			}
 			chown($install_dir, $apps_vhost_user);
 			chgrp($install_dir, $apps_vhost_group);
@@ -864,10 +866,14 @@ class installer extends installer_base
 		if($conf['apache']['installed'] == true){
 			$command = 'usermod -a -G ispconfig '.$conf['apache']['user'];
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'usermod -a -G ispapps '.$conf['apache']['user'];
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 		if($conf['nginx']['installed'] == true){
 			$command = 'usermod -a -G ispconfig '.$conf['nginx']['user'];
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'usermod -a -G ispapps '.$conf['nginx']['user'];
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 		
 		//* Make the shell scripts executable
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index e29b18ca0a8123134f93de26931edb80524b4f33..fbf4c68e0476d3a72b35c0594d94d90ce80fd09e 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -894,10 +894,14 @@ class installer_dist extends installer_base {
 		if($conf['apache']['installed'] == true){
 			$command = 'groupmod --add-user '.$conf['apache']['user'].' ispconfig';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'groupmod --add-user '.$conf['apache']['user'].' ispapps';
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 		if($conf['nginx']['installed'] == true){
 			$command = 'groupmod --add-user '.$conf['nginx']['user'].' ispconfig';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'groupmod --add-user '.$conf['nginx']['user'].' ispapps';
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 		
 		//* Make the shell scripts executable
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index ab1f110b9880585a635d8a34a00511eb57462f14..c35b6015f37f32aafa0b8f1da7b6ebdc9adfb361 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1396,7 +1396,11 @@ class installer_base {
 			$command = 'adduser '.$conf['apache']['user'].' '.$apps_vhost_group;
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 
-			if(!@is_dir($install_dir)) mkdir($install_dir, 0755, true);
+			if(!@is_dir($install_dir)){
+				mkdir($install_dir, 0755, true);
+			} else {
+				chmod($install_dir, 0755);
+			}
 			chown($install_dir, $apps_vhost_user);
 			chgrp($install_dir, $apps_vhost_group);
 
@@ -1744,10 +1748,14 @@ class installer_base {
 		if($conf['apache']['installed'] == true){
 			$command = 'adduser '.$conf['apache']['user'].' ispconfig';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'adduser '.$conf['apache']['user'].' ispapps';
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 		if($conf['nginx']['installed'] == true){
 			$command = 'adduser '.$conf['nginx']['user'].' ispconfig';
 			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+			$command = 'adduser '.$conf['nginx']['user'].' ispapps';
+			caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
 		}
 
 		//* Make the shell scripts executable
diff --git a/server/conf/apps_php_fpm_pool.conf.master b/server/conf/apps_php_fpm_pool.conf.master
new file mode 100644
index 0000000000000000000000000000000000000000..adda0b587cd45a83d3c6880ba3b0a2f77c9af004
--- /dev/null
+++ b/server/conf/apps_php_fpm_pool.conf.master
@@ -0,0 +1,19 @@
+[{fpm_pool}]
+
+listen = {fpm_socket}
+listen.owner = {fpm_user}
+listen.group = {fpm_group}
+listen.mode = 0660
+
+user = {fpm_user}
+group = {fpm_group}
+
+pm = dynamic
+pm.max_children = 50
+pm.start_servers = 20
+pm.min_spare_servers = 5
+pm.max_spare_servers = 35
+
+chdir = /
+
+php_admin_flag[magic_quotes_gpc] = off
\ No newline at end of file
diff --git a/server/plugins-available/apps_vhost_plugin.inc.php b/server/plugins-available/apps_vhost_plugin.inc.php
index 5e942b241f7a6c81814524455cbbb9921130736f..d89a61c672be49fcb9550b207b784f878231195f 100644
--- a/server/plugins-available/apps_vhost_plugin.inc.php
+++ b/server/plugins-available/apps_vhost_plugin.inc.php
@@ -99,6 +99,9 @@ class apps_vhost_plugin {
 			} else {
 				$content = str_replace('{vhost_port_listen}', '', $content);
 			}
+			
+			file_put_contents("$vhost_conf_dir/apps.vhost", $content);
+			$app->services->restartServiceDelayed('httpd','restart');
 		}
 		
 		if($web_config['server_type'] == 'nginx'){
@@ -108,6 +111,9 @@ class apps_vhost_plugin {
 			$vhost_conf_dir = $web_config['nginx_vhost_conf_dir'];
 			$vhost_conf_enabled_dir = $web_config['nginx_vhost_conf_enabled_dir'];
 			$apps_vhost_servername = ($web_config['apps_vhost_servername'] == '')?'_':$web_config['apps_vhost_servername'];
+			
+			$apps_vhost_user = 'ispapps';
+			$apps_vhost_group = 'ispapps';
 		
 			$web_config['apps_vhost_port'] = (empty($web_config['apps_vhost_port']))?8081:$web_config['apps_vhost_port'];
 			$web_config['apps_vhost_ip'] = (empty($web_config['apps_vhost_ip']))?'_default_':$web_config['apps_vhost_ip'];
@@ -129,10 +135,20 @@ class apps_vhost_plugin {
 			$content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content);
 			//$content = str_replace('{fpm_port}', $web_config['php_fpm_start_port']+1, $content);
 			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
+			
+			// PHP-FPM
+			// Dont just copy over the php-fpm pool template but add some custom settings
+			$fpm_content = file_get_contents($conf["rootpath"]."/conf/apps_php_fpm_pool.conf.master");
+			$fpm_content = str_replace('{fpm_pool}', 'apps', $fpm_content);
+			//$fpm_content = str_replace('{fpm_port}', $web_config['php_fpm_start_port']+1, $fpm_content);
+			$fpm_content = str_replace('{fpm_socket}', $fpm_socket, $fpm_content);
+			$fpm_content = str_replace('{fpm_user}', $apps_vhost_user, $fpm_content);
+			$fpm_content = str_replace('{fpm_group}', $apps_vhost_group, $fpm_content);
+			file_put_contents($web_config['php_fpm_pool_dir'].'/apps.conf', $fpm_content);
+			
+			file_put_contents("$vhost_conf_dir/apps.vhost", $content);
+			$app->services->restartServiceDelayed('httpd','reload');
 		}
-		
-		file_put_contents("$vhost_conf_dir/apps.vhost", $content);
-		$app->services->restartServiceDelayed('httpd','restart');
 	}