Prerequisites
index.php
sudo mkdir -p '/srv/www/phpinfo' && sudo -e '/srv/www/phpinfo/info.php' && sudo chown -R 'wwwrun':'www' '/srv/www/phpinfo' && sudo chmod -R '0755' '/srv/www/phpinfo'
<?php
phpinfo();
// echo 'Test';
?>
// End
nginx + PHP-FPM Configuration
PHP-FPM Socket
sudo -e '/etc/php8/fpm/php-fpm.d/phpinfo.conf' && sudo systemctl reload 'php-fpm'
[phpinfo]
user = "wwwrun"
group = "www"
listen = "/run/php-fpm/phpinfo.sock"
listen.owner = "wwwrun"
listen.group = "www"
listen.mode = "0662"
pm = "ondemand"
pm.max_children = "1"
pm.process_idle_timeout = "3"
php_value[log_errors] = "0"
;php_value[error_reporting] = "~E_ALL"
;php_value[display_errors] = "0"
;php_value[display_startup_errors] = "0"
;php_value[html_errors] = "0"
php_value[session.save_path] = "/var/lib/php8/sessions"
;php_value[date.timezone] = "America/New_York"
; Temp
php_value[session.upload_progress.enabled] = "0"
; End
FastCGI
sudo -e '/etc/nginx/default.d/phpinfo.conf'
location '~' '\.(php|phar)(/.*)?$' {
fastcgi_split_path_info '^(.+\.(?:php|phar))(/.*)$';
fastcgi_intercept_errors 'on';
fastcgi_index 'info.php';
include 'fastcgi_params';
fastcgi_param 'SCRIPT_FILENAME' '$document_root$fastcgi_script_name';
fastcgi_param 'PATH_INFO' '$fastcgi_path_info';
fastcgi_param 'HTTPS' 'on';
fastcgi_pass 'unix:/run/php-fpm/phpinfo.sock';
}
# End
Deny Directive
sudo -e '/etc/nginx/default.d/phpinfo-deny.conf'
location = '/' {
allow '192.168.1.0/24';
deny 'all';
}
# End
Server Block
sudo -e '/etc/nginx/vhosts.d/phpinfo.conf' && sudo systemctl reload 'nginx'
server {
listen '443' 'ssl';
http2 'on';
server_name 'test.realmofespionage.xyz';
root '/srv/www/phpinfo';
index 'info.php';
include '/etc/nginx/default.d/phpinfo.conf';
include '/etc/nginx/default.d/headers.conf';
include '/etc/nginx/default.d/phpinfo-deny.conf';
add_header 'Content-Security-Policy' "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:" 'always';
# access_log '/var/log/nginx/phpinfo-access.log';
# error_log '/var/log/nginx/phpinfo-error.log';
}
# End
Clean-up
sudo rm -f '/etc/nginx/vhosts.d/phpinfo.conf' '/etc/php8/fpm/php-fpm.d/phpinfo.conf' && sudo systemctl reload 'nginx' 'php-fpm' && sudo rm -Rf '/srv/www/phpinfo' '/etc/nginx/default.d/phpinfo.conf' '/etc/nginx/default.d/phpinfo-deny.conf'