Published on Apr 28 2026 in Python Directadmin

This plugin provides a convenient web interface for managing Python virtual environments and deploying Python applications directly from DirectAdmin.

Features

See screenshots below.

Prerequisites

Before using the plugin, you should have multiple Python versions available and Phusion Passenger installed.

Below is a quick guide to launching your first Python application with the plugin.

Installation has been tested on RHEL 8 and RHEL 9 derivatives, including AlmaLinux and Rocky Linux.

Installation

You will receive the plugin download URL in your activation email.

  1. In DirectAdmin, go to: Extra Features → Plugin Manager

  2. Install the plugin.

  3. Log in as admin and open the plugin. Initially, you should see configuration details, but no installed Python versions.

Installing Python Versions with PyEnv

The plugin includes a helper script:

/usr/local/directadmin/plugins/python/bin/install_pyenv.sh

PyEnv supports over a thousand Python versions:

/opt/pyenv/bin/pyenv install --list

To choose which versions to install:

nano /usr/local/directadmin/plugins/python/bin/install_pyenv.sh

Uncomment or add the versions you need, or simply keep the defaults.

Then run:

/usr/local/directadmin/plugins/python/bin/install_pyenv.sh

Installation may take several minutes.

Once completed, upgrade pip versions if recommended by the installer.

Refresh the Config tab in the plugin. Installed Python versions should now appear and be ready for use.

Installing Passenger

Install Passenger using the included script:

/usr/local/directadmin/plugins/python/bin/install_passenger.sh

Passenger can also be used for Node.js and Ruby applications.

The installation may take a few minutes. Warnings during the process are usually normal.

If installation fails, run it in debug mode:

DEBUG=1 /usr/local/directadmin/plugins/python/bin/install_passenger.sh

CloudLinux Compatibility

The plugin can detect and import virtual environments created under CloudLinux.

By default, it uses:

python-selector.json

This can be changed in:

conf.php

Creating Your First Python Application

Create a new application from the plugin interface.

Typically, you only need to configure:

Virtual Environment Ready

After creation, the plugin prepares a virtual environment and a starter application.

You can already visit the assigned URL and see the default response.

Example Commands

Use the Examples tab to quickly install popular Python applications.

For example, choose Radicale and select the newly created virtual environment to generate customized installation commands.

Starting the Application

Start the app by:

touch tmp/restart.txt

or use the plugin’s Start/Stop controls.

The Start/Stop function also enables or disables .htaccess redirection to Passenger.

Passenger processes usually remain active for some time after use and shut down automatically after inactivity.

Accessing the Application

Visit your application’s URL.

For Radicale, log in using the credentials shown in the example.

Logs

Global Passenger log:

/var/log/passenger.log

Per-application logs are stored in the path configured in application settings.

Coming Next

A dedicated Node.js plugin is planned next.

Notes

Language Translations

To add your own language:

  1. Copy an existing language directory from:
/usr/local/directadmin/plugins/python/lang
  1. Rename it to your language code.

  2. Translate strings inside:

messages.po
  1. For translating the menu, follow instructions in the HOWTO file inside the lang directory.

Feedback

Feature suggestions and feedback are welcome in the comments section or via the contact form available on the plugin’s Config page.