Application Manager in cPanel lets you deploy and manage web applications using the Phusion Passenger application server. This tool works as a process manager and reverse proxy for Ruby, Python, and Node.js applications on Apache and Nginx servers. You can register, configure, and monitor your applications directly from your cPanel control panel.
What is Application Manager?
Application Manager provides a user-friendly interface to deploy applications with Phusion Passenger, a powerful application server that simplifies hosting modern web applications. It functions as a process manager, reverse proxy, and operations tool all in one. This feature supports multiple programming languages and frameworks, making it ideal for developers who need to run Ruby on Rails, Python Django, or Node.js applications on shared or dedicated hosting environments.
The interface works seamlessly with both Apache and Nginx web servers. OBHost customers can use this tool to manage their application lifecycle without complex command-line configurations.
Requirements for Using Application Manager
Before you can use Application Manager, your hosting account must have certain features enabled. Your hosting provider must activate the Application Manager feature and install the required Apache module. Without these prerequisites, the interface will not appear in your cPanel.
Required Server Components
The following packages must be installed on your server:
- ea-ruby24-mod_passenger: The core Phusion Passenger Apache module that enables application deployment
- ea-apache24-mod_env: Allows you to set environment variables for your applications through the configuration interface
- ea-nodejs10: Provides support for Node.js applications (or newer Node.js versions depending on your needs)
- Python packages: The appropriate Python version for your specific application requirements
If you need Application Manager enabled on your account, contact your hosting provider's support team. They can verify whether these components are installed and activate the feature for your account.
Understanding the Applications Table
When you open Application Manager, you'll see a table listing all your registered applications. This table provides a quick overview of your deployed applications and their current status.
Table Columns Explained
The applications table displays the following information:
- Name: The custom name you assigned to your application when registering it
- Domain: The domain or subdomain where your application is accessible
- Path: The directory location of your application's source code, shown relative to your home directory
- Status: Shows whether the application is currently enabled (running) or disabled (stopped)
- Actions: Quick action buttons for managing each application
Available Actions
From the Actions column, you can perform several operations on each application:
- Edit: Modify application settings such as environment variables, application root, or startup file
- Unregister: Remove the application from Passenger management (this doesn't delete your files, just stops Passenger from managing the application)
- Enable Dependencies: For Node.js applications, this option checks for and installs npm dependencies listed in your package.json file
How to Register an Application
Before you can register an application in Application Manager, you must first create or upload the application files to your server. Application Manager registers existing applications rather than creating new ones from scratch.
Preparing Your Application
You can prepare your application using one of these methods:
- Clone from Git: Use cPanel's Git Version Control interface to clone an existing repository from GitHub, GitLab, or Bitbucket
- Upload files: Use File Manager or FTP to upload your application files to your server
- Create locally: Develop your application directly on the server using SSH access
Registration Steps
Once your application files are on the server, follow these steps to register it:
- Click the Register Application button in the Application Manager interface
- Select the application type (Ruby, Python, or Node.js)
- Choose the domain or subdomain where you want the application to run
- Specify the application root directory (where your application's main files are located)
- Set the application startup file (for example, app.js for Node.js or config.ru for Ruby)
- Configure any environment variables your application needs
- Click Save to register and deploy your application
After registration, Passenger automatically starts your application and makes it accessible through the specified domain. The application will restart automatically if it crashes, and Passenger handles load balancing if your application receives multiple requests.
Managing Application Dependencies
For Node.js applications, Application Manager includes a convenient feature to manage npm dependencies. When you click Enable Dependencies for a Node.js application, the system checks your package.json file and installs any missing packages.
This feature is particularly useful when you clone an application from a repository, as it ensures all required packages are installed before your application runs. The installation process runs in the background, and you'll see a notification when it completes.
Troubleshooting Common Issues
If Application Manager isn't visible in your cPanel, the feature may not be enabled for your account. Contact your hosting provider to request access. If an application shows as disabled, click Edit and verify that all paths are correct and that your application files exist in the specified directory.
Applications that fail to start often have missing dependencies or incorrect configuration. Check your application logs and ensure all environment variables are set correctly. For Node.js applications, run the Enable Dependencies action to install missing packages.
Frequently Asked Questions
Can I run multiple applications on the same domain?
Yes, you can deploy different applications to different paths on the same domain. For example, you could run one application at yourdomain.com and another at yourdomain.com/api. Each application needs to be registered separately with its own application root and startup file.
What happens when I unregister an application?
Unregistering an application removes it from Passenger management, which stops the application from running. However, it doesn't delete any of your application files or databases. You can re-register the same application later if needed. If you want to permanently remove an application, you must also delete the files using File Manager or FTP.
How do I update environment variables for a running application?
Click the Edit button in the Actions column for your application. In the application settings, you can add, modify, or remove environment variables. After saving your changes, the application will restart automatically with the new environment variables. This is useful for updating API keys, database connections, or application modes without redeploying.
Why isn't my Node.js application starting after registration?
The most common reason is missing npm dependencies. Click the Enable Dependencies button in the Actions column to install all required packages from your package.json file. Also verify that your startup file path is correct and that the file exists in your application directory. Check that you've specified the correct Node.js version if your application requires a specific version.
If you need assistance with Application Manager or have questions about deploying your applications, the OBHost support team is available 24/7. Visit https://www.obhost.net/contact or email support@obhost.org for help.