=== Apache & PHP === Add Ondrej repos for Apache & PHP add-apt-repository ppa:ondrej/apache2 add-apt-repository ppa:ondrej/php Install Apache & PHP apt install apache2 libapache2-mod-fcgid php7.4-cli php7.4-curl php7.4-gd php7.4-intl php7.4-mbstring php7.4-opcache php7.4-soap php7.4-xmlrpc php7.4-common php7.4-fpm php7.4-imap php7.4-json php7.4-mysql php7.4-readline php7.4-xml php7.4-zip Enable some modules a2enmod proxy_fcgi setenvif rewrite md headers http2 ssl === IonCube === Download & install IonCube https://www.ioncube.com/loaders.php wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz tar -C /usr/local -xf ioncube_loaders_lin_x86-64.tar.gz Create file ''/etc/php/7.4/mods-available/ioncube.ini'' with content: zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4.so Create links to this file ln -s /etc/php/7.4/mods-available/ioncube.ini /etc/php/7.4/fpm/conf.d/00-ioncube.ini ln -s /etc/php/7.4/mods-available/ioncube.ini /etc/php/7.4/cli/conf.d/00-ioncube.ini === PHP Configuration === Create web home directory with ''tmp'', ''logs'' and ''html'' Create file ''/etc/php/7.4/fpm/pool.d/hostinggl.conf'' [user_hostinggl] listen = "/run/php/hostinggl.sock" listen.owner = "www-data" listen.group = "hostinggl" listen.mode = 0660 user = "hostinggl" group = "hostinggl" pm = ondemand pm.max_children = 25 pm.process_idle_timeout = 15 slowlog = "/home/hostinggl/logs/php-fpm.slow.log" php_admin_value[error_log] = "/home/hostinggl/logs/php.error.log" php_admin_flag[log_errors] = on php_admin_value[sys_temp_dir] = "/home/hostinggl/tmp" php_admin_value[upload_tmp_dir] = "/home/hostinggl/tmp" php_admin_value[max_input_vars] = 10000 php_value[session.save_handler] = files php_value[session.save_path] = "/home/hostinggl/tmp" env[TMPDIR] = "/home/hostinggl/tmp" catch_workers_output = yes === Apache Configuration === Add these 2 lines to ''/etc/apache2/mods-enabled/ssl.conf'' # Set the location of the SSL OCSP Stapling Cache SSLStaplingCache shmcb:/tmp/stapling_cache(128000) Add ''/etc/apache2/options-ssl-apache.conf'' with content: # Baseline setting to Include for SSL sites SSLEngine on # Intermediate configuration, tweak to your needs SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on SSLCompression off SSLOptions +StrictRequire # Add vhost name to log entries: #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" vhost_combined #LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common #CustomLog /var/log/apache2/access.log vhost_combined #LogLevel warn #ErrorLog /var/log/apache2/error.log # Always ensure Cookies have "Secure" set (JAH 2012/1) #Header edit Set-Cookie (?i)^(.*)(;\s*secure)??((\s*;)?(.*)) "$1; Secure$3$4" # HSTS Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains" Header always set X-Frame-Options DENY # OCSP SSLUseStapling on SSLStaplingResponseMaxAge 1800 SSLStaplingResponderTimeout 5 SSLStaplingReturnResponderErrors off Example of config file for a host ServerName hosting.gl ServerAlias www.hosting.gl DocumentRoot /srv/vhost/hosting.gl/html ServerAdmin webmaster@hosting.gl UseCanonicalName On CustomLog /var/log/apache2/hosting.gl.log combined Options FollowSymLinks AllowOverride All Require all granted SetHandler proxy:unix:/run/php/hostinggl.sock|fcgi://hosting.gl MDomain hosting.gl ServerName hosting.gl ServerAlias www.hosting.gl DocumentRoot /srv/vhost/hosting.gl/html ServerAdmin webmaster@hosting.gl UseCanonicalName On CustomLog /var/log/apache2/hosting.gl-ssl.log combined Options FollowSymLinks AllowOverride All Require all granted Include /etc/apache2/options-ssl-apache.conf SetHandler proxy:unix:/run/php/hostinggl.sock|fcgi://hosting.gl RequestHeader set X-HTTPS 1