diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index dc9ce432d0bd1725c7c4d61699ad1a2880f168c7..e9929475c177efb9bc1378d4fdb3c5c8ef638ae6 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -942,7 +942,13 @@ class installer_dist extends installer_base {
 				$content = str_replace('{fastcgi_ssl}', 'off', $content);
 			}
 			
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
+			if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
+			if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
+			$fpm_socket = $socket_dir.'ispconfig.sock';
+			
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 
 			wf($vhost_conf_dir.'/ispconfig.vhost', $content);
 			
@@ -952,7 +958,8 @@ class installer_dist extends installer_base {
 			// Dont just copy over the php-fpm pool template but add some custom settings
 			$content = rf('tpl/php_fpm_pool.conf.master');
 			$content = str_replace('{fpm_pool}', 'ispconfig', $content);
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 			$content = str_replace('{fpm_user}', 'ispconfig', $content);
 			$content = str_replace('{fpm_group}', 'ispconfig', $content);
 			wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content);
diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index f7a0df1d7f77da27b031427cf3f87e427250e1a2..ffc919d2906016cbc34312fd2a3797a08854f891 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -642,12 +642,18 @@ class installer extends installer_base
 			} else {
 				$apps_vhost_ip = $conf['web']['apps_vhost_ip'].':';
 			}
+			
+			$socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
+			if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
+			if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
+			$fpm_socket = $socket_dir.'apps.sock';
 
 			$content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content);
 			$content = str_replace('{apps_vhost_port}', $conf['web']['apps_vhost_port'], $content);
 			$content = str_replace('{apps_vhost_dir}', $conf['web']['website_basedir'].'/apps', $content);
 			$content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content);
-			$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			//$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 
 			wf($vhost_conf_dir.'/apps.vhost', $content);
 			
@@ -655,7 +661,8 @@ class installer extends installer_base
 			// Dont just copy over the php-fpm pool template but add some custom settings
 			$content = rf('tpl/apps_php_fpm_pool.conf.master');
 			$content = str_replace('{fpm_pool}', 'apps', $content);
-			$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			//$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 			$content = str_replace('{fpm_user}', $apps_vhost_user, $content);
 			$content = str_replace('{fpm_group}', $apps_vhost_group, $content);
 			wf($conf['nginx']['php_fpm_pool_dir'].'/apps.conf', $content);
@@ -918,7 +925,13 @@ class installer extends installer_base
 				$content = str_replace('{fastcgi_ssl}', 'off', $content);
 			}
 			
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
+			if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
+			if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
+			$fpm_socket = $socket_dir.'ispconfig.sock';
+			
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 
 			wf($vhost_conf_dir.'/ispconfig.vhost', $content);
 			
@@ -928,7 +941,8 @@ class installer extends installer_base
 			// Dont just copy over the php-fpm pool template but add some custom settings
 			$content = rf('tpl/php_fpm_pool.conf.master');
 			$content = str_replace('{fpm_pool}', 'ispconfig', $content);
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 			$content = str_replace('{fpm_user}', 'ispconfig', $content);
 			$content = str_replace('{fpm_group}', 'ispconfig', $content);
 			wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content);
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index b2953cf6e36ead1ae8152a9cad1c89d59f88852d..e29b18ca0a8123134f93de26931edb80524b4f33 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -976,7 +976,13 @@ class installer_dist extends installer_base {
 				$content = str_replace('{fastcgi_ssl}', 'off', $content);
 			}
 			
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
+			if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
+			if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
+			$fpm_socket = $socket_dir.'ispconfig.sock';
+			
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 
 			wf($vhost_conf_dir.'/ispconfig.vhost', $content);
 			
@@ -986,7 +992,8 @@ class installer_dist extends installer_base {
 			// Dont just copy over the php-fpm pool template but add some custom settings
 			$content = rf('tpl/php_fpm_pool.conf.master');
 			$content = str_replace('{fpm_pool}', 'ispconfig', $content);
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 			$content = str_replace('{fpm_user}', 'ispconfig', $content);
 			$content = str_replace('{fpm_group}', 'ispconfig', $content);
 			wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content);
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index f145e243631b60c662003c34e585b15fa2e61193..ab1f110b9880585a635d8a34a00511eb57462f14 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1472,12 +1472,18 @@ class installer_base {
 			} else {
 				$apps_vhost_ip = $conf['web']['apps_vhost_ip'].':';
 			}
+			
+			$socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
+			if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
+			if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
+			$fpm_socket = $socket_dir.'apps.sock';
 
 			$content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content);
 			$content = str_replace('{apps_vhost_port}', $conf['web']['apps_vhost_port'], $content);
 			$content = str_replace('{apps_vhost_dir}', $conf['web']['website_basedir'].'/apps', $content);
 			$content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content);
