@@ -19,48 +19,49 @@ cp /opt/confs/php.ini /etc/php7/php.ini
echo "" > /etc/crontabs/root
# set default values
MAX_CLIENT_SIZE = " ${ MAX_CLIENT_SIZE :- 10m} "
SERVER_TOKENS = " ${ SERVER_TOKENS :- off} "
CACHE = " ${ CACHE :- max =1000 inactive=60s} "
CACHE_ERRORS = " ${ CACHE_ERRORS :- on} "
CACHE_USES = " ${ CACHE_USES :- 1} "
CACHE_VALID = " ${ CACHE_VALID :- 60s} "
#CLIENT_CACHE="${CLIENT_CACHE}: -css|gif|htm|html|ico|jpeg|jpg|js|png|svg|tif|tiff|eot|otf|ttf|woff|woff2"
#CLIENT_CACHE_EXPIRES="${CLIENT_CACHE_EXPIRES}: -1d}"
MAX_CLIENT_SIZE = " ${ MAX_CLIENT_SIZE - 10m} "
SERVER_TOKENS = " ${ SERVER_TOKENS - off} "
CACHE = " ${ CACHE - max=1000 inactive=60s} "
CACHE_ERRORS = " ${ CACHE_ERRORS - on} "
CACHE_USES = " ${ CACHE_USES - 1} "
CACHE_VALID = " ${ CACHE_VALID - 60s} "
#CLIENT_CACHE="${CLIENT_CACHE}-css|gif|htm|html|ico|jpeg|jpg|js|png|svg|tif|tiff|eot|otf|ttf|woff|woff2"
#CLIENT_CACHE_EXPIRES="${CLIENT_CACHE_EXPIRES}-1d}"
#CLIENT_CACHE_CONTROL=
USE_GZIP = " ${ USE_GZIP :- off} "
GZIP_COMP_LEVEL = " ${ GZIP_COMP_LEVEL :- 6} "
GZIP_MIN_LENGTH = " ${ GZIP_MIN_LENGTH :- 10240} "
GZIP_TYPES = " ${ GZIP_TYPES :- text /css text/javascript text/xml text/plain text/x-component application/javascript application/x-javascript application/json application/xml application/rss+xml application/atom+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml} "
USE_PHP = " ${ USE_PHP :- yes} "
HEADER_SERVER = " ${ HEADER_SERVER :- no} "
X_FRAME_OPTIONS = " ${ X_FRAME_OPTIONS :- DENY} "
X_XSS_PROTECTION = " ${ X_XSS_PROTECTION :- 1 ; mode=block } "
X_CONTENT_TYPE_OPTIONS = " ${ X_CONTENT_TYPE_OPTIONS :- nosniff} "
REFERRER_POLICY = " ${ REFERRER_POLICY :- no -referrer } "
FEATURE_POLICY = " ${ FEATURE_POLICY :- accelerometer 'none' ; ambient-light-sensor 'none' ; autoplay 'none' ; camera 'none' ; display-capture 'none' ; document-domain 'none' ; encrypted-media 'none' ; fullscreen 'none' ; geolocation 'none' ; gyroscope 'none' ; magnetometer 'none' ; microphone 'none' ; midi 'none' ; payment 'none' ; picture-in-picture 'none' ; speaker 'none' ; sync-xhr 'none' ; usb 'none' ; vibrate 'none' ; vr 'none' } "
DISABLE_DEFAULT_SERVER = " ${ DISABLE_DEFAULT_SERVER :- no} "
SERVER_NAME = " ${ SERVER_NAME :- www .bunkerity.io } "
ALLOWED_METHODS = " ${ ALLOWED_METHODS :- GET |POST|HEAD} "
BLOCK_COUNTRY = " ${ BLOCK_COUNTRY : -} "
BLOCK_USER_AGENT = " ${ BLOCK_USER_AGENT :- yes} "
BLOCK_TOR_EXIT_NODE = " ${ BLOCK_TOR_EXIT_NODE :- no} "
AUTO_LETS_ENCRYPT = " ${ AUTO_LETS_ENCRYPT :- no} "
HTTP2 = " ${ HTTP2 :- yes} "
STRICT_TRANSPORT_SECURITY = " ${ STRICT_TRANSPORT_SECURITY :- max -age=31536000} "
PHP_EXPOSE = " ${ PHP_EXPOSE :- no} "
PHP_DISPLAY_ERRORS = " ${ PHP_DISPLAY_ERRORS :- no} "
PHP_OPEN_BASEDIR = " ${ PHP_OPEN_BASEDIR :- /www/ : /tmp/ } "
PHP_ALLOW_URL_FOPEN = " ${ PHP_ALLOW_URL_FOPEN :- no} "
PHP_ALLOW_URL_INCLUDE = " ${ PHP_ALLOW_URL_INCLUDE :- no} "
PHP_FILE_UPLOADS = " ${ PHP_FILE_UPLOADS :- yes} "
PHP_UPLOAD_MAX_FILESIZE = " ${ PHP_UPLOAD_MAX_FILESIZE :- 10M} "
PHP_DISABLE_FUNCTIONS = " ${ PHP_DISABLE_FUNCTIONS :- system , exec, shell_exec, passthru, phpinfo, show_source, highlight_file, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, chdir, mkdir, rmdir, chmod, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo} "
USE_MODSECURITY = " ${ USE_MODSECURITY :- yes} "
CONTENT_SECURITY_POLICY = " ${ CONTENT_SECURITY_POLICY :- default -src 'self' ; frame-ancestors 'none' ; form-action 'self' ; upgrade-insecure-requests; block-all-mixed-content; sandbox allow-forms allow-same-origin allow-scripts; reflected-xss block; base-uri 'self' ; referrer no-referrer } "
COOKIE_FLAGS = " ${ COOKIE_FLAGS :- * HttpOnly } "
SERVE_FILES = " ${ SERVE_FILES :- yes} "
WRITE_ACCESS = " ${ WRITE_ACCESS :- no} "
USE_GZIP = " ${ USE_GZIP - off} "
GZIP_COMP_LEVEL = " ${ GZIP_COMP_LEVEL - 6} "
GZIP_MIN_LENGTH = " ${ GZIP_MIN_LENGTH - 10240} "
GZIP_TYPES = " ${ GZIP_TYPES - text/css text/javascript text/xml text/plain text/x-component application/javascript application/x-javascript application/json application/xml application/rss+xml application/atom+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml} "
USE_PHP = " ${ USE_PHP - yes} "
HEADER_SERVER = " ${ HEADER_SERVER - no} "
X_FRAME_OPTIONS = " ${ X_FRAME_OPTIONS - DENY} "
X_XSS_PROTECTION = " ${ X_XSS_PROTECTION -1 ; mode=block} "
X_CONTENT_TYPE_OPTIONS = " ${ X_CONTENT_TYPE_OPTIONS - nosniff} "
REFERRER_POLICY = " ${ REFERRER_POLICY -no -referrer} "
FEATURE_POLICY = " ${ FEATURE_POLICY - accelerometer 'none' ; ambient-light-sensor 'none' ; autoplay 'none' ; camera 'none' ; display-capture 'none' ; document-domain 'none' ; encrypted-media 'none' ; fullscreen 'none' ; geolocation 'none' ; gyroscope 'none' ; magnetometer 'none' ; microphone 'none' ; midi 'none' ; payment 'none' ; picture-in-picture 'none' ; speaker 'none' ; sync-xhr 'none' ; usb 'none' ; vibrate 'none' ; vr 'none' } "
DISABLE_DEFAULT_SERVER = " ${ DISABLE_DEFAULT_SERVER - no} "
SERVER_NAME = " ${ SERVER_NAME - www.bunkerity.com } "
ALLOWED_METHODS = " ${ ALLOWED_METHODS - GET|POST|HEAD} "
BLOCK_COUNTRY = " ${ BLOCK_COUNTRY -} "
BLOCK_USER_AGENT = " ${ BLOCK_USER_AGENT - yes} "
BLOCK_TOR_EXIT_NODE = " ${ BLOCK_TOR_EXIT_NODE - no} "
AUTO_LETS_ENCRYPT = " ${ AUTO_LETS_ENCRYPT - no} "
HTTP2 = " ${ HTTP2 - yes} "
STRICT_TRANSPORT_SECURITY = " ${ STRICT_TRANSPORT_SECURITY - max-age=31536000} "
PHP_EXPOSE = " ${ PHP_EXPOSE - no} "
PHP_DISPLAY_ERRORS = " ${ PHP_DISPLAY_ERRORS - no} "
PHP_OPEN_BASEDIR = " ${ PHP_OPEN_BASEDIR - /www/: /tmp/ } "
PHP_ALLOW_URL_FOPEN = " ${ PHP_ALLOW_URL_FOPEN - no} "
PHP_ALLOW_URL_INCLUDE = " ${ PHP_ALLOW_URL_INCLUDE - no} "
PHP_FILE_UPLOADS = " ${ PHP_FILE_UPLOADS - yes} "
PHP_UPLOAD_MAX_FILESIZE = " ${ PHP_UPLOAD_MAX_FILESIZE - 10M} "
PHP_DISABLE_FUNCTIONS = " ${ PHP_DISABLE_FUNCTIONS - system, exec, shell_exec, passthru, phpinfo, show_source, highlight_file, popen, proc_open, fopen_with_path, dbmopen, dbase_open, putenv, chdir, mkdir, rmdir, chmod, rename, filepro, filepro_rowcount, filepro_retrieve, posix_mkfifo} "
USE_MODSECURITY = " ${ USE_MODSECURITY - yes} "
CONTENT_SECURITY_POLICY = " ${ CONTENT_SECURITY_POLICY - default-src 'self' ; frame-ancestors 'none' ; form-action 'self' ; upgrade-insecure-requests; block-all-mixed-content; sandbox allow-forms allow-same-origin allow-scripts; reflected-xss block; base-uri 'self' ; referrer no-referrer } "
COOKIE_FLAGS = " ${ COOKIE_FLAGS - * HttpOnly} "
SERVE_FILES = " ${ SERVE_FILES - yes} "
WRITE_ACCESS = " ${ WRITE_ACCESS - no} "
REDIRECT_HTTP_TO_HTTPS = " ${ REDIRECT_HTTP_TO_HTTPS -no } "
# install additional modules if needed
if [ " $ADDITIONAL_MODULES " != "" ] ; then
@@ -204,6 +205,13 @@ else
replace_in_file "/etc/nginx/server.conf" "%LISTEN_HTTP%" "listen 0.0.0.0:80;"
fi
# TODO : only do this if TLS is used
if [ " $REDIRECT_HTTP_TO_HTTPS " = "yes" ] ; then
replace_in_file "/etc/nginx/nginx.conf" "%REDIRECT_HTTP_TO_HTTPS%" "include /etc/nginx/redirect-http-to-https.conf;"
else
replace_in_file "/etc/nginx/nginx.conf" "%REDIRECT_HTTP_TO_HTTPS%" ""
fi
if [ " $USE_MODSECURITY " = "yes" ] ; then
replace_in_file "/etc/nginx/nginx.conf" "%USE_MODSECURITY%" "include /etc/nginx/modsecurity.conf;"
else
@@ -253,6 +261,8 @@ fi
# start PHP
if [ " $USE_PHP " = "yes" ] ; then
replace_in_file "/etc/php7/php-fpm.d/www.conf" "user = nobody" "user = nginx"
replace_in_file "/etc/php7/php-fpm.d/www.conf" "group = nobody" "group = nginx"
php-fpm7
fi