XtendWeb standalone installation

XtendWeb Requirements: cPanel v72 or higher server with CentOS6/CentOS7/CloudLinux6/CloudLinux7 64 bit OS

XtendWeb is compatible with CloudLinux LVE, CageFS, MySQLGovernor,PHP Selector,cPanel MultiPHP, AutoSSL, FleetSSL

Recommended setup:

# XtendWeb can switch domains to native nginx mode or have the domain
# set as a PROXY to cPanel provided httpd stack(this is  default)
For PROXY we recommend using Apache+PHP-FPM(multiPHP) or Apache+lsphp in the
cpanel provided httpd stack

NATIVE NGINX: will always use PHP-FPM/Phusion Passenger
# PHP-FPM is set up from the cPanel EasyApache4 repository ( ea-phpXX rpms)

Choose any of the setup below according to your requirement

1. XtendWeb with Nginx+PHP Stack

yum -y install epel-release
yum -y install https://github.com/AnoopAlias/XtendWeb/raw/ndeploy4/nDeploy-release-centos-1.0-7.noarch.rpm

yum -y --enablerepo=ndeploy install nginx-nDeploy nDeploy # For nginx as webserver
   OR
yum -y --enablerepo=ndeploy install openresty-nDeploy nDeploy # For openresty as webserver

/opt/nDeploy/scripts/easy_php_setup.sh
/opt/nDeploy/scripts/setup_full_page_cache_templates.sh
/opt/nDeploy/scripts/cpanel-nDeploy-setup.sh enable

2. XtendWeb with Nginx+PHP+Python+NodeJS+Ruby

yum -y install epel-release
yum -y install https://github.com/AnoopAlias/XtendWeb/raw/ndeploy4/nDeploy-release-centos-1.0-7.noarch.rpm

yum -y --enablerepo=ndeploy install nginx-nDeploy nDeploy # For nginx as webserver
   OR
yum -y --enablerepo=ndeploy install openresty-nDeploy nDeploy # For openresty as webserver

/opt/nDeploy/scripts/easy_php_setup.sh

yum --enablerepo=ndeploy install nginx-nDeploy-module-passenger # Nginx
yum --enablerepo=ndeploy install openresty-nDeploy-module-passenger # Openresty

/opt/nDeploy/scripts/setup_full_page_cache_templates.sh
/opt/nDeploy/scripts/cpanel-nDeploy-setup.sh enable

3. XtendWeb with Nginx+PHP and chrooted PHP (Advanced)

# Chrooted PHP-FPM is more secure
# This setup is similar to CloudLinux CageFS
# Do NOT do this on CloudLinux as CageFS does the same job
yum -y install epel-release
yum -y install https://github.com/AnoopAlias/XtendWeb/raw/ndeploy4/nDeploy-release-centos-1.0-7.noarch.rpm

yum -y --enablerepo=ndeploy install nginx-nDeploy nDeploy # For nginx as webserver
   OR
yum -y --enablerepo=ndeploy install openresty-nDeploy nDeploy # For openresty as webserver

/opt/nDeploy/scripts/easy_php_setup.sh
/opt/nDeploy/scripts/init_backends.py jailphpfpm
systemctl restart ndeploy_backends ea-php54-php-fpm ea-php55-php-fpm ea-php56-php-fpm ea-php70-php-fpm ea-php71-php-fpm ea-php72-php-fpm
# Ensure All accounts are set to JailShell in WHM » Home »Account Functions »Manage Shell Access
# Run command below to properly initialize VirtFS Jail
/opt/nDeploy/scripts/init_backends.py autofix

/opt/nDeploy/scripts/setup_full_page_cache_templates.sh
/opt/nDeploy/scripts/cpanel-nDeploy-setup.sh enable
cPanel logformat settings

The installer automatically try to change the apache httpd LogFormat in Home »Service Configuration »Apache Configuration »Global Configuration Post setup you need to ensure the settings are as above with the %h changed to %a in both definitions

Setup custom brand for your plugin

#XtendWeb is a white-labelled solution and lets you change
#Plugin name, icon and brand footer in the user interface

# Place a 48px*48px icon of your brand in /opt/nDeploy/nDeploy_cp/ and /opt/nDeploy/nDeploy_whm/
cp -p mybrandicon.png /opt/nDeploy/nDeploy_cp/
cp -p mybrandicon.png /opt/nDeploy/nDeploy_whm/

cp -p /opt/nDeploy/conf/branding.yaml.sample /opt/nDeploy/conf/branding.yaml
# Make the necessary changes in /opt/nDeploy/conf/branding.yaml

[root@host1 ~]# cat /opt/nDeploy/conf/branding.yaml
brand: 'XtendWeb'
brand_footer: '<a target="_blank" href="https://autom8n.com/xtendweb/UserDocs.html">A U T O M 8 N</a>'
brand_logo: 'xtendweb.png'
brand_group: 'NGINX CLUSTER CONTROL'

# set brand_logo to the name of the icon you copied in previous step

#Run comamnd below to setup the brand
/opt/nDeploy/scripts/setup_brand.sh

# These setting will be preserved in plugin upgrade

Additional Software and setup

Enable DDOS protection on default vhost

# Note that mod_userdir style access /~user will not work
touch /opt/nDeploy/conf/enable_default_vhost_ddos_protection
/opt/nDeploy/scripts/attempt_autofix.sh

Setup Full Page Redis cache for WordPress and Drupal

# Full Page Redis cache for Wordpress and Drupal
/opt/nDeploy/scripts/setup_full_page_cache_templates.sh

Setup Netdata

# NetData system Monitoring
/opt/nDeploy/scripts/easy_netdata_setup.sh

Additional Modules

#Note that each module increases the nginx size and processing requirements
#So install only required functionality .
(pagespeed)   yum --enablerepo=ndeploy install nginx-nDeploy-module-pagespeed
(pagespeed)   yum --enablerepo=ndeploy install openresty-nDeploy-module-pagespeed  # OpenResty

(brotli)      yum --enablerepo=ndeploy install nginx-nDeploy-module-brotli
(brotli)      yum --enablerepo=ndeploy install openresty-nDeploy-module-brotli  # OpenResty

(geoip2)       yum --enablerepo=ndeploy install nginx-nDeploy-module-geoip2
(geoip2)       yum --enablerepo=ndeploy install openresty-nDeploy-module-geoip2 # OpenResty

(modsecurityv3) yum --enablerepo=ndeploy install nginx-nDeploy-module-modsecurity

(testcookie_access) yum --enablerepo=ndeploy install nginx-nDeploy-module-testcookie_access
(testcookie_access) yum --enablerepo=ndeploy install openresty-nDeploy-module-testcookie_access # OpenResty

Note

There are no additional configurations required for the loadable modules.XtendWeb activates the functionality if the rpm is found installed