Foundations of Level 1 Support in Domain Registration & Shared Hosting Infrastructure Print

  • 0

Core Knowledge Base for Level 1 Customer Support

Classification:Β Support Operations
Version: 1.0
Last Updated: 2026-02-19
Audience: Level 1 Technical Support Engineers


Table of Contents

  1. Layer Separation Model
  2. Domain Registration & Lifecycle
  3. DNS Systems & Record Management
  4. Shared Hosting Operations
  5. Resource Limits & Server Constraints
  6. Email Systems & Troubleshooting
  7. Email Authentication: SPF, DKIM, DMARC
  8. HTTP Errors & Web Diagnostics
  9. SSL/TLS Certificates
  10. Billing Workflows & Suspension Logic
  11. Security Awareness for L1 Support
  12. Escalation Framework
  13. Diagnostic Checklists
  14. Appendices & Quick Reference

Β 

Β 

1. Layer Separation Model

Every customer issue exists within one or more infrastructure layers. Misidentifying the layer leads to wasted time, incorrect fixes, and unnecessary escalations. Before any troubleshooting, determine which layer the problem belongs to.

The Five Layers

Layer Controls Examples
Domain (Registration) Ownership, registrar lock, auth codes, WHOIS, expiry Domain not renewing, transfer failures, WHOIS privacy
DNS (Resolution) Nameservers, A/AAAA/CNAME/MX/TXT records, propagation Site pointing to wrong IP, email not routing, propagation delays
Hosting (Server) Web server, file system, databases, PHP, resource limits 500 errors, slow site, database connection failures, disk full
Email (Mail Server) SMTP/IMAP/POP3, mailbox quotas, authentication, relay Cannot send/receive, authentication failures, spam classification
Billing (Account) Invoices, payment processing, service activation, suspension Service suspended, renewal failed, payment not applied

Why Layer Separation Matters

A customer reports: "My website is down."

This could be:

  • Domain layer: Domain expired and registry has placed a hold on it.
  • DNS layer: Nameservers changed or A record points to a decommissioned IP.
  • Hosting layer: Account suspended, server down, or resource limit hit.
  • Billing layer: Unpaid invoice triggered automatic suspension.

Rule: Always verify from the top layer downward. Domain β†’ DNS β†’ Hosting β†’ Application.

Quick Layer Identification

Customer says "site is down" β†’
  1. Does the domain resolve? (dig/nslookup) β†’ If NO β†’ Domain or DNS layer
  2. Does it resolve to the correct IP? β†’ If NO β†’ DNS layer
  3. Does the server respond on that IP? β†’ If NO β†’ Hosting/Server layer
  4. Does the server return an error? β†’ If YES β†’ Application or Hosting layer
  5. Is the account active and paid? β†’ If NO β†’ Billing layer

Β 

Β 

2. Domain Registration & Lifecycle

Domain Lifecycle Stages

Every domain passes through a defined lifecycle. Understanding these stages is critical to answering renewal, expiry, and recovery questions accurately.

  AVAILABLE         ← Domain is unregistered, anyone can register
      |
      | Registration
      v
  ACTIVE            ← Domain is registered and functional (1-10 years)
      |
      | Expiry date passes
      v
  EXPIRED (Grace)   ← Grace period begins (typically 0-45 days, varies by TLD)
      |               Domain stops resolving or shows registrar parking page
      | Grace period ends
      v
  REDEMPTION /      ← Recovery possible but at a premium fee ($80-$200+)
  RESTORE PERIOD      depending on TLD and registrar
  (30 days typical)
      |
      | Redemption ends
      v
  PENDING DELETE    ← 5-day ICANN-mandated deletion queue
  (5 days)            Domain CANNOT be recovered during this phase
      |
      | Deletion
      v
  AVAILABLE         ← Domain returns to general availability
                      (or caught by drop-catch services)

Key Lifecycle Facts

  • Auto-renewal: If enabled and a valid payment method is on file, the system attempts renewal before expiry. Auto-renewal typically triggers 1–30 days before the expiry date, depending on registrar policy.
  • Grace period duration varies by TLD:
    • .com, .net: ~40 days
    • .in: ~30 days
    • .org: ~45 days
    • ccTLDs (.co.uk, .de, etc.): Varies widely; some have no grace period at all.
  • Redemption fees are NOT refundable and are set by the registry, not the registrar. The registrar may add a margin on top.
  • WHOIS expiry date vs actual resolution loss: WHOIS may still show the old expiry date during grace period, but the domain may already be non-functional.

Domain Statuses (EPP Status Codes)

Customers often ask why their domain is not working or cannot be transferred. The answer is usually in the EPP status codes visible in WHOIS.

EPP Status Meaning L1 Action
clientHold Registrar has suspended the domain (billing, abuse, verification) Check billing status, check ICANN verification status
serverHold Registry has suspended the domain Escalate β€” this is registry-level
clientTransferProhibited Transfer lock is ON Customer must unlock before transfer
serverTransferProhibited Registry-level transfer lock Usually temporary after registration/transfer; escalate if persistent
pendingTransfer A transfer is in progress Wait for transfer to complete (up to 5–7 days)
pendingDelete Domain is in deletion queue Cannot be recovered β€” inform customer
redemptionPeriod Domain is in redemption Can be restored at premium cost
ok / active Domain is functioning normally No issues at domain layer

Domain Transfers

Outbound Transfer (Customer leaving)

  1. Domain must be unlocked (clientTransferProhibited removed).
  2. Domain must have a valid authorization code (auth code / EPP code).
  3. Domain must not have been registered or transferred within the last 60 days (ICANN 60-day lock).
  4. WHOIS email must be accessible β€” transfer approval goes there.
  5. Domain must not be expired (some registries block transfer of expired domains).

Inbound Transfer (Customer arriving)

  1. Customer provides auth code from losing registrar.
  2. Transfer initiated from our system.
  3. Losing registrar sends confirmation; if no action, transfer auto-approves in 5 days.
  4. Domain is added 1 year on top of the existing expiry date (not from the transfer date).

Common Transfer Failures

  • Auth code is incorrect or expired.
  • Domain is locked at the losing registrar.
  • 60-day transfer lock is active (recent registration, transfer, or WHOIS contact change).
  • WHOIS email is invalid β€” approval email cannot be delivered.
  • Domain is expired and in redemption β€” transfer blocked by registry.

ICANN WHOIS Verification

For gTLDs (.com, .net, .org, etc.), ICANN requires registrants to verify their email address within 15 days of registration or WHOIS contact change. If not verified:

  • Domain is suspended (clientHold).
  • Website and email stop working.
  • Fix: Customer clicks the verification link in the email from the registrar. If lost, resend from the admin panel.

This is one of the most common causes of "my new domain isn't working" calls.


Β 

Β 

3. DNS Systems & Record Management

How DNS Resolution Works

User types example.com in browser
        |
        v
Browser cache β†’ OS cache β†’ Router cache β†’ ISP Resolver
        | (if not cached)
        v
