&1', $output, $return_var); return ['output' => $output, 'return_var' => $return_var]; } // Function to check if LiteSpeed is running function check_lsws_status() { $result = run_command('systemctl is-active lsws'); return [ 'running' => $result['return_var'] === 0, 'status' => $result['output'][0] ?? 'unknown' ]; } // Function to get LiteSpeed version function get_lsws_version() { $result = run_command('/usr/local/lsws/bin/lshttpd -v'); if ($result['return_var'] === 0 && !empty($result['output'])) { foreach ($result['output'] as $line) { if (strpos($line, 'LiteSpeed') !== false) { return trim($line); } } } return 'unknown'; } // Function to check LiteSpeed processes function get_lsws_processes() { $result = run_command('ps aux | grep lshttpd | grep -v grep'); return [ 'count' => count($result['output']), 'processes' => $result['output'] ]; } // Function to check LiteSpeed configuration function check_lsws_config() { $config_file = '/usr/local/lsws/conf/httpd_config.conf'; if (file_exists($config_file)) { return [ 'config_exists' => true, 'config_readable' => is_readable($config_file), 'last_modified' => date('Y-m-d H:i:s', filemtime($config_file)) ]; } return ['config_exists' => false]; } // Function to check LiteSpeed logs function check_lsws_logs() { $log_dir = '/usr/local/lsws/logs'; $error_log = $log_dir . '/error.log'; $access_log = $log_dir . '/access.log'; return [ 'log_dir_exists' => is_dir($log_dir), 'error_log' => file_exists($error_log) ? [ 'exists' => true, 'size' => filesize($error_log), 'last_modified' => date('Y-m-d H:i:s', filemtime($error_log)) ] : ['exists' => false], 'access_log' => file_exists($access_log) ? [ 'exists' => true, 'size' => filesize($access_log), 'last_modified' => date('Y-m-d H:i:s', filemtime($access_log)) ] : ['exists' => false] ]; } // Function to check listening ports function check_lsws_ports() { $result = run_command('netstat -tlnp | grep lshttpd'); $ports = []; foreach ($result['output'] as $line) { if (preg_match('/:(\\d+)\\s/', $line, $matches)) { $ports[] = $matches[1]; } } return array_unique($ports); } // Function to get basic system info function get_system_info() { return [ 'php_version' => phpversion(), 'server_time' => date('Y-m-d H:i:s'), 'uptime' => trim(file_get_contents('/proc/uptime')), 'load_average' => sys_getloadavg() ]; } // Main execution $lsws_status = check_lsws_status(); $lsws_version = get_lsws_version(); $lsws_processes = get_lsws_processes(); $lsws_config = check_lsws_config(); $lsws_logs = check_lsws_logs(); $lsws_ports = check_lsws_ports(); $system_info = get_system_info(); // Output comprehensive LiteSpeed status echo json_encode([ 'status' => 'success', 'server' => [ 'name' => 'LiteSpeed Web Server', 'version' => $lsws_version, 'running' => $lsws_status['running'], 'service_status' => $lsws_status['status'], 'process_count' => $lsws_processes['count'], 'listening_ports' => $lsws_ports ], 'configuration' => $lsws_config, 'logs' => $lsws_logs, 'system' => $system_info ], JSON_PRETTY_PRINT);