-			$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			//$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 
 			wf($vhost_conf_dir.'/apps.vhost', $content);
 			
@@ -1485,7 +1491,8 @@ class installer_base {
 			// Dont just copy over the php-fpm pool template but add some custom settings
 			$content = rf('tpl/apps_php_fpm_pool.conf.master');
 			$content = str_replace('{fpm_pool}', 'apps', $content);
-			$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			//$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 			$content = str_replace('{fpm_user}', $apps_vhost_user, $content);
 			$content = str_replace('{fpm_group}', $apps_vhost_group, $content);
 			wf($conf['nginx']['php_fpm_pool_dir'].'/apps.conf', $content);
@@ -1808,8 +1815,14 @@ class installer_base {
 				$content = str_replace('{fastcgi_ssl}', 'off', $content);
 			}
 			
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
-
+			$socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
+			if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
+			if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
+			$fpm_socket = $socket_dir.'ispconfig.sock';
+			
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
+			
 			wf($vhost_conf_dir.'/ispconfig.vhost', $content);
 			
 			unset($content);
@@ -1818,7 +1831,8 @@ class installer_base {
 			// Dont just copy over the php-fpm pool template but add some custom settings
 			$content = rf('tpl/php_fpm_pool.conf.master');
 			$content = str_replace('{fpm_pool}', 'ispconfig', $content);
-			$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			//$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 			$content = str_replace('{fpm_user}', 'ispconfig', $content);
 			$content = str_replace('{fpm_group}', 'ispconfig', $content);
 			wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content);
diff --git a/install/tpl/apps_php_fpm_pool.conf.master b/install/tpl/apps_php_fpm_pool.conf.master
index b5000e70b8d6710d9807db6552a7837c3e0083e0..adda0b587cd45a83d3c6880ba3b0a2f77c9af004 100644
--- a/install/tpl/apps_php_fpm_pool.conf.master
+++ b/install/tpl/apps_php_fpm_pool.conf.master
@@ -1,8 +1,9 @@
 [{fpm_pool}]
 
-listen = 127.0.0.1:{fpm_port}
-
-listen.allowed_clients = 127.0.0.1
+listen = {fpm_socket}
+listen.owner = {fpm_user}
+listen.group = {fpm_group}
+listen.mode = 0660
 
 user = {fpm_user}
 group = {fpm_group}
diff --git a/install/tpl/nginx_apps.vhost.master b/install/tpl/nginx_apps.vhost.master
index 0ba7fc2b08400c8ced2d7ffbdd1b388cc08884a0..c7e58a3a2c6665f52b1221b8ffab3bf5c6014890 100644
--- a/install/tpl/nginx_apps.vhost.master
+++ b/install/tpl/nginx_apps.vhost.master
@@ -17,7 +17,7 @@ server {
         location ~ \.php$ {
                try_files $uri =404;
                include /etc/nginx/fastcgi_params;
-               fastcgi_pass 127.0.0.1:{fpm_port};
+               fastcgi_pass unix:{fpm_socket};
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_script_name;
@@ -38,7 +38,7 @@ server {
                        try_files $uri =404;
                        root /usr/share/;
                        include /etc/nginx/fastcgi_params;
-                       fastcgi_pass 127.0.0.1:{fpm_port};
+                       fastcgi_pass unix:{fpm_socket};
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                }
@@ -57,7 +57,7 @@ server {
                        try_files $uri =404;
                        root /usr/share/;
                        include /etc/nginx/fastcgi_params;
-                       fastcgi_pass 127.0.0.1:{fpm_port};
+                       fastcgi_pass unix:{fpm_socket};
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                }
diff --git a/install/tpl/nginx_ispconfig.vhost.master b/install/tpl/nginx_ispconfig.vhost.master
index 967fba9063a58e2be9c4f91296d1e802111e0be0..22947cc58db571dc24cfe2749997b38efe45f97a 100644
--- a/install/tpl/nginx_ispconfig.vhost.master
+++ b/install/tpl/nginx_ispconfig.vhost.master
@@ -19,7 +19,7 @@ server {
         location ~ \.php$ {
                try_files $uri =404;
                include /etc/nginx/fastcgi_params;
-               fastcgi_pass 127.0.0.1:{fpm_port};
+               fastcgi_pass unix:{fpm_socket};
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_script_name;
@@ -40,7 +40,7 @@ server {
 #                       try_files $uri =404;
 #                       root /usr/share/;
 #                       include /etc/nginx/fastcgi_params;
-#                       fastcgi_pass 127.0.0.1:{fpm_port};
+#                       fastcgi_pass unix:{fpm_socket};
 #                       {ssl_comment}fastcgi_param  HTTPS {fastcgi_ssl};
 #                       fastcgi_index index.php;
 #                       fastcgi_param SCRIPT_FILENAME $request_filename;
@@ -60,7 +60,7 @@ server {
 #                       try_files $uri =404;
 #                       root /usr/share/;
 #                       include /etc/nginx/fastcgi_params;
-#                       fastcgi_pass 127.0.0.1:{fpm_port};
+#                       fastcgi_pass unix:{fpm_socket};
 #                       {ssl_comment}fastcgi_param  HTTPS {fastcgi_ssl};
 #                       fastcgi_index index.php;
 #                       fastcgi_param SCRIPT_FILENAME $request_filename;
diff --git a/install/tpl/php_fpm_pool.conf.master b/install/tpl/php_fpm_pool.conf.master
index 5a2c6c8d925c62cf395fb12b189854aab1b2e512..fc193d01b8e363391742ba14ce992020242b41ab 100644
--- a/install/tpl/php_fpm_pool.conf.master
+++ b/install/tpl/php_fpm_pool.conf.master
@@ -1,8 +1,9 @@
 [{fpm_pool}]
 
-listen = 127.0.0.1:{fpm_port}
-
-listen.allowed_clients = 127.0.0.1
+listen = {fpm_socket}
+listen.owner = {fpm_user}
+listen.group = {fpm_group}
+listen.mode = 0660
 
 user = {fpm_user}
 group = {fpm_group}
diff --git a/server/conf/nginx_apps.vhost.master b/server/conf/nginx_apps.vhost.master
index 0ba7fc2b08400c8ced2d7ffbdd1b388cc08884a0..c7e58a3a2c6665f52b1221b8ffab3bf5c6014890 100644
--- a/server/conf/nginx_apps.vhost.master
+++ b/server/conf/nginx_apps.vhost.master
@@ -17,7 +17,7 @@ server {
         location ~ \.php$ {
                try_files $uri =404;
                include /etc/nginx/fastcgi_params;
-               fastcgi_pass 127.0.0.1:{fpm_port};
+               fastcgi_pass unix:{fpm_socket};
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_script_name;
@@ -38,7 +38,7 @@ server {
                        try_files $uri =404;
                        root /usr/share/;
                        include /etc/nginx/fastcgi_params;
-                       fastcgi_pass 127.0.0.1:{fpm_port};
+                       fastcgi_pass unix:{fpm_socket};
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                }
@@ -57,7 +57,7 @@ server {
                        try_files $uri =404;
                        root /usr/share/;
                        include /etc/nginx/fastcgi_params;
-                       fastcgi_pass 127.0.0.1:{fpm_port};
+                       fastcgi_pass unix:{fpm_socket};
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                }
diff --git a/server/plugins-available/apps_vhost_plugin.inc.php b/server/plugins-available/apps_vhost_plugin.inc.php
index c812d5e67ef622489404f1733f6896b17f60e2fe..5e942b241f7a6c81814524455cbbb9921130736f 100644
--- a/server/plugins-available/apps_vhost_plugin.inc.php
+++ b/server/plugins-available/apps_vhost_plugin.inc.php
@@ -117,12 +117,18 @@ class apps_vhost_plugin {
 			} else {
 				$apps_vhost_ip = $web_config['apps_vhost_ip'].':';
 			}
+			
+			$socket_dir = escapeshellcmd($web_config['php_fpm_socket_dir']);
+			if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
+			if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
+			$fpm_socket = $socket_dir.'apps.sock';
 		
 			$content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content);
 			$content = str_replace('{apps_vhost_port}', $web_config['apps_vhost_port'], $content);
 			$content = str_replace('{apps_vhost_dir}', $web_config['website_basedir'].'/apps', $content);
 			$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_port}', $web_config['php_fpm_start_port']+1, $content);
+			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
 		}
 		
 		file_put_contents("$vhost_conf_dir/apps.vhost", $content);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 5e927cdecb8a5bd0f06120d00e8889b233e6ca6c..83f8d4e8661af917ad30ce0618402854c9e2ad1b 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -660,7 +660,7 @@ class nginx_plugin {
 		$tpl->setVar('use_socket', $use_socket);
 		$fpm_socket = $socket_dir.$pool_name.'.sock';
 		$tpl->setVar('fpm_socket', $fpm_socket);
-		$vhost_data['fpm_port'] = $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1;
+		$vhost_data['fpm_port'] = $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1;
 		
 		// Custom nginx directives
 		$final_nginx_directives = array();
@@ -1129,7 +1129,7 @@ class nginx_plugin {
 		$tpl->setVar('fpm_socket', $fpm_socket);
 			
 		$tpl->setVar('fpm_pool', $pool_name);
-		$tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1);
+		$tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1);
 		$tpl->setVar('fpm_user', $data['new']['system_user']);
 		$tpl->setVar('fpm_group', $data['new']['system_group']);
 		$tpl->setVar('pm_max_children', $data['new']['pm_max_children']);