ISP Resolver queries Root servers
        | "Who handles .com?"
        v
Root servers respond: "Ask the .com TLD servers"
        |
        v
ISP Resolver queries .com TLD servers
        | "Who handles example.com?"
        v
TLD servers respond: "Ask ns1.hostingprovider.com"
        |
        v
ISP Resolver queries ns1.hostingprovider.com
        | "What is the A record for example.com?"
        v
Authoritative nameserver responds: "93.184.216.34"
        |
        v
Browser connects to 93.184.216.34

DNS Record Types

Record Purpose Example Common Issues
A Maps domain to IPv4 address example.com β†’ 192.168.1.1 Wrong IP after server migration
AAAA Maps domain to IPv6 address example.com β†’ 2001:db8::1 IPv6 not configured on server
CNAME Alias to another domain name www β†’ example.com Cannot coexist with other records at zone apex; CNAME on root domain breaks MX
MX Mail server routing example.com β†’ mail.example.com (priority 10) Missing or wrong MX causes email failure
TXT Text data (SPF, DKIM, DMARC, verification) v=spf1 include:_spf.google.com ~all Syntax errors, multiple SPF records
NS Delegates zone to nameservers example.com β†’ ns1.hosting.com Wrong NS = entire domain unreachable
SRV Service location (Microsoft 365, SIP) _sip._tcp.example.com Missing SRV records for M365 autodiscover
CAA Specifies which CAs can issue SSL certs 0 issue "letsencrypt.org" Blocks SSL issuance if too restrictive
PTR Reverse DNS (IP β†’ domain) 1.168.192.in-addr.arpa β†’ mail.example.com Missing PTR causes email rejection

Critical DNS Concepts

TTL (Time To Live)

  • Expressed in seconds. Tells resolvers how long to cache a record.
  • TTL 3600 = Cache for 1 hour.
  • TTL 86400 = Cache for 24 hours.
  • Before migration: Lower TTL to 300 (5 min) at least 24–48 hours before the change, so old caches expire.
  • After migration is confirmed stable: Raise TTL back to 3600–86400.
  • Common mistake: Customer changes DNS and expects instant effect. If old TTL was 86400, it can take up to 24 hours for all resolvers worldwide to see the change.

Propagation

  • DNS does not truly β€œpropagate.” What happens is old cached entries expire based on TTL, and resolvers fetch fresh records.
  • Typical visible change time: 5 minutes to 48 hours, depending on prior TTL.
  • Use tools like dig, nslookup, or online propagation checkers to verify.

Zone Apex (Root Domain) Limitations

  • Cannot use CNAME at zone apex (example.com). This is an RFC restriction.
  • Some DNS providers offer ALIAS/ANAME records as a workaround (functionally similar to CNAME but resolved server-side).
  • If a customer wants example.com to point to a CDN, they either need ALIAS/ANAME support or must use an A record pointing to the CDN's IP.

Common DNS Failure Scenarios

Scenario 1: Domain registered but not resolving

  • Check: Are nameservers set at the registrar?
  • Check: Do the nameservers actually have zone records for this domain?
  • Common cause: Customer registered domain but never added it to the hosting account, so no DNS zone exists.

Scenario 2: Website works, email doesn't

  • Check: MX records. Are they pointing to the correct mail server?
  • Check: If using third-party email (Google Workspace, Microsoft 365), are the MX records correctly set per their documentation?
  • Common cause: Customer set up website A record but forgot to configure MX records.

Scenario 3: DNS changed but still showing old site

  • Check: What was the TTL of the old record?
  • Check: Is the customer's local DNS cache stale? (ipconfig /flushdns on Windows, or test from a different network)
  • Check: Is Cloudflare or another CDN caching content?
  • Common cause: High TTL on previous record; resolver cache hasn't expired yet.

Scenario 4: Subdomain not working

  • Check: Does the A/CNAME record for the subdomain exist?
  • Check: Is the subdomain added as an addon domain or subdomain in the hosting control panel?
  • Common cause: DNS record exists but hosting server doesn't have a virtualhost configured for it.

DNS Diagnostic Commands

# Query A record
dig example.com A +short

# Query MX record
dig example.com MX +short

# Query specific nameserver
dig @ns1.hostingprovider.com example.com A

# Query with full trace
dig example.com +trace

# Check nameserver delegation
dig example.com NS +short

# Check TXT records (SPF, DKIM, DMARC)
dig example.com TXT +short
dig default._domainkey.example.com TXT +short
dig _dmarc.example.com TXT +short

# Reverse DNS lookup
dig -x 192.168.1.1

# Windows equivalent
nslookup example.com
nslookup -type=MX example.com

Β 

Β 

4. Shared Hosting Operations

How Shared Hosting Works

Shared hosting places multiple customer accounts on a single physical or virtual server. All accounts share CPU cores, RAM, disk I/O bandwidth, network bandwidth, and IP address(es).

Each account is isolated via:

  • CageFS / CloudLinux: Jails each user into their own virtual filesystem. User A cannot see User B's files.
  • PHP Selector: Per-account PHP version selection (7.4, 8.0, 8.1, 8.2, 8.3).
  • Resource limits (LVE): Per-account CPU, memory, I/O, inode, and entry process limits enforced by CloudLinux.
  • cPanel/WHM: Account-level control panel providing file management, database management, email, DNS zone editing, and application installation.

Control Panel Structure

WHM (Web Host Manager)
β”œβ”€β”€ Server-level administration (L2/L3 only)
β”œβ”€β”€ Account creation/suspension/termination
β”œβ”€β”€ Server-wide PHP/Apache/Nginx configuration
β”œβ”€β”€ DNS cluster management
└── Resource limit configuration

cPanel (Customer-facing)
β”œβ”€β”€ File Manager / FTP Accounts
β”œβ”€β”€ MySQL Databases / phpMyAdmin
β”œβ”€β”€ Email Accounts / Forwarders / Autoresponders
β”œβ”€β”€ DNS Zone Editor (if enabled)
β”œβ”€β”€ SSL/TLS Management
β”œβ”€β”€ Backup / Restore
β”œβ”€β”€ Error Logs
β”œβ”€β”€ Resource Usage (CPU, Memory, I/O stats)
β”œβ”€β”€ Cron Jobs
β”œβ”€β”€ PHP Version Selector
└── Softaculous (Application Installer)

Common Hosting Issues

β€œMy website is showing a blank page”

  1. Check error logs: cPanel β†’ Error Logs (or ~/public_html/error_log in File Manager).
  2. Common causes:
    • PHP fatal error (usually missing function, class, or extension).
    • PHP version mismatch (code requires 8.1 but account is on 7.4).
    • .htaccess syntax error.
    • memory_limit exceeded during page load.
  3. Quick test: Create a phpinfo.php file with <?php phpinfo(); ?> β€” if this loads, PHP is working and the problem is in the customer's code.

β€œMy website is very slow”

  1. Check resource usage in cPanel β†’ Resource Usage.
  2. Look for: CPU limit hits, memory limit hits, I/O throttling, entry process (EP) limit.
  3. Check if the slow response is server-side (TTFB > 2s) or client-side (large images, unoptimized JS).
  4. Common causes:
    • Unoptimized WordPress with 30+ plugins.
    • No caching plugin active.
    • Database queries running without indexes.
    • Cron jobs running too frequently.
    • Bot traffic (check access logs for crawler IPs).

β€œI can't upload files via FTP”

  1. Verify FTP credentials (username is usually [email protected] or just cpanel_username).
  2. Check FTP server is running (port 21, or SFTP on port given by system).
  3. Check if disk quota is full β€” uploads fail silently when disk is at 100%.
  4. Check passive FTP port range if customer is behind a firewall.
  5. Verify the customer is connecting to the correct server hostname.

β€œDatabase connection error”

  1. Verify database name, username, and password in the application's config file.
  2. Verify the database user is assigned to the database in cPanel β†’ MySQL Databases β†’ β€œAdd User to Database.”
  3. Check if the database user has sufficient privileges.
  4. In cPanel, database names and usernames are prefixed with the cPanel username (e.g., cpuser_dbname). Customers often forget the prefix.
  5. Check if the MySQL server is running (if multiple customers report the same issue, escalate β€” server-level problem).

File System Layout (cPanel)

/home/cpaneluser/
β”œβ”€β”€ public_html/           ← Document root (main website)
β”‚   β”œβ”€β”€ .htaccess          ← Apache rewrite rules, redirects, security
β”‚   β”œβ”€β”€ index.php          ← Default landing page
β”‚   β”œβ”€β”€ wp-config.php      ← WordPress configuration (if WP installed)
β”‚   └── subdomain_folder/  ← Subdomain document root (configurable)
β”œβ”€β”€ mail/                  ← Email data (Maildir format)
β”‚   └── domain.com/
β”‚       └── user/
β”‚           β”œβ”€β”€ cur/       ← Read messages
β”‚           β”œβ”€β”€ new/       ← Unread messages
β”‚           └── tmp/       ← Messages being delivered
β”œβ”€β”€ logs/                  ← Access and error logs
β”œβ”€β”€ tmp/                   ← Temporary files, PHP sessions
β”œβ”€β”€ .trash/                ← cPanel File Manager trash
β”œβ”€β”€ etc/                   ← Account-level configuration
└── ssl/                   ← SSL certificate storage

.htaccess β€” Common Problems and Patterns

The .htaccess file is one of the most common sources of 500 errors and unexpected behavior on shared hosting.

Common issues:

  • Syntax error β†’ immediate 500 Internal Server Error.
  • Infinite redirect loop β†’ ERR_TOO_MANY_REDIRECTS.
  • Overly aggressive rewrite rules β†’ wrong pages loading.
  • php_value / php_flag directives when server uses PHP-FPM (not mod_php) β†’ 500 error.

Quick diagnosis: Rename .htaccess to .htaccess.bak. If the site loads, the problem is in .htaccess.

Common .htaccess patterns:

# Force HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Force www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# WordPress default
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# Custom PHP settings (mod_php only - causes 500 on PHP-FPM)
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300

Β 

Β 

5. Resource Limits & Server Constraints

Shared Hosting Resource Model (CloudLinux LVE)

Each shared hosting account operates within enforced resource limits. When a limit is hit, the system throttles or blocks that account rather than allowing it to affect other users on the server.

Resource What It Controls Typical Limit What Happens at Limit
CPU (%) Processing power allocated 100% (1 core equivalent) Processes are throttled; page loads slow down
Physical Memory (PMEM) RAM allocated to account 1 GB Processes are killed (OOM); 500/503 errors
I/O (KB/s) Disk read/write speed 4096 KB/s Disk operations are throttled; extreme slowness
IOPS I/O operations per second 1024 Database-heavy sites freeze
Entry Processes (EP) Concurrent PHP/CGI workers 20–30 New requests get 503 errors; site appears down
Number of Processes (NPROC) Total processes (including sleeping) 100 New processes cannot start; applications crash
Inodes Number of files + directories 200,000–500,000 Cannot create new files; email stops; uploads fail
Disk Space Storage allocated 5–50 GB (plan dependent) Cannot write files; email bounces; databases crash

Inodes: The Hidden Limit

Inodes are one of the least understood limits by customers and the most common cause of β€œeverything broke at once.”

What counts as an inode: Every file, every directory, every email message, every cache file, every session file.

Common inode bloat causes:

  • WordPress cache plugins creating thousands of static HTML files.
  • Maildir email storage (each email is one file).
  • Session files not being cleaned up (/home/user/tmp/).
  • Backup files sitting in the account.
  • node_modules directories (easily 50,000+ inodes for one project).
  • File manager trash not emptied.

Symptoms when inode limit is hit:

  • Cannot send or receive email (Maildir cannot create new files).
  • Cannot upload files.
  • cPanel shows errors when trying to create anything.
  • WordPress/CMS may show white screen if it tries to write cache.
  • Database operations fail if they need to create temp tables on disk.

Diagnostic approach:

  1. Check inode usage in cPanel β†’ Disk Usage or via Disk and Resource Usage.
  2. Identify top directories consuming inodes.
  3. Common cleanup: clear cache directories, empty trash, remove old backups, archive old emails.

Resource Usage Indicators β€” Reading the Graphs

cPanel's Resource Usage section (powered by CloudLinux LVE Stats) shows:

  • Faults: Number of times the account hit its limit. Any fault count > 0 means the account is being throttled.
  • Graph colors: Green = within limits. Yellow = approaching limits. Red = hitting limits.
  • Timeframes: Check both β€œcurrent usage” and β€œhistorical” (24h, 7d, 30d) to identify patterns.

Decision Framework for Resource Limit Issues

Account hitting CPU/Memory limits β†’
  β”œβ”€β”€ Occasional spikes?
  β”‚     β†’ Likely legitimate traffic spikes or cron jobs
  β”‚     β†’ Advise: optimize code, enable caching, review cron frequency
  β”œβ”€β”€ Constant hits?
  β”‚     β†’ Account has outgrown shared hosting
  β”‚     β†’ Advise: upgrade to higher plan or VPS
  └── Sudden onset?
        β†’ Possible attack, compromised site, or broken script
        β†’ Check access logs for unusual traffic
        β†’ Check for suspicious files (shells, miners)
        β†’ Escalate if compromise is suspected

Β 

Β 

6. Email Systems & Troubleshooting

Email Protocols

Protocol Port (Standard) Port (SSL/TLS) Direction Purpose
SMTP 25 (server-to-server), 587 (submission) 465 (SMTPS) Outbound Sending email
IMAP 143 993 Inbound Reading email (messages stay on server)
POP3 110 995 Inbound Downloading email (removed from server by default)

Important port notes:

  • Port 25 is blocked by many ISPs and cloud providers for end users. Always use 587 or 465 for mail client configuration.
  • Port 587 requires STARTTLS (upgrade from plain to encrypted). Port 465 is implicit SSL (encrypted from the start).
  • Always configure customer mail clients with SSL/TLS. Never configure plaintext connections.

Email Flow: Sending

Sender's Mail Client (Outlook/Thunderbird/Gmail)
        |
        | SMTP (port 587/465) with authentication
        v
Sender's Mail Server (outbound)
        |
        | Looks up recipient's MX record via DNS
        v
DNS returns MX: mail.recipient.com (priority 10)
        |
        | SMTP connection to recipient's mail server (port 25)
        v
Recipient's Mail Server (inbound)
        |
        | Checks: SPF, DKIM, DMARC, spam filters, blacklists
        | Checks: Recipient exists? Mailbox full?
        v
Delivered to recipient's mailbox (or rejected/spam-flagged)

Common Email Failures

β€œI can't send email”

Diagnostic checklist:

  1. Is authentication configured in the mail client? (Username = full email address, password = email account password)
  2. Is the correct SMTP port being used? (587 with STARTTLS or 465 with SSL)
  3. Is the password correct? (Reset from cPanel β†’ Email Accounts to verify)
  4. Is the sending IP blacklisted? (Check if the server IP is on any RBLs)
  5. Is the account suspended? (Check billing status)
  6. Is the recipient's server rejecting us? (Check the bounce-back message / NDR for exact error codes)
  7. Is the outbound mail queue backed up? (Server-level issue β€” escalate)

β€œI can't receive email”

Diagnostic checklist:

  1. Are MX records correct? (dig domain.com MX)
  2. Is the mailbox full? (Check quota in cPanel β†’ Email Accounts)
  3. Is the email account actually created? (A domain existing doesn't mean email accounts exist)
  4. Is the email going to spam? (Check Spam/Junk folder)
  5. Is greylisting enabled? (First-time senders are temporarily rejected; email arrives on retry, usually 5–15 minutes later)
  6. Is there a mail routing issue? (cPanel β†’ Email Routing β€” should be β€œLocal Mail Exchanger” if hosting email on this server)
  7. Is the sender's server blacklisted? (Our server may reject incoming from blacklisted IPs)

β€œEmails are going to spam”

This is one of the most common and most complex issues. Contributing factors:

  1. Missing or incorrect SPF record β€” recipient server cannot verify that our server is authorized to send for this domain.
  2. Missing DKIM signature β€” no cryptographic proof that the email is authentic.
  3. No DMARC policy β€” recipient server has no guidance on how to handle SPF/DKIM failures.
  4. Server IP reputation β€” the shared hosting IP may be blacklisted because another user on the same server sent spam.
  5. Email content β€” spam-like subject lines, excessive links, large attachments, HTML-only messages without text part.
  6. New domain β€” domains less than 30 days old have no sending reputation.
  7. No reverse DNS (PTR record) β€” the sending IP has no PTR record, or PTR doesn't match the HELO/EHLO hostname.
  8. Sending volume spike β€” suddenly sending hundreds of emails from an account that normally sends 5/day.

Common Bounce Codes

Bounce Message Meaning Action
550 5.1.1 User Unknown Recipient email address doesn't exist Verify address with customer (typos are most common)
552 Mailbox full Recipient's mailbox is full Nothing we can do; inform customer
421 Too many connections Recipient server rate-limiting us Usually resolves on retry; if persistent, IP reputation problem
550 Blocked by RBL Our server IP is blacklisted Escalate to L2 for delisting request

IMAP vs POP3 β€” When to Recommend What

Feature IMAP POP3
Messages stay on server Yes No (by default)
Multiple devices in sync Yes No
Server storage used More Less
Offline access Depends on client cache Full (messages are local)
Recommendation Default choice for most users Only for strict mailbox size limits who need local copies

Critical POP3 issue: If a customer uses POP3 on their phone and then asks β€œwhere are my emails on the computer?”, the phone downloaded and deleted them from the server. This is not a server issue β€” it's how POP3 works. Enable β€œLeave a copy on the server” in POP3 settings to prevent this.


Β 

Β 

7. Email Authentication: SPF, DKIM, DMARC

These three mechanisms work together to authenticate email and prevent spoofing. Every L1 agent must understand them because they directly affect deliverability.

SPF (Sender Policy Framework)

What it does: Declares which mail servers are authorized to send email on behalf of a domain.

How it works: The receiving server checks the SPF TXT record of the sender's domain. If the sending server's IP is listed, SPF passes.

Record format (TXT record on the domain's DNS zone):

v=spf1 [mechanisms] [qualifier]

Common SPF records:

# Basic: Only this server can send
v=spf1 ip4:192.168.1.1 -all

# Shared hosting: Include the hosting provider's SPF
v=spf1 include:_spf.hostingprovider.com -all

# Google Workspace
v=spf1 include:_spf.google.com -all

# Microsoft 365
v=spf1 include:spf.protection.outlook.com -all

# Multiple services (hosting + Google Workspace)
v=spf1 include:_spf.hostingprovider.com include:_spf.google.com -all

Qualifiers:

Qualifier Meaning Recommendation
-all Hard fail: Reject anything not listed Recommended for production
~all Soft fail: Accept but mark as suspicious Good for testing
?all Neutral: No opinion Essentially useless
+all Pass all: Everything is authorized DANGEROUS β€” never use

SPF Lookup Limit: SPF processing is limited to 10 DNS lookups. Each include: directive counts as one lookup, and each included record may contain further lookups. Exceeding 10 causes SPF to permanently fail (permerror), which is worse than having no SPF at all.

Common SPF mistakes:

  • Multiple SPF records on the same domain. There must be exactly ONE v=spf1 TXT record. If multiple exist, SPF fails.
  • Missing include: for a third-party sender (e.g., transactional email service, CRM).
  • Using +all β€” this authorizes the entire internet to send as your domain.

DKIM (DomainKeys Identified Mail)

What it does: Adds a cryptographic signature to outgoing emails. The receiving server verifies this signature against a public key published in DNS.

How it works:

  1. The sending server signs the email headers and body with a private key.
  2. The signature is added as a DKIM-Signature header in the email.
  3. The receiving server looks up the public key via DNS: selector._domainkey.domain.com TXT record.
  4. The receiving server verifies the signature.

DNS record (TXT):

Name:  default._domainkey.example.com
Value: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCA... (public key)

Key points for L1:

  • DKIM is typically configured at the server level and enabled per-domain in cPanel β†’ Email β†’ Authentication (or Email Deliverability).
  • The β€œselector” (e.g., default) is chosen by the mail server admin. Different services use different selectors (Google uses google, Microsoft uses selector1 and selector2).
  • If a customer uses a third-party email service (Google Workspace, Microsoft 365), they need to add the DKIM TXT records provided by that service.
  • DKIM records are long (2048-bit keys). Some DNS providers have a 255-character TXT record limit per string. The record must be split into multiple strings within the same TXT record.

Checking DKIM:

dig default._domainkey.example.com TXT +short

DMARC (Domain-based Message Authentication, Reporting & Conformance)

What it does: Tells receiving servers what to do when SPF and/or DKIM fail, and where to send reports about authentication results.

DNS record (TXT):

Name:  _dmarc.example.com
Value: v=DMARC1; p=none; rua=mailto:[email protected]

DMARC Policies:

Policy (p=) Action When to Use
none Do nothing, just send reports Start here. Monitoring phase. Gather data before enforcing.
quarantine Mark as spam Intermediate. Use after confirming legitimate sources pass SPF/DKIM.
reject Reject the email entirely Full protection. Use only when confident all legitimate email passes.

DMARC Alignment:

  • For DMARC to pass, either SPF or DKIM must pass and align with the β€œFrom” domain.
  • SPF alignment: The Return-Path (envelope sender) domain matches the From header domain.
  • DKIM alignment: The d= domain in the DKIM signature matches the From header domain.

Recommended starting DMARC record:

v=DMARC1; p=none; rua=mailto:[email protected]; fo=1

fo=1 = Generate failure reports when any authentication mechanism fails (useful for debugging).

Email Authentication Diagnostic Framework

Customer reports "email going to spam" or "email rejected":

1. CHECK SPF
   dig domain.com TXT | grep spf
   β”œβ”€β”€ No SPF record             β†’ Add one
   β”œβ”€β”€ Multiple SPF records      β†’ Merge into one
   β”œβ”€β”€ Missing include for service β†’ Add it
   └── SPF passes                β†’ Move to step 2

2. CHECK DKIM
   Look at email headers for DKIM-Signature
   dig selector._domainkey.domain.com TXT
   β”œβ”€β”€ No DKIM record            β†’ Enable in cPanel or add record
   β”œβ”€β”€ DKIM fails                β†’ Key mismatch, regenerate
   └── DKIM passes               β†’ Move to step 3

3. CHECK DMARC
   dig _dmarc.domain.com TXT
   β”œβ”€β”€ No DMARC record           β†’ Add basic p=none record
   β”œβ”€β”€ p=reject but mail failing β†’ Relax to p=none, investigate
   └── DMARC passes              β†’ Move to step 4

4. CHECK IP REPUTATION
   Look up server IP on mxtoolbox.com/blacklists
   β”œβ”€β”€ IP blacklisted            β†’ Escalate to L2 for delisting
   └── IP clean                  β†’ Move to step 5

5. CHECK EMAIL CONTENT AND SENDING PATTERNS
   β”œβ”€β”€ Spammy content?           β†’ Advise on content best practices
   β”œβ”€β”€ New domain?               β†’ Reputation needs time
   └── Volume spike?             β†’ Advise gradual ramp-up

Β 

Β 

8. HTTP Errors & Web Diagnostics

HTTP Status Code Reference

2xx / 3xx β€” Success & Redirects

Code Meaning Notes
200 OK Standard successful response
201 Created Resource created (API response)
204 No Content Success but no body (common in DELETE operations)
301 Moved Permanently Permanent redirect (cached by browsers)
302 Found (Temporary Redirect) Temporary redirect (not cached)
304 Not Modified Browser cache is still valid

4xx β€” Client Errors

Code Meaning Common Cause L1 Action
400 Bad Request Malformed request, corrupt cookies, URL too long Clear browser cache/cookies; check URL
401 Unauthorized Authentication required but not provided Verify credentials; check .htpasswd
403 Forbidden Permission denied Check file permissions (644/755); check .htaccess; check ModSecurity
404 Not Found File/page doesn't exist at URL Verify file exists; check URL; check rewrite rules
405 Method Not Allowed POST/PUT/DELETE blocked Check if method is allowed in .htaccess or server config
408 Request Timeout Server didn't receive complete request Usually client-side network issue
413 Payload Too Large Upload exceeds upload_max_filesize or post_max_size Increase PHP limits in MultiPHP INI Editor
429 Too Many Requests Rate limiting triggered ModSecurity, application firewall, or server rate limits; wait and retry

5xx β€” Server Errors

Code Meaning Common Cause L1 Action
500 Internal Server Error .htaccess error, PHP fatal error, permission issue Check error logs; rename .htaccess; check permissions; check PHP version
502 Bad Gateway Backend (PHP-FPM) crashed or not responding Check resource limits; escalate if persistent
503 Service Unavailable Server overloaded, entry processes exhausted Check resource limits (especially EP); check suspension status
504 Gateway Timeout Backend processing took too long Increase max_execution_time; optimize script; check database
507 Insufficient Storage Disk space or inode limit reached Check disk usage and inodes; clean up
508 Loop Detected Infinite redirect loop Check .htaccess redirect rules; check CMS site URL settings
520–527 Cloudflare-specific errors Various issues between Cloudflare and origin Check origin server directly (bypass Cloudflare); check SSL mode

The 403 Diagnostic Tree

403 Forbidden β†’
β”œβ”€β”€ File permissions wrong?
β”‚   Files should be 644 (rw-r--r--)
β”‚   Directories should be 755 (rwxr-xr-x)
β”‚   Fix: cPanel β†’ File Manager β†’ Permissions
β”‚
β”œβ”€β”€ No index file?
β”‚   Directory listing is disabled and there's no index.html/index.php
β”‚   Fix: Add an index file or enable DirectoryIndex
β”‚
β”œβ”€β”€ .htaccess blocking access?
β”‚   "Deny from all" or IP restriction
β”‚   Fix: Review .htaccess rules
β”‚
β”œβ”€β”€ ModSecurity rule triggered?
β”‚   WAF blocked the request as potentially malicious
β”‚   Check: cPanel β†’ Error Logs or ModSecurity log
β”‚   Fix: If false positive, escalate to L2 to whitelist rule ID
β”‚
β”œβ”€β”€ Hotlink protection blocking?
β”‚   cPanel Hotlink Protection may block direct access
β”‚   Fix: Review Hotlink Protection settings
β”‚
└── IP blocked by firewall?
    Customer's IP blocked by CSF/LFD after failed logins
    Check: Error for everyone or just this customer?
    Fix: Escalate to L2 to check and whitelist IP

The 500 Diagnostic Tree

500 Internal Server Error β†’
β”œβ”€β”€ Check error log FIRST (cPanel β†’ Error Logs)
β”‚   The log will usually tell you exactly what went wrong
β”‚
β”œβ”€β”€ .htaccess error?
β”‚   Rename .htaccess to .htaccess.bak
β”‚   Site loads? β†’ .htaccess was the problem
β”‚
β”œβ”€β”€ PHP version mismatch?
β”‚   Check: cPanel β†’ MultiPHP Manager
β”‚   Try changing PHP version
β”‚
β”œβ”€β”€ File permission error?
β”‚   Check ownership and permissions
β”‚
β”œβ”€β”€ PHP memory limit?
β”‚   Check error log for "Allowed memory size exhausted"
β”‚   Increase memory_limit in PHP settings
β”‚
β”œβ”€β”€ Broken plugin/theme? (WordPress)
β”‚   Rename wp-content/plugins/ to plugins_disabled/
β”‚   Site loads? β†’ Plugin caused it; disable one by one
β”‚
└── Server-level issue?
    Multiple customers affected?
    β†’ Escalate to L2/L3

Key HTTP Headers for Diagnostics

Header What It Tells You
Server: Apache or Server: LiteSpeed Which web server is responding
X-Powered-By: PHP/8.1.2 PHP version in use
X-Sucuri-ID or CF-Ray Request went through a WAF/CDN
Location: https://... Redirect destination (for 301/302)
X-Cache: HIT Response was served from cache
Retry-After: 120 Server requests client to wait (429/503)

Β 

Β 

9. SSL/TLS Certificates

Types of SSL Certificates

Type Validation Trust Level Use Case
DV (Domain Validation) Proves domain ownership only Basic padlock Most websites, blogs, small businesses
OV (Organization Validation) Verifies organization identity Padlock + org info in cert details Business websites, e-commerce
EV (Extended Validation) Rigorous identity verification Padlock + org name Banks, financial institutions, government
Wildcard Covers *.domain.com Varies (DV/OV) Multiple subdomains under one cert
Multi-Domain (SAN) Covers multiple specific domains Varies Hosting multiple domains on one server

Let's Encrypt & AutoSSL

Most shared hosting providers offer Let's Encrypt (or similar free DV SSL) via AutoSSL in cPanel.

How AutoSSL works:

  1. Runs automatically every few hours (or on-demand).
  2. Validates domain ownership via HTTP challenge (places a file at /.well-known/acme-challenge/).
  3. Issues or renews certificate.
  4. Installs certificate automatically.

Common AutoSSL failures:

Failure Reason Cause Fix
Domain does not resolve to this server A record points elsewhere (e.g., Cloudflare) Point A record to the hosting server, or use Cloudflare's SSL
HTTP redirect to HTTPS .htaccess forces HTTPS but cert isn't installed yet Temporarily remove HTTPS redirect, run AutoSSL, re-enable
CAA record blocks issuance DNS CAA record doesn't include letsencrypt.org Add 0 issue "letsencrypt.org" CAA record
Rate limit exceeded Too many issuance attempts Wait (rate limits reset weekly)
.well-known directory blocked .htaccess rules blocking access to challenge file Ensure .well-known is accessible

Mixed Content Errors

After installing SSL, the site loads over HTTPS but browser shows β€œNot Secure” or broken padlock.

Cause: The HTML page loaded over HTTPS contains resources (images, scripts, CSS) loaded over HTTP.

Diagnosis: Browser Developer Tools β†’ Console β†’ Look for β€œMixed Content” warnings.

Fix:

  • Update hardcoded http:// URLs in the CMS/database to https://.
  • WordPress: Use β€œReally Simple SSL” plugin or run a search-replace on the database.
  • General: Search the codebase for http://domain.com and replace with https://domain.com or //domain.com.

Certificate Chain Issues

Sometimes SSL is installed but browsers show β€œYour connection is not private” or β€œCertificate not trusted.”

Common causes:

  • Missing intermediate certificate (CA bundle). The server must send the full chain.
  • Certificate expired. Check expiry date.
  • Certificate doesn't match domain. Cert was issued for www.example.com but visiting example.com.
  • Self-signed certificate. Not trusted by any browser.

Β 

Β 

10. Billing Workflows & Suspension Logic

Billing Lifecycle

Invoice Generated (due date set, e.g., 14 days before service renewal)
        |
        β”œβ”€β”€ Auto-payment succeeds β†’ PAID β†’ Service continues
        |
        β”œβ”€β”€ Auto-payment fails β†’ UNPAID
        |       |
        |       β”œβ”€β”€ Reminder emails sent (1st, 2nd, 3rd at intervals)
        |       |
        |       β”œβ”€β”€ Grace period (e.g., 3-7 days after due date)
        |       |
        |       β”œβ”€β”€ Service SUSPENDED
        |       |       Customer can still log in to billing panel
        |       |       Customer can still pay the invoice
        |       |
        |       β”œβ”€β”€ Overdue period (e.g., 14-30 days after suspension)
        |       |
        |       └── Service TERMINATED (data deleted)
        |               DATA LOSS IS PERMANENT
        |
        └── Customer pays manually β†’ PAID β†’ Service continues/unsuspended

Suspension Types and Their Causes

Suspension Type Triggered By Symptoms Resolution
Billing Unpaid invoice past grace period Site shows suspension page; email stops; FTP disabled Pay outstanding invoice; unsuspension may be automatic or L1 action
Abuse TOS violation (spam, malware, phishing) Full account lockdown Must be reviewed by abuse/compliance team; L1 cannot unsuspend
ICANN Verification WHOIS email not verified within 15 days Domain resolves to registrar hold page Customer verifies email; auto-unsuspended
Manual Admin Internal administrative action Varies Escalate to the team that placed the suspension
Fraud Fraudulent payment detected Full account lockdown Must be reviewed by fraud/billing team; L1 cannot unsuspend

Key Billing Rules for L1

  1. Never manually unsuspend an abuse-suspended account. Always escalate to the abuse team.
  2. Verify payment before unsuspending. Check that the invoice is actually marked as PAID in the billing system, not just that the customer says they paid.
  3. Payment received β‰  Payment cleared. Bank transfers, cheques, and some online payments may take time to clear. If the billing system shows β€œpending,” do not unsuspend.
  4. Refund authority. L1 typically does not have authority to issue refunds. Escalate refund requests to billing team or L2.
  5. Terminated accounts. Data deletion after termination is generally irreversible. If a customer contacts about a recently terminated account, escalate immediately β€” there may be a narrow window for recovery from server backups (not guaranteed).
  6. Service downgrade timing. Downgrades take effect at the next billing cycle, not immediately. Upgrades are typically immediate.

Common Billing Scenarios

β€œI paid but my site is still down”

  1. Verify invoice payment status in billing system.
  2. If payment shows as β€œPending” or β€œProcessing,” explain the clearing time.
  3. If payment is confirmed β€œPaid,” check if the unsuspension automation ran.
  4. If automation didn't trigger, manually unsuspend (if billing suspension and within L1 authority).
  5. Verify site is back up after unsuspension.

β€œI'm being charged for a service I cancelled”

  1. Check if a cancellation request exists in the system.
  2. Check if the cancellation was processed.
  3. If no cancellation was submitted, walk them through the cancellation process.
  4. If cancellation was submitted but not processed, escalate to billing team.
  5. Never promise refunds without billing team approval.

β€œI want to transfer my domain but my account is suspended”

  • A billing suspension does not necessarily prevent domain transfers, but the domain itself must be unlocked and active.
  • If the domain is paid but hosting is unpaid, the domain can potentially still be transferred.
  • If the domain itself is unpaid and expired, it's in the domain lifecycle stages β€” refer to Section 2.

Β 

Β 

11. Security Awareness for L1 Support

Identity Verification

Before making ANY account changes (password resets, contact info updates, domain unlocks, authorization code release), verify the customer's identity.

Minimum verification requirements:

  • Registered email address on the account.
  • Account holder's full name.
  • Last 4 digits of the payment method on file (if applicable).
  • Security PIN / secret question (if configured).

Never:

  • Give auth codes, passwords, or account information via chat/phone without verification.
  • Accept β€œI'm the owner” as sufficient verification.
  • Share account information with someone who β€œsays they are authorized” but isn't on the account.
  • Send sensitive information to an email address not associated with the account.

Social Engineering Red Flags

Watch for these patterns:

  • Urgency pressure: β€œI need this RIGHT NOW or I'll lose a deal.”
  • Authority claims: β€œI'm the CEO's assistant, just give me the auth code.”
  • Email mismatch: Customer contacts from a different email than what's on the account.
  • Knowledge gaps: Customer doesn't know basic account details but insists they own it.
  • Transfer requests for recently changed WHOIS: Could indicate a hijacked account.

When in doubt, escalate to L2 or the security team. It is always better to delay a legitimate customer's request than to facilitate an account theft.

Common Security Issues in Shared Hosting

Compromised Websites

  • Signs: Defaced pages, unknown files in public_html, unexplained email sending (spam), redirects to malicious sites, Google Safe Browsing warnings.
  • L1 Action: Do NOT attempt to clean the site. Document the symptoms and escalate to the security/malware team.
  • Inform the customer: Change all passwords (cPanel, FTP, email, CMS admin, database). This is urgent.

Brute Force Attacks

  • Signs: Customer locked out of cPanel/email, many failed login attempts in logs, IP blocked by firewall (CSF/LFD).
  • L1 Action: If customer's IP is blocked, verify identity and escalate to L2 for IP whitelist. Never whitelist without proper verification.

Phishing Pages

  • This is an abuse case. The customer's account may be compromised, or the customer may be the bad actor.
  • L1 Action: Report to abuse team immediately. Do not inform the account holder before the abuse team reviews.

Password Reset Protocols

Asset Who Can Reset Method
cPanel password L1 (after identity verification) WHM or billing system admin panel
Email account password Customer (via cPanel) or L1 cPanel β†’ Email Accounts
Billing portal password Customer (β€œForgot Password”) or L1 Billing system admin panel
Domain auth code L1 (strict identity verification) Registrar panel; send only to registered WHOIS email
FTP password Customer (via cPanel) or L1 FTP Accounts in cPanel
Database password Customer (via cPanel) MySQL Databases in cPanel

Β 

Β 

12. Escalation Framework

Escalation Boundaries β€” What L1 Can and Cannot Do

L1 CAN:

  • Verify DNS records and advise on correct configuration.
  • Reset cPanel, email, and FTP passwords (after identity verification).
  • Check and communicate resource usage information.
  • Guide customers through cPanel operations.
  • Unsuspend billing-suspended accounts after confirming payment.
  • Troubleshoot email client configuration (ports, SSL, credentials).
  • Diagnose common HTTP errors using error logs and .htaccess.
  • Guide SSL/AutoSSL troubleshooting for standard cases.
  • Process standard domain operations (renewal, lock/unlock, WHOIS privacy).
  • Release auth codes (after strict identity verification).
  • Resend ICANN verification emails.
  • Create, modify, and delete DNS records as directed by the customer.
  • Restart PHP processes for a customer's account (if tooling allows).

L1 CANNOT (must escalate):

  • Modify server-level configurations (Apache, PHP global, MySQL server, firewall rules).
  • Access WHM for server-wide changes.
  • Unsuspend abuse-suspended or fraud-suspended accounts.
  • Issue refunds or account credits.
  • Perform server migrations.
  • Delist IP addresses from blacklists (RBLs).
  • Modify ModSecurity rules.
  • Restore backups from server-level backup systems.
  • Access root or perform any operation requiring root privileges.
  • Make changes to other customers' accounts.
  • Investigate or clean compromised/hacked websites.
  • Handle legal or compliance matters (DMCA, court orders, LEA requests).
  • Override domain registry-level holds (serverHold, serverTransferProhibited).

Escalation Decision Framework

Can I resolve this with the tools and access I have?
β”œβ”€β”€ YES β†’ Resolve it
β”œβ”€β”€ MAYBE β†’
β”‚   β”œβ”€β”€ Try the standard diagnostic steps first
β”‚   β”œβ”€β”€ Document what you've tried
β”‚   └── If still unresolved β†’ Escalate
└── NO β†’
    β”œβ”€β”€ Security issue?    β†’ Escalate IMMEDIATELY
    β”œβ”€β”€ Server-level?      β†’ Escalate to L2 Infrastructure
    β”œβ”€β”€ Abuse/legal?       β†’ Escalate to Abuse/Compliance team
    β”œβ”€β”€ Billing dispute?   β†’ Escalate to Billing team
    └── Beyond knowledge?  β†’ Escalate to L2 with full documentation

How to Write an Effective Escalation

Every escalation must include:

  1. Customer Information: Account username, domain(s) affected, contact email.
  2. Problem Summary: One-sentence description of the issue.
  3. Impact: What is broken? Completely down or partially affected?
  4. Steps Already Taken: Every diagnostic step performed and its result.
  5. Relevant Evidence: Error log entries, DNS lookup results, HTTP status codes, screenshots.
  6. Your Assessment: What you think the problem is (even if unsure).

Example of a GOOD escalation:

Account: johndoe ([email protected])
Domain: example.com
Server: shared-web-14.hostingprovider.com

Issue: Customer's WordPress site returns 503 for all pages since
approximately 14:00 UTC today.

Steps Taken:
1. Verified domain resolves correctly to 198.51.100.14 (correct server IP). OK
2. Billing status: Active, no outstanding invoices. OK
3. Account not suspended. OK
4. Resource Usage: Entry Processes showing 47 faults in last hour.
   CPU at 98%.
5. Error log shows: "mod_lsapi: connect to lsphp timed out"
   repeated hundreds of times.
6. Customer confirmed no recent changes to site.
7. Checked access logs: Large volume of POST requests to /xmlrpc.php
   from multiple IPs starting ~14:00 UTC.

Assessment: Likely brute-force attack via WordPress XML-RPC endpoint
exhausting entry processes. Recommend blocking xmlrpc.php at server
level or via ModSecurity and clearing the LVE fault counter.

Example of a BAD escalation:
Customer says site is down. Please check.

Escalation Priority Levels

Priority Criteria Expected Response Time
P1 - Critical Server-wide outage; multiple customers affected; data loss in progress; active security breach Immediate (within 15 minutes)
P2 - High Single customer completely down; suspected compromise; billing system errors affecting multiple customers Within 1 hour
P3 - Medium Partial service degradation; email deliverability issues; intermittent errors; performance issues Within 4 hours
P4 - Low Feature requests; non-urgent billing inquiries; scheduled maintenance requests; cosmetic issues Within 24 hours

Β 

Β 

13. Diagnostic Checklists

Checklist A: Website Not Loading

# Check How If Fails
1 Can YOU access the site? Test from your own browser/network If you can but customer can't: ISP, DNS cache, or firewall issue on their end
2 Is the domain resolving? dig domain.com A +short No response: Domain or DNS layer issue. Wrong IP: DNS misconfiguration.
3 Is the domain expired? WHOIS lookup β†’ check expiry date and status codes clientHold/serverHold: Domain suspended (Section 2)
4 Is the account active? Check billing system β†’ Account status Suspended: Check reason (billing, abuse, etc.)
5 What HTTP error is returned? Check the exact error code 403/500/502/503/504: See Section 8 diagnostic trees
6 Check error logs cPanel β†’ Error Logs Look for most recent entries at time of issue
7 Check resource usage cPanel β†’ Resource Usage Any faults? Which resource? See Section 5
8 All above pass? β€” Escalate to L2 with full documentation

Checklist B: Email Not Working

# Check How If Fails
1 Define the exact problem Cannot send? Receive? Both? To/from everyone or specific? Since when? Narrow down the issue first
2 Mail client issue or server issue? Can customer log in to Webmail? Webmail works = mail client config issue. Webmail fails = server issue.
3 Sending: SMTP settings Check server, port (587/465), SSL, auth Correct settings and retry
4 Sending: Bounce message? Read the NDR error carefully Error code tells you why (see bounce codes in Section 6)
5 Receiving: MX records dig domain.com MX Wrong MX = email goes to wrong server
6 Receiving: Mailbox quota cPanel β†’ Email Accounts Full mailbox = bounces. Increase or clean.
7 Receiving: Email routing cPanel β†’ Email Routing Should be β€œLocal Mail Exchanger” if hosting email here
8 Spam: SPF/DKIM/DMARC Full audit per Section 7 Fix missing/broken records

Checklist C: Domain Transfer Issues

# Direction Check Notes
1 Outbound Domain unlocked? clientTransferProhibited must be removed
2 Outbound Auth code obtained? Provide to gaining registrar
3 Outbound 60-day lock clear? No recent registration, transfer, or WHOIS change
4 Outbound WHOIS email valid? Transfer approval goes to WHOIS email
5 Outbound Domain not expired? Some registries block transfer of expired domains
6 Inbound Auth code from customer? Must be valid and not expired
7 Inbound Transfer initiated? Check status in admin panel
8 Inbound Waiting period elapsed? Auto-approves in 5 days if no action from losing registrar

Checklist D: SSL Certificate Issues

# Scenario Check Fix
1 No SSL at all AutoSSL enabled? Domain resolves here? .well-known accessible? CAA records? Run AutoSSL manually from cPanel β†’ SSL/TLS Status
2 SSL installed but β€œNot Secure” Mixed content? Certificate expired? Domain mismatch? Missing chain? Fix mixed content; renew cert; install correct cert with chain
3 Wrong certificate showing CDN/proxy (Cloudflare) in front? Multiple domains on same IP? Check CDN SSL settings; verify correct cert installed for domain
4 AutoSSL keeps failing Check AutoSSL log in cPanel; read specific error DNS must point here; no forced HTTPS during validation; .well-known accessible

Β 

Β 

Appendices & Quick Reference

Appendix A: Port Numbers

Service Standard Port SSL/TLS Port
HTTP 80 443 (HTTPS)
FTP 21 990 (FTPS)
SFTP / SSH 22 β€” (inherently encrypted)
SMTP (server-to-server) 25 β€”
SMTP Submission 587 (STARTTLS) 465 (SMTPS)
POP3 110 995
IMAP 143 993
MySQL 3306 β€” (usually internal)
cPanel 2082 2083
WHM 2086 2087
Webmail 2095 2096

Appendix B: File Permissions

Entity Permission Octal Meaning
Regular files rw-r--r-- 644 Owner reads/writes; group and others read only
Directories rwxr-xr-x 755 Owner full access; group and others read and traverse
CGI scripts rwxr-xr-x 755 Must be executable
Config files (wp-config.php) rw-r----- 640 Owner reads/writes; group reads; no public access
.htaccess rw-r--r-- 644 Must be readable by web server

Never set files to 777. This is a security vulnerability that allows any user on the server to read, write, and execute the file.

Appendix C: Common DNS TTL Values

TTL (seconds) Human-Readable Recommended Use
300 5 minutes Pre-migration (set 24–48h before change)
3600 1 hour Standard operational TTL
14400 4 hours Stable records that rarely change
86400 24 hours Very stable records (NS, MX for established services)

Appendix D: Glossary

Term Definition
A Record DNS record mapping a domain to an IPv4 address
Auth Code (EPP Code) Secret code required to transfer a domain between registrars
AutoSSL cPanel feature that automatically provisions and renews Let's Encrypt SSL certificates
CAA Record DNS record specifying which Certificate Authorities can issue SSL certificates for a domain
ccTLD Country Code Top-Level Domain (e.g., .in, .uk, .de)
CloudLinux / LVE Operating system and resource management layer used on shared hosting to isolate accounts
CNAME DNS record that creates an alias from one domain name to another
CSF / LFD ConfigServer Security & Firewall / Login Failure Daemon β€” server firewall and intrusion detection
DKIM DomainKeys Identified Mail β€” email authentication using cryptographic signatures
DMARC Domain-based Message Authentication, Reporting, and Conformance β€” policy for handling email auth failures
DNSBL / RBL DNS-based Blackhole List / Real-time Blackhole List β€” lists of IPs known to send spam
Entry Processes (EP) Number of concurrent PHP/CGI workers allowed per account
EPP Status Codes Extensible Provisioning Protocol codes showing domain registration status
gTLD Generic Top-Level Domain (e.g., .com, .net, .org)
ICANN Internet Corporation for Assigned Names and Numbers β€” oversees domain name system
Inode Data structure representing a file or directory; inode count = total files + directories
MX Record DNS record specifying the mail server responsible for receiving email for a domain
Nameserver (NS) Server responsible for answering DNS queries for a zone
NDR Non-Delivery Report β€” bounce-back email explaining why delivery failed
PHP-FPM PHP FastCGI Process Manager β€” runs PHP as a separate service from the web server
PTR Record Reverse DNS record mapping an IP address to a domain name
SNI Server Name Indication β€” TLS extension allowing multiple SSL certificates on one IP
SPF Sender Policy Framework β€” DNS record declaring authorized mail sending servers
STARTTLS Protocol command to upgrade a plaintext connection to encrypted (used on port 587)
TTL Time To Live β€” how long DNS resolvers should cache a record (in seconds)
WHOIS Protocol/database for querying domain registration information
Zone Apex The root of a domain (e.g., example.com without any subdomain prefix)

End of Document β€” Core Knowledge Base for Level 1 Customer Support v1.0


Was this answer helpful?

« Back