From fb882ed42a167f901cac2cb901e8f72049843367 Mon Sep 17 00:00:00 2001 From: kulikov-a <36099472+kulikov-a@users.noreply.github.com> Date: Thu, 30 Mar 2023 22:28:43 +0300 Subject: [PATCH] nginx setup: handle vts socket state Handle possible remaining vts socket after nginx start failure --- www/nginx/src/opnsense/scripts/nginx/setup.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/www/nginx/src/opnsense/scripts/nginx/setup.php b/www/nginx/src/opnsense/scripts/nginx/setup.php index 001c7cad2..1b9a304fd 100755 --- a/www/nginx/src/opnsense/scripts/nginx/setup.php +++ b/www/nginx/src/opnsense/scripts/nginx/setup.php @@ -69,14 +69,21 @@ function find_ca($refid) if (!isset($config['OPNsense']['Nginx'])) { die("nginx is not configured"); } +openlog("nginx", LOG_ODELAY, LOG_USER); +syslog(LOG_DEBUG, "NGINX setup routine started."); @mkdir('/usr/local/etc/nginx/key', 0750, true); @mkdir("/var/db/nginx/auth", 0750, true); @mkdir("/var/log/nginx", 0750, true); @chgrp('/var/db/nginx', GROUP_OWNER); @chgrp('/var/db/nginx/auth', GROUP_OWNER); @chgrp('/var/log/nginx', GROUP_OWNER); +// unlink VTS socket if nginx didn't +$vts_socket = '/var/run/nginx_status.sock'; +if (!isvalidpid('/var/run/nginx.pid') && file_exists($vts_socket)) { + syslog(LOG_WARNING, "NGINX setup: nginx not running but VTS socket exists. Unlinking."); + @unlink($vts_socket); +} $nginx = $config['OPNsense']['Nginx']; -openlog("nginx", LOG_ODELAY, LOG_USER); if (isset($nginx['http_server'])) { if (is_array($nginx['http_server']) && !isset($nginx['http_server']['servername'])) { $http_servers = $nginx['http_server']; @@ -255,6 +262,7 @@ foreach ($nginx->userlist->iterateItems() as $user_list) { // create directories for cache foreach ($nginx->cache_path->iterateItems() as $cache_path) { @mkdir((string)$cache_path->path, 0755, true); + @chgrp((string)$cache_path->path, GROUP_OWNER); } // create custom error pages @@ -339,5 +347,6 @@ if (!empty($conf_test_errors)) { exit(1); } +syslog(LOG_DEBUG, "NGINX setup routine completed."); closelog(); passthru('/usr/local/etc/rc.d/php-fpm start');