Pages

Friday, February 16, 2024

Suphp Installation

Installing suPHP on a server using cPanel and EasyApache is a straightforward process but requires careful attention to detail. suPHP is a tool for executing PHP scripts with the permissions of their owners, enhancing the security of the server. Here's a detailed guide on how to install and configure suPHP:

Step 1: Launch a Screen Session

Before you start, it's recommended to run EasyApache within a screen session. This ensures that the process continues running even if your SSH session is interrupted.
screen -S ea
This command starts a new screen session named "ea."
Step 2: Run EasyApache

Now, initiate the EasyApache script. This script provides a text-based interface for configuring Apache and PHP.
/scripts/easyapache
Step 3: Select Mod SuPHP

Within the EasyApache interface, navigate to the "Exhaustive Options List" and find "Mod SuPHP." Select it by pressing the spacebar. Make any other adjustments as needed for your server environment, then proceed to compile and build Apache and PHP with your new settings.

Step 4: Build the Configuration

After selecting Mod SuPHP and any other required options, follow the on-screen instructions to complete the build process. This might take some time depending on your server's specifications and the options selected.
Step 5: Configure suPHP

Once EasyApache has finished building, you can enable suPHP on your server with the following command:
/usr/local/cpanel/bin/rebuild_phpconf 5 none suphp 1

This command sets PHP5 to use suPHP as the PHP Handler and enables suEXEC, which is necessary for suPHP to function correctly.
Step 6: Verify the Configuration

To ensure that suPHP has been correctly configured, use the following command to display the current PHP handler setup:
/usr/local/cpanel/bin/rebuild_phpconf --current

You should see output indicating that PHP5 is using suPHP and that suEXEC is enabled.
Step 7: Restart Apache

For the changes to take effect, restart the Apache service:
/scripts/restartsrv_httpd
Step 8: Check suPHP Log and Adjust Permissions

Finally, you can check the suPHP log file for any errors or messages:
/usr/local/apache/logs/suphp_log
If you encounter errors related to file permissions, suPHP requires directories to have 755 permissions and files to have 644 permissions. Use the following commands to set permissions correctly for PHP files and directories within your web content:
find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;
Run these commands within the root directory of your website(s).

Conclusion

Following these steps will install and configure suPHP on your cPanel server, enhancing the security by executing PHP scripts with the permissions of their owners. Be sure to monitor the suPHP log file for any errors and adjust file permissions as necessary to avoid common issues related to improper file permissions.

All the databases are showing size 0 MB in cpanel

When managing a server with cPanel, encountering an issue where all databases are showing as 0 MB in size can be concerning. This typically indicates a configuration issue rather than actual data loss. The solution involves a simple tweak in the cPanel configuration file and running a script to update the database cache. Here's a step-by-step guide to resolve this problem:

Step 1: Access the Server

First, you need to access your server's command line interface (CLI). This is usually done via SSH. Once logged in as the root user, you're ready to proceed to the next step.

Step 2: Edit the cPanel Configuration File

The cPanel configuration file, cpanel.config, contains various settings that control how cPanel behaves. To edit this file, you'll use the vi editor, a widely-used text editor in Unix-like operating systems. The command to open the file is:vi /var/cpanel/cpanel.config

Step 3: Modify the Configuration

While in the vi editor, you're looking to change the setting that includes database sizes in the disk usage calculations. By default, or due to a misconfiguration, this setting might be disabled (set to 0). You need to find the line that reads:
disk_usage_include_sqldb=0
and change it to:
disk_usage_include_sqldb=1

This change tells cPanel to include SQL database sizes in its disk usage calculations.

To edit in vi:
Navigate to the line using the arrow keys.
Press i to enter insert mode.
Make the necessary changes.
Press Esc to exit insert mode.
Type :wq and press Enter to save the changes and quit vi.

Step 4: Run the Update Script

After saving the changes to the cpanel.config file, you'll need to update the cPanel database cache. This is done by running a script included with cPanel:/scripts/update_db_cache


This script will process the change you've made and update the database sizes accordingly.
Conclusion

Following these steps should resolve the issue of databases showing as 0 MB in size within cPanel. It's a straightforward fix that addresses a common configuration oversight. After running the update script, you can verify the changes by checking the disk usage statistics in cPanel again. If the problem persists, it might be wise to consult with cPanel's documentation or reach out to their support for further assistance.

Troubleshooting Python Module Import Errors in Ansible

Are you encountering issues with importing Python modules in Ansible? Don't worry; you're not alone. In this blog post, we'll explore common reasons for module import errors in Ansible and provide step-by-step solutions to resolve them.

Problem Description

You may have encountered error messages like the following when running Ansible tasks:

ModuleNotFoundError: No module named 'requests'


or

ModuleNotFoundError: No module named 'pyVim'



These errors indicate that Ansible is unable to find the required Python modules (requests and pyVim) in your Python environment.

Solution Steps

Here's a breakdown of the steps you can take to resolve these module import errors:

Install Missing Python Modules: Use pip or your preferred package manager to install the missing modules. For example:
pip install requests pyVim
Verify Python Interpreter: Ensure that Ansible is using the correct Python interpreter. You can specify the Python interpreter using the ansible_python_interpreter variable in your Ansible inventory or configuration file.


Check Python Environment: Make sure that the Python environment being used by Ansible is properly configured and has the necessary permissions to access the modules.

Consider Virtual Environments: Using virtual environments can help manage Python dependencies and avoid conflicts between projects. Create a virtual environment and install the required modules inside it.

Update Ansible Configuration: If necessary, update your Ansible configuration to point to the correct Python interpreter or virtual environment.

Debugging: Enable verbose output (-vvv) to get more detailed error messages and traceback information. This can help identify the root cause of the problem.

Conclusion

By following these steps, you should be able to resolve module import errors in Ansible and ensure that your tasks run smoothly. Remember to always check your Python environment, install missing modules, and update Ansible configuration as needed.

If you continue to encounter issues, don't hesitate to consult the Ansible documentation or seek assistance from the Ansible community. With a little troubleshooting and perseverance, you'll have your Ansible playbook up and running in no time!

Stay tuned for more Ansible tips and tricks on our blog. Happy automating!