Pages

Saturday, May 18, 2024

Account DNS Check Plugin for cPanel/WHM: Simplifying Server Migration and Domain Cleanup

Managing a cPanel/WHM server often involves tasks like migrating accounts to new servers or cleaning up old, inactive domains. One of the most tedious aspects of these tasks is ensuring that all domains are pointing to the correct server IP address. This is where the Account DNS Check plugin comes to the rescue!

What is the Account DNS Check Plugin?

The Account DNS Check plugin is a handy tool designed specifically for cPanel/WHM administrators. It streamlines the process of verifying whether hosted domains resolve to the correct IP address of your server. This can be a lifesaver when:

  • Migrating Servers: When moving accounts from one server to another, this plugin quickly identifies domains that still point to the old server, ensuring a smooth transition.
  • Auditing Your Server: It helps you pinpoint domains that are no longer active or that might have mistakenly been pointed elsewhere, allowing you to free up resources.

Key Features

  • Easy Domain Verification: The plugin automatically checks the DNS records for all domains hosted on your cPanel/WHM server.
  • Clear Reporting: It generates a clear list of domains that are either resolving correctly or those that need attention.
  • Multiple Usage Options: You can use the plugin directly within WHM's graphical interface or execute it from the command line, offering flexibility for different workflows.

Installation Instructions

  1. SSH Access: Log into your server as the root user via SSH or the console.
  2. Download and Install:
    Bash
    cd /home
    rm -f latest-accountdnscheck  # Remove old version (if exists)
    wget http://www.ndchost.com/cpanel-whm/plugins/accountdnscheck/download.php
    sh latest-accountdnscheck

How to Use the Plugin

Within WHM:

  1. Log in to your WHM panel.
  2. Go to Plugins and click on Account DNS Check.
  3. The plugin will take a few minutes to process, depending on the number of domains you have. Once complete, you'll see a list of domains with their DNS status.

From the Command Line:

  1. SSH into your server as the root user.
  2. Run the following command:
    Bash
    /var/cpanel/accountdnscheck/scripts/cli_run.sh
    The results will be displayed in your terminal.

Why This Plugin Matters

  • Saves Time: Manual DNS checks can be extremely time-consuming, especially on servers with a large number of domains.
  • Reduces Errors: The plugin automates the process, minimizing the chance of human error.
  • Improves Efficiency: It gives you a quick overview of your domain's DNS health, allowing you to take corrective action promptly.

The Account DNS Check plugin is an indispensable tool for any cPanel/WHM administrator. By simplifying a critical but often tedious task, it helps ensure smooth server migrations and a clean, well-organized server environment.

Resizing EBS Volumes for Your EC2 Instances: A Step-by-Step Guide

Running out of space on your Amazon EC2 instance? Don't worry, you're not alone. Thankfully, with Elastic Block Store (EBS) volumes, expanding your storage capacity is a straightforward process. In this guide, we'll walk you through the steps to seamlessly resize your EBS volumes and ensure your EC2 instance has ample room to grow.

Why Resize EBS Volumes?

EBS volumes provide persistent block storage for your EC2 instances. As your applications and data grow, you might find the initial storage allocation becoming insufficient. Resizing EBS volumes allows you to increase the storage capacity without the need to create a new instance or migrate data, minimizing downtime and disruption.

Steps to Resize Your EBS Volume:

  1. Stop Your Instance: Navigate to the EC2 Instances console within the AWS Management Console and stop the instance whose EBS volume you want to resize. Note the availability zone of your instance – this is crucial for later steps. Also, make a note of the mount point of the volume (e.g., /dev/sdxx).

  2. Create a Snapshot: Go to the EBS Volumes console and locate the volume attached to your stopped instance. Select the volume and choose the "Take Snapshot" option. This creates a point-in-time backup of your data.

  3. Create a New Volume from the Snapshot: Find the newly created snapshot in the EBS Snapshots console. Select it and click "Create Volume." Specify the desired increased size for the new volume and ensure you select the same availability zone as your EC2 instance.

  4. Detach and Attach Volumes:

    • Head back to the EBS Volumes console.
    • Select the old volume, choose "Actions," and then "Detach Volume."
    • Select the new volume, choose "Actions," and then "Attach Volume."
    • Choose your instance from the list.
    • In the "Device" field, ensure you enter the correct mount point you noted in step 1 (e.g., /dev/sdxx).
  5. Start Your Instance: Restart your EC2 instance from the EC2 Instances console.

  6. Extend the Filesystem:

    • Once the instance is running, SSH into it.
    • Run df -h to list partitions. You'll see the new volume, likely mounted at /dev/xvda1 (or similar). Note that the displayed size won't reflect the increased capacity yet.
    • Extend the filesystem to utilize the full volume size by running:
      Bash
      resize2fs /dev/xvda1 
      (Replace /dev/xvda1 if your volume has a different mount point.)

Important Tips:

  • Snapshots Are Your Friends: Always take a snapshot before resizing volumes, ensuring you have a rollback point in case of unexpected issues.
  • Choose the Right Volume Type: If your workload demands high performance, consider using Provisioned IOPS SSD (io1) or General Purpose SSD (gp3) volumes for optimal results.
  • Monitor Storage Usage: Regularly monitor your EBS volume usage to ensure you have enough headroom and plan for future resizing.

By following these steps, you can effortlessly resize your EBS volumes and scale your EC2 instances to meet the demands of your growing applications and workloads.

Resetting cPanel Home Directory Ownership: A Quick Fix for Common Issues

If you manage a cPanel server, you've probably encountered situations where file ownership within user home directories gets messed up. This can lead to website errors, email problems, or other unexpected behavior. Thankfully, there's a simple way to fix this using a handy shell script.

Why Home Directory Ownership Matters

In cPanel, each user's home directory (/home/username) contains their website files, email data, and other configuration files. It's crucial that ownership of these files and directories is set correctly:

  • The user (username) should own most files and directories within their home directory.
  • The mail group should own certain email-related directories.
  • The nobody user typically owns the public_html directory (for website files) when cPanel's FileProtect feature is enabled.

Incorrect ownership can cause permissions issues, preventing users from accessing or modifying their own files.

The Reset Script

Here's a shell script that will iterate through all your cPanel users and reset the ownership of their home directories:

for i in `cat /etc/trueuserdomains | awk '{print $2}'` do chown $i.$i /home/$i -R; chown $i.mail /home/$i/etc -R; chown $i.nobody /home/$i/public_html; done;

Explanation:

  1. cat /etc/trueuserdomains | awk '{print $2}': This part reads the /etc/trueuserdomains file (which lists all cPanel accounts) and extracts the usernames.

  2. for i in ...: The script loops through each extracted username ($i).

  3. chown $i.$i /home/$i -R;: This command recursively sets the ownership of the user's home directory (/home/$i) to the user and their primary group.

  4. chown $i.mail /home/$i/etc -R;: This command sets the ownership of the /etc directory (often containing email-related files) to the user and the mail group.

  5. chown $i.nobody /home/$i/public_html;: This sets the ownership of the public_html directory to the user and the nobody user. This is important if you're using cPanel's FileProtect feature.

Using the Script

  1. SSH into your cPanel server as the root user.

  2. Paste the script into your terminal and press Enter.

The script will take a few moments to run, depending on the number of users on your server.

Important Notes

  • Backup: Always back up your server before making significant changes.
  • FileProtect: If you're not using cPanel's FileProtect feature, you can remove or comment out the last line of the script (chown $i.nobody /home/$i/public_html;).
  • Alternative Method: If you only need to fix ownership for a single user, you can manually run the chown commands for that specific user's directories.

By following these steps, you can quickly restore proper ownership of cPanel home directories and ensure your server runs smoothly.