cPanel Configuration Files and Handy Commands for Shell

Home / Blog / cPanel Configuration Files and Handy Commands for Shell

cPanel Configuration Files and Handy Commands for Shell

Posted:  March 12, 2015

cPanel Configuration Files and Handy Commands for Shell

Since I use cPanel and CentOS alot now a days, I want to make sure that I have a handy place I can keep and search for anything I might need for configuring or managing the servers.

Without any further ado, I present you the most comprehensive list of cPanel Stuff, I have ever seen 😉

Configurations and Services They Are Tied To

  • CPanel

    • Configuration File: cpanel.config
    • Path: /var/cpanel/cpanel.config
    • Service: cpanel
  • Apache

    • Default Port: 80
    • Configuration File: httpd.conf
    • Path: /etc/httpd/conf/httpd.conf Or /usr/local/apache/conf/httpd.conf
    • Service: httpd
  • Exim

    • Configuration File: exim.conf
    • Path: /etc/exim.conf
    • Service: exim
  • Bind

    • Default Port: 53
    • Configuration File: named.conf
    • Path: /etc/named.conf
    • Service: named
    • DB location: /var/named
  • FTP server

    • proftp
      • Default Port: 20, 21
      • Configuration File: proftpd.conf
      • Path: /etc/proftpd.conf
      • Service: proftpd
    • pureftp
      • Default Port: 20, 21
      • Configuration File: pure-ftpd.conf
      • Path: /etc/pure-ftpd.conf
      • Service: pure-ftpd
  • MySQL

    • Default Port: 3306
    • Configuration File: my.cnf
    • Path: /etc/my.cnf
    • Service: mysql
    • Recommended Configuration
      • query_cache_type=1
        query_cache_size=16M
        query_cache_limit=1M
        sort_buffer_size=4M
        join_buffer_size=4M
        tmp_table_size=4M
        max_heap_table_size=4M
        thread_cache_size=16M
        max_connections=250
        max_allowed_packet=16M
        key_buffer_size=128M
        read_buffer_size=256K
  • PHP

    • Configuration File: php.ini
    • Path: /usr/local/lib/php.ini
    • Recommended Configuration
  • nGinx

    • Configuration File: nginx.conf
    • Path: /etc/nginx/nginx.conf
    • Service: nginx
    • Recommended Global Configuration
      • user www-data;
        worker_processes 8;
        pid /run/nginx.pid;
        
        events {
         worker_connections 768;
         # multi_accept on;
        }
        
        http {
        
         sendfile on;
         tcp_nopush on;
         tcp_nodelay on;
         keepalive_timeout 10;
         types_hash_max_size 2048;
         server_tokens off;
         fastcgi_read_timeout 3600;
         include /etc/nginx/mime.types;
         default_type application/octet-stream;
         access_log /var/log/nginx/access.log;
         error_log /var/log/nginx/error.log;
         gzip on;
         gzip_disable "msie6";
         gzip_vary on;
         gzip_proxied any;
         gzip_comp_level 9;
         gzip_buffers 16 32k;
         gzip_min_length 50;
         gzip_types 
         text/css
         text/plain
         text/javascript
         application/javascript
         application/json
         application/x-javascript
         application/xml
         application/xml+rss
         application/xhtml+xml
         application/x-font-ttf
         application/x-font-opentype
         application/vnd.ms-fontobject
         image/svg+xml
         image/x-icon
         application/rss+xml
         application/atom_xml;
         
         ignore_invalid_headers on;
         client_max_body_size 1024M;
         client_body_buffer_size 15m;
         client_header_timeout 400;
         client_body_timeout 400;
         send_timeout 400;
         connection_pool_size 256;
         client_header_buffer_size 4k;
         large_client_header_buffers 4 32k;
         request_pool_size 4k;
         output_buffers 4 32k;
         postpone_output 1460;
         open_file_cache max=10000 inactive=10m;
         open_file_cache_valid 2m;
         open_file_cache_min_uses 1;
         open_file_cache_errors on;
         include /etc/nginx/conf.d/*.conf;
         include /etc/nginx/sites-enabled/*;
        }
        
    • Recommended VHost Configuration
      • NOTE: Since CPanel needs Apache to run, we have to set nGinx and php-fpm as proxies.  This one is made special for WordPress
      • server {
         listen 80;
         server_name www.yourdomainname.com;
         rewrite ^(.*) http://yourdomainname.com$1 permanent;
        }
        server {
         listen 80;
         server_name yourdomainname.com;
        
         client_max_body_size 5m;
         client_body_timeout 60;
        
         access_log /var/log/nginx/yourdomainname.com.log;
         error_log /var/log/nginx/yourdomainname.com error;
        
         root /home/theaccountname/public_html;
         index index.html index.php;
        
         ### root directory ###
         location / {
         try_files $uri $uri/ /index.php?$args;
         }
        
         ### security ###
         error_page 403 =404;
         location ~ /. { access_log off; log_not_found off; deny all; }
         location ~ ~$ { access_log off; log_not_found off; deny all; }
         location ~* wp-admin/includes { deny all; }
         location ~* wp-includes/theme-compat/ { deny all; }
         location ~* wp-includes/js/tinymce/langs/.*.php { deny all; }
         location /wp-includes/ { internal; }
         #location ~* wp-config.php { deny all; }
         location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ {
         types { }
         default_type text/plain;
         }
        
        	# Uncomment this to block access
         # location ~* wp-admin {
         # allow <YOUR_IP>;
         # allow 127.0.0.1;
         # deny all;
         # }
        
         ### disable logging ###
         location = /robots.txt { access_log off; log_not_found off; }
         location = /favicon.ico { access_log off; log_not_found off; }
        
         ### caches ###
         include /etc/nginx/conf.d/caches.conf;
        
         ### php block ###
         location ~ .php?$ {
         try_files $uri =404;
         include fastcgi_params;
         #fastcgi_pass 127.0.0.1:9001;
         fastcgi_pass unix:/var/run/php-main.socket;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_intercept_errors on;
         fastcgi_split_path_info ^(.+.php)(.*)$;
         #Prevent version info leakage
         fastcgi_hide_header X-Powered-By;
         }
        }
  • php-fpm

    • Configuration File: www.conf
    • Path: /etc/php-fpm.d/www.conf
    • Service: php5-fpm
    • Recommended Configuration
      • user = nginx
        group = nginx
        pm = dynamic
        pm.max_children = 16 # 50% Available RAM
        pm.start_servers = 2 # 25% of Total CPU Cores
        pm.min_spare_servers = 1
        pm.max_spare_servers = 8 # Total CPU Cores
        pm.max_children = 10 
        pm.max_requests = 500
  • Networking Setup

    • /etc/sysconfig/network
    • /etc/hosts – Host entries
    • /etc/resolv.conf – Resolver Configuration
    • /etc/nameserverips – Nameserver IPs
  • clamav

    • Configuration File: clamav.conf
    • Path: /etc/clamav.conf
    • Service: clamd

Contents of /home/user

  • etc
  • mail
  • logs
  • public_html
  • public_ftp
  • hidden directories

Accessing The Control Panel

  • https://192.168.0.1:2083
    • This URL allows you to access cPanel over an encrypted connection with your IP address.
  • https://example.com:2083
    • This URL allows you to access cPanel over an encrypted connection with your domain name.
  • http://192.168.0.1:2082
    • This URL allows you to access cPanel over an unencrypted connection with your IP address.
  • http://example.com:2082
    • This URL allows you to access cPanel over an unencrypted connection with your domain name.
  • WHM Ports: 2086 and 2087
  • WebMail Ports: 2095 and 2096

Scripts & Usage (common first)

  1. Change CPanel Password
    1. /scripts/chpass username password
  2. Syncronize FTP Password
    1. /scripts/ftpupdate
  3. CPHulk Whitelisting
    1. /scripts/cphulkdwhitelist XXX.XXX.XXX.XXX # IP Address
  4. CSF/LFD Whitelisting
    1. csf -a XXX.XXX.XXX.XXX #Allow an IP Address
    2. csf -dr XXX.XXX.XXX.XXX #Remove an IP Address from the blacklist
    3. csf -r #Restart
  5. Check for Shellshock Bash Hack
    1. env X=”() { :;} ; echo shellshock” /bin/sh -c “echo completed”
    2. env X=”() { :;} ; echo shellshock” `which bash` -c “echo completed”
  6. Check for Base64 or Eval Hacks
    1. #!/bin/bash
      
      for filename in /home/* ; do
      
      	ACCT=$(stat -c '%U' "$filename");
      
      	if [ -d "$filename" -a "$ACCT" != "root" ]; then
      		#Possible File Hacks
      		find /home/$ACCT/public_html/ ( -name "*.php" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "base64_decodes*(" | awk '{print $1}' | cut -d: -f 1 >> /possible-hacks.txt;
      		find /home/$ACCT/public_html/ ( -name "*.php" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "evals*(" | awk '{print $1}' | cut -d: -f 1 >> /possible-hacks.txt;
      		#Possible Image Hacks
      		find /home/$ACCT/public_html/ ( -name "*" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "base64_decodes*(" |grep 'jpg|gif|png|bmp' | awk '{print $1}' | cut -d: -f 1 >> /possible-image-hacks.txt;
      		find /home/$ACCT/public_html/ ( -name "*" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "evals*(" |grep 'jpg|gif|png|bmp' | awk '{print $1}' | cut -d: -f 1 >> /possible-image-hacks.txt;
      	fi;
      done;
  7. Rebuild Httpd Config
    1. /scripts/rebuildhttpdconf
  8. Clean Out Old Logs
    1. find /the/path/to/search -type f -name “*.log” -mtime +30 -exec rm -f {} ;
  9. Full Account Backup
    1. /scripts/pkgacct ACCOUNTNAME
    2. backup is stored in /home as cpmove-ACCOUNT.tar.gz
  10. Full Account Restore
    1. /scripts/restorepkg –force /path/to/cpmove-file.tar.gz
  11. Verify CPanel License
    1. /usr/local/cpanel/cpkeyclt
  12. Watch an Accounts Traffic
    1. tail -f /usr/local/apache/domlogs/accountname/accountdomain.ext
  13. View All Current Connections
    1. netstat -an –inet

Scripts & Usage (alphabetical)

https://documentation.cpanel.net/display/ALD/WHM+Scripts#WHMScripts-Scripts

Kevin Pirnie

20+ Years of PC and server maintenance & over 15+ years of web development/design experience; you can rest assured that I take every measure possible to ensure your computers are running to their peak potentials. I treat them as if they were mine, and I am quite a stickler about keeping my machines up to date and optimized to run as well as they can.

Cookie Notice

This site utilizes cookies to improve your browsing experience, analyze the type of traffic we receive, and serve up proper content for you. If you wish to continue browsing, you must agree to allow us to set these cookies. If not, please visit another website.

cPanel Configuration Files and Handy Commands for Shell

Since I use cPanel and CentOS alot now a days, I want to make sure that I have a handy place I can keep and search for anything I might need for configuring or managing the servers.

Without any further ado, I present you the most comprehensive list of cPanel Stuff, I have ever seen 😉

Configurations and Services They Are Tied To

  • CPanel

    • Configuration File: cpanel.config
    • Path: /var/cpanel/cpanel.config
    • Service: cpanel
  • Apache

    • Default Port: 80
    • Configuration File: httpd.conf
    • Path: /etc/httpd/conf/httpd.conf Or /usr/local/apache/conf/httpd.conf
    • Service: httpd
  • Exim

    • Configuration File: exim.conf
    • Path: /etc/exim.conf
    • Service: exim
  • Bind

    • Default Port: 53
    • Configuration File: named.conf
    • Path: /etc/named.conf
    • Service: named
    • DB location: /var/named
  • FTP server

    • proftp
      • Default Port: 20, 21
      • Configuration File: proftpd.conf
      • Path: /etc/proftpd.conf
      • Service: proftpd
    • pureftp
      • Default Port: 20, 21
      • Configuration File: pure-ftpd.conf
      • Path: /etc/pure-ftpd.conf
      • Service: pure-ftpd
  • MySQL

    • Default Port: 3306
    • Configuration File: my.cnf
    • Path: /etc/my.cnf
    • Service: mysql
    • Recommended Configuration
      • query_cache_type=1
        query_cache_size=16M
        query_cache_limit=1M
        sort_buffer_size=4M
        join_buffer_size=4M
        tmp_table_size=4M
        max_heap_table_size=4M
        thread_cache_size=16M
        max_connections=250
        max_allowed_packet=16M
        key_buffer_size=128M
        read_buffer_size=256K
  • PHP

    • Configuration File: php.ini
    • Path: /usr/local/lib/php.ini
    • Recommended Configuration
  • nGinx

    • Configuration File: nginx.conf
    • Path: /etc/nginx/nginx.conf
    • Service: nginx
    • Recommended Global Configuration
      • user www-data;
        worker_processes 8;
        pid /run/nginx.pid;
        
        events {
         worker_connections 768;
         # multi_accept on;
        }
        
        http {
        
         sendfile on;
         tcp_nopush on;
         tcp_nodelay on;
         keepalive_timeout 10;
         types_hash_max_size 2048;
         server_tokens off;
         fastcgi_read_timeout 3600;
         include /etc/nginx/mime.types;
         default_type application/octet-stream;
         access_log /var/log/nginx/access.log;
         error_log /var/log/nginx/error.log;
         gzip on;
         gzip_disable "msie6";
         gzip_vary on;
         gzip_proxied any;
         gzip_comp_level 9;
         gzip_buffers 16 32k;
         gzip_min_length 50;
         gzip_types 
         text/css
         text/plain
         text/javascript
         application/javascript
         application/json
         application/x-javascript
         application/xml
         application/xml+rss
         application/xhtml+xml
         application/x-font-ttf
         application/x-font-opentype
         application/vnd.ms-fontobject
         image/svg+xml
         image/x-icon
         application/rss+xml
         application/atom_xml;
         
         ignore_invalid_headers on;
         client_max_body_size 1024M;
         client_body_buffer_size 15m;
         client_header_timeout 400;
         client_body_timeout 400;
         send_timeout 400;
         connection_pool_size 256;
         client_header_buffer_size 4k;
         large_client_header_buffers 4 32k;
         request_pool_size 4k;
         output_buffers 4 32k;
         postpone_output 1460;
         open_file_cache max=10000 inactive=10m;
         open_file_cache_valid 2m;
         open_file_cache_min_uses 1;
         open_file_cache_errors on;
         include /etc/nginx/conf.d/*.conf;
         include /etc/nginx/sites-enabled/*;
        }
        
    • Recommended VHost Configuration

      • NOTE: Since CPanel needs Apache to run, we have to set nGinx and php-fpm as proxies.  This one is made special for WordPress
      • server {
         listen 80;
         server_name www.yourdomainname.com;
         rewrite ^(.*) http://yourdomainname.com$1 permanent;
        }
        server {
         listen 80;
         server_name yourdomainname.com;
        
         client_max_body_size 5m;
         client_body_timeout 60;
        
         access_log /var/log/nginx/yourdomainname.com.log;
         error_log /var/log/nginx/yourdomainname.com error;
        
         root /home/theaccountname/public_html;
         index index.html index.php;
        
         ### root directory ###
         location / {
         try_files $uri $uri/ /index.php?$args;
         }
        
         ### security ###
         error_page 403 =404;
         location ~ /. { access_log off; log_not_found off; deny all; }
         location ~ ~$ { access_log off; log_not_found off; deny all; }
         location ~* wp-admin/includes { deny all; }
         location ~* wp-includes/theme-compat/ { deny all; }
         location ~* wp-includes/js/tinymce/langs/.*.php { deny all; }
         location /wp-includes/ { internal; }
         #location ~* wp-config.php { deny all; }
         location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ {
         types { }
         default_type text/plain;
         }
        
        	# Uncomment this to block access
         # location ~* wp-admin {
         # allow <YOUR_IP>;
         # allow 127.0.0.1;
         # deny all;
         # }
        
         ### disable logging ###
         location = /robots.txt { access_log off; log_not_found off; }
         location = /favicon.ico { access_log off; log_not_found off; }
        
         ### caches ###
         include /etc/nginx/conf.d/caches.conf;
        
         ### php block ###
         location ~ .php?$ {
         try_files $uri =404;
         include fastcgi_params;
         #fastcgi_pass 127.0.0.1:9001;
         fastcgi_pass unix:/var/run/php-main.socket;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         fastcgi_intercept_errors on;
         fastcgi_split_path_info ^(.+.php)(.*)$;
         #Prevent version info leakage
         fastcgi_hide_header X-Powered-By;
         }
        }
  • php-fpm

    • Configuration File: www.conf
    • Path: /etc/php-fpm.d/www.conf
    • Service: php5-fpm
    • Recommended Configuration
      • user = nginx
        group = nginx
        pm = dynamic
        pm.max_children = 16 # 50% Available RAM
        pm.start_servers = 2 # 25% of Total CPU Cores
        pm.min_spare_servers = 1
        pm.max_spare_servers = 8 # Total CPU Cores
        pm.max_children = 10 
        pm.max_requests = 500
  • Networking Setup

    • /etc/sysconfig/network
    • /etc/hosts – Host entries
    • /etc/resolv.conf – Resolver Configuration
    • /etc/nameserverips – Nameserver IPs
  • clamav

    • Configuration File: clamav.conf
    • Path: /etc/clamav.conf
    • Service: clamd

Contents of /home/user

  • etc
  • mail
  • logs
  • public_html
  • public_ftp
  • hidden directories

Accessing The Control Panel

  • https://192.168.0.1:2083
    • This URL allows you to access cPanel over an encrypted connection with your IP address.
  • https://example.com:2083
    • This URL allows you to access cPanel over an encrypted connection with your domain name.
  • http://192.168.0.1:2082
    • This URL allows you to access cPanel over an unencrypted connection with your IP address.
  • http://example.com:2082
    • This URL allows you to access cPanel over an unencrypted connection with your domain name.
  • WHM Ports: 2086 and 2087
  • WebMail Ports: 2095 and 2096

Scripts & Usage (common first)

  1. Change CPanel Password
    1. /scripts/chpass username password
  2. Syncronize FTP Password
    1. /scripts/ftpupdate
  3. CPHulk Whitelisting
    1. /scripts/cphulkdwhitelist XXX.XXX.XXX.XXX # IP Address
  4. CSF/LFD Whitelisting
    1. csf -a XXX.XXX.XXX.XXX #Allow an IP Address
    2. csf -dr XXX.XXX.XXX.XXX #Remove an IP Address from the blacklist
    3. csf -r #Restart
  5. Check for Shellshock Bash Hack
    1. env X=”() { :;} ; echo shellshock” /bin/sh -c “echo completed”
    2. env X=”() { :;} ; echo shellshock” `which bash` -c “echo completed”
  6. Check for Base64 or Eval Hacks
    1. #!/bin/bash
      
      for filename in /home/* ; do
      
      	ACCT=$(stat -c '%U' "$filename");
      
      	if [ -d "$filename" -a "$ACCT" != "root" ]; then
      		#Possible File Hacks
      		find /home/$ACCT/public_html/ ( -name "*.php" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "base64_decodes*(" | awk '{print $1}' | cut -d: -f 1 >> /possible-hacks.txt;
      		find /home/$ACCT/public_html/ ( -name "*.php" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "evals*(" | awk '{print $1}' | cut -d: -f 1 >> /possible-hacks.txt;
      		#Possible Image Hacks
      		find /home/$ACCT/public_html/ ( -name "*" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "base64_decodes*(" |grep 'jpg|gif|png|bmp' | awk '{print $1}' | cut -d: -f 1 >> /possible-image-hacks.txt;
      		find /home/$ACCT/public_html/ ( -name "*" ) -type f -print0 | xargs -0 grep --binary-files=without-match -ir "evals*(" |grep 'jpg|gif|png|bmp' | awk '{print $1}' | cut -d: -f 1 >> /possible-image-hacks.txt;
      	fi;
      done;
  7. Rebuild Httpd Config
    1. /scripts/rebuildhttpdconf
  8. Clean Out Old Logs
    1. find /the/path/to/search -type f -name “*.log” -mtime +30 -exec rm -f {} ;
  9. Full Account Backup
    1. /scripts/pkgacct ACCOUNTNAME
    2. backup is stored in /home as cpmove-ACCOUNT.tar.gz
  10. Full Account Restore
    1. /scripts/restorepkg –force /path/to/cpmove-file.tar.gz
  11. Verify CPanel License
    1. /usr/local/cpanel/cpkeyclt
  12. Watch an Accounts Traffic
    1. tail -f /usr/local/apache/domlogs/accountname/accountdomain.ext
  13. View All Current Connections
    1. netstat -an –inet

Scripts & Usage (alphabetical)

https://documentation.cpanel.net/display/ALD/WHM+Scripts#WHMScripts-Scripts

Our Privacy Policy

Last Updated: June 18th, 2025

Introduction

Western Mass Hosting (“we,” “our,” or “us”) respects the privacy of all individuals and organizations that interact with our services. This Privacy Policy establishes our practices regarding the collection, use, disclosure, and protection of personal information for visitors to our website and clients utilizing our managed hosting and WordPress services. By accessing our website or engaging our services, you acknowledge that you have read and understood this policy in its entirety.

Scope and Applicability

This Privacy Policy governs our handling of information collected through our corporate website and in the course of providing managed hosting, WordPress maintenance, and development services. In accordance with global privacy regulations, we serve as a Data Controller for information related to our business operations and client relationships. When processing data on behalf of our clients through hosted services, we act as a Data Processor under applicable data protection laws.

Information We Collect

We collect various categories of information necessary to provide and improve our services. This includes personal contact and payment details provided during account registration, technical information such as IP addresses and device characteristics for security purposes, and records of communications through support channels. For clients utilizing our hosting services, we may process end-user data stored within client websites, though we do not control or monitor the collection practices of such data.

Purpose and Legal Basis for Processing

We process personal information only when we have proper justification under applicable laws. The primary legal bases for our processing activities include the necessity to fulfill contractual obligations to our clients, our legitimate business interests in maintaining and improving our services, and in limited cases, explicit consent for specific marketing communications. We maintain detailed records of processing activities to demonstrate compliance with legal requirements.

Use of Collected Information

The information we collect serves multiple business purposes. Primarily, we use this data to deliver and maintain reliable hosting services, including server provisioning, performance monitoring, and technical support. We also utilize information for business operations such as billing, customer relationship management, and service improvement initiatives. Security represents another critical use case, where we analyze data to detect and prevent fraudulent activity or unauthorized access to our systems.

Data Sharing and Third-Party Disclosures

We engage with carefully selected third-party service providers to support our operations, including cloud infrastructure providers, payment processors, and customer support platforms. These relationships are governed by strict contractual agreements that mandate appropriate data protection measures. We may disclose information when legally required to comply with court orders, government requests, or to protect our legal rights and the security of our services.

International Data Transfers

As a global service provider, we may transfer and process data in various locations worldwide. When transferring personal data originating from the European Economic Area or other regulated jurisdictions, we implement appropriate safeguards such as Standard Contractual Clauses and rely on adequacy decisions where applicable. Our subprocessors, including AWS Lightsail, maintain robust compliance certifications to ensure the protection of transferred data.

Data Retention Practices

We retain personal information only for as long as necessary to fulfill the purposes outlined in this policy. Client account information is typically maintained for five years following service termination to comply with legal and financial reporting obligations. Backup data associated with hosting services is automatically purged after thirty days, as specified in our Terms of Service. For data processed on behalf of clients, retention periods are determined by the respective client’s policies and instructions.

Security Measures

We implement comprehensive technical and organizational security measures to protect personal information against unauthorized access, alteration, or destruction. Our security program includes network encryption protocols, regular vulnerability assessments, strict access controls, and employee training on data protection best practices. We maintain incident response procedures to address potential security breaches and will notify affected parties where required by law.

Individual Rights

Individuals whose personal data we process may exercise certain rights under applicable privacy laws. These rights may include requesting access to their information, seeking correction of inaccurate data, requesting deletion under specific circumstances, and objecting to particular processing activities. We have established procedures to handle such requests in accordance with legal requirements, typically responding within thirty days of receipt. Requests should be submitted to our designated Data Protection Officer through the contact information provided in this policy.

Cookies and Tracking Technologies

Our website employs various technologies to enhance user experience and analyze site performance. Essential cookies are used for basic functionality and security purposes, while analytics cookies help us understand how visitors interact with our site. Marketing cookies are only deployed with explicit user consent. Visitors can manage cookie preferences through their browser settings or our cookie consent tool.

Policy Updates and Notifications

We periodically review and update this Privacy Policy to reflect changes in our practices or legal obligations. Material changes will be communicated to affected clients through email notifications at least thirty days prior to implementation. Continued use of our services following such notifications constitutes acceptance of the revised policy.

Contact Information

For questions or concerns regarding this Privacy Policy or our privacy practices, please contact our Data Protection Officer at info@westernmasshosting.com or by mail at:

Western Mass Hosting
22 Orlando. St.,
Feeding Hills, MA 01030.

We take all privacy-related inquiries seriously and will respond promptly to legitimate requests. For clients with specific data processing agreements, please reference your contract for any additional terms that may apply to our handling of your data.