Pages

Monday, January 22, 2024

Resolving Disk Quota Discrepancies in cPanel and Server

Occasionally, you might encounter discrepancies between the disk usage reported by cPanel and the actual usage on the server. This situation can be puzzling and frustrating. This guide provides a step-by-step solution to resolve these differences and ensure that cPanel reflects the correct disk usage.

Step 1: Log in to the Server

Access your server as the root user via SSH:

ssh root@server

Once logged in, you'll have the necessary permissions to perform system-wide operations.

Step 2: Run Reset and Fix Quota Scripts

cPanel provides scripts to reset and fix quotas. Running these might resolve the issue immediately.

Reset Quotas: This script resets user quotas to ensure they're in sync:

/scripts/resetquotas

Fix Quotas: This script attempts to correct any quota problems:

/scripts/fixquotas

Step 3: Verify the Quota Adjustment

After running the scripts, check if the disk quota issue is resolved. If the discrepancy persists, proceed to the next step.

Step 4: Use Screen for a Detailed Quota Check

If the issue is still unresolved, it's time to perform a more thorough quota check. Using screen allows this process to continue running even if your SSH session is disconnected.

Start a Screen Session:

screen -S ea

Run Quotacheck: In the screen session, force a check and update of disk quotas for all filesystems:

quotacheck -avfumg
  • -a: Check all filesystems.
  • -v: Verbose mode.
  • -f: Force checking even if the system believes quotas are correct.
  • -u: Check user quotas.
  • -m: Do not try to remount the file system read-only.
  • -g: Check group quotas.

Exiting Screen: To detach from the screen session without stopping the running process:

Ctrl + A + D

Re-enter Screen: If you need to go back to your screen session:

screen -x

Step 5: Completion and Verification

Once the quotacheck process completes, you should see a summary of the directories and files checked:

quotacheck: Scanning /dev/simfs [/] done quotacheck: Checked 90761 directories and 772655 files.

Check in WHM: Now, verify whether the disk usage in cPanel reflects the actual usage on the server:

  1. Log in to WHM.
  2. Navigate to the account in question and review the disk space usage.

Conclusion

Resolving discrepancies between cPanel and server-reported disk usage can usually be handled through the provided scripts and a thorough quota check. Remember, keeping your cPanel and server environment updated and regularly monitored is crucial for maintaining accuracy and performance. If the issue persists after these steps, consider contacting cPanel support or a server administrator for further assistance.

Friday, January 12, 2024

Enabling Remote Connections to PostgreSQL Database

Introduction:

By default, PostgreSQL is configured to be accessed only from the local machine. To access your PostgreSQL database remotely, you'll need to modify a couple of configuration files: pg_hba.conf for client authentication and postgresql.conf for listening addresses. This guide will take you through the steps to enable remote connections.

Understanding the Error

When remote connections are not enabled, attempting to connect to your PostgreSQL server from a remote machine will typically result in the following error:

psql: could not connect to server: Connection refused

Configuring PostgreSQL for Remote Access

Step 1: Modify pg_hba.conf

1. Open the pg_hba.conf file located in your PostgreSQL data directory (/var/lib/pgsql/data/ or similar):

nano /var/lib/pgsql/data/pg_hba.conf

2. Add a new line under the IPV4 local connections section to specify which hosts are allowed to connect:

# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD host all all 127.0.0.1 255.255.255.255 trust
  • To allow connections from any IP:
    host all all 0.0.0.0/0 trust
    Note: Allowing connections from any IP (0.0.0.0/0) can be very insecure if proper measures are not taken to secure the database.

3. Save and exit the file.

Step 2: Change the Listen Address in postgresql.conf

1. Open the postgresql.conf file:

nano /var/lib/pgsql/data/postgresql.conf

2. Find the line that specifies listen_addresses and change it to:

listen_addresses = '*'

This setting allows PostgreSQL to listen for connections from any IP address.

3. Save and exit the file.

Step 3: Restart PostgreSQL

Apply the changes by restarting PostgreSQL:

service postgresql restart

or

systemctl restart postgresql

Testing the Remote Connection

1. On the remote machine, attempt to connect to your PostgreSQL server:

psql -U postgres -h YOUR_SERVER_IP
  • Replace YOUR_SERVER_IP with the actual IP address of your PostgreSQL server.

2. If everything is configured correctly, you should be prompted for a password and then given access to the PostgreSQL interactive terminal.

Conclusion

You've now configured your PostgreSQL server to accept remote connections. This setup is essential for development and production environments where database access is required from remote locations. Remember, allowing remote connections to your database can expose it to security risks. Always ensure your database is secured with strong passwords, firewalls, and consider using SSL connections. If you're opening up your database to the internet, it's crucial to implement additional security measures and regular security audits.