Title: Package Installator
Author: Thomas Lloancy
Published: <strong>september 5, 2025</strong>
Last modified: april 13, 2026

---

Search plugins

![](https://ps.w.org/package-installator/assets/banner-772x250.gif?rev=3356907)

![](https://ps.w.org/package-installator/assets/icon-256x256.gif?rev=3356907)

# Package Installator

 By [Thomas Lloancy](https://profiles.wordpress.org/tlloancy/)

[Download](https://downloads.wordpress.org/plugin/package-installator.2.1.2.zip)

 * [Details](https://pap-aw.wordpress.org/plugins/package-installator/#description)
 * [Reviews](https://pap-aw.wordpress.org/plugins/package-installator/#reviews)
 *  [Installation](https://pap-aw.wordpress.org/plugins/package-installator/#installation)
 * [Development](https://pap-aw.wordpress.org/plugins/package-installator/#developers)

 [Support](https://wordpress.org/support/plugin/package-installator/)

## Description

Package Installator empowers WordPress administrators to manage system-level packages,
such as PHP extensions, directly from the WordPress admin dashboard. It features
a modern, React-based interface with a searchable table, animated progress bars,
and detailed command output for installing and uninstalling packages via SSH.

### Key Features

 * **Customizable Automation Catalog**: Designed for full extensibility, the plugin
   allows anyone to **fork** our [Official Playbook Repository](https://github.com/elestranobaron/wp-package-installator-playbooks)
   to learn from its README how the `manifest.json` is parsed and how to structure
   custom `.yml` files, enabling you to define exactly which playbooks appear in
   your dashboard by simply linking your own repository.
 * **Ansible Orchestrator (New)**: Run complex playbooks in the background with 
   real-time log streaming.
 * **Docker Integration**: List, start, stop, and restart containers securely.
 * **Modern UI**: React-based interface with live feedback and terminal-like consoles.
 * **SSH Integration**: Secure connections using private keys or passwords.
    **Important
   Note**: Currently compatible with all Linux distributions (Red Hat, Fedora, Arch,
   etc.) with tools like `yum`, `dnf`, and `pacman`.

### Dependencies

Includes all dependencies: React, Axios, React-Select, phpseclib3.
 No Composer 
or npm required.

### ⚠️ Avertissements de sécurité très importants

 * Ce plugin exécute des commandes **root** via SSH depuis WordPress.
 * Une vulnérabilité (XSS, vol de session, compte admin compromis) pourrait permettre
   une prise de contrôle totale du serveur.
 * **N’utilisez PAS en production sans** :
    - HTTPS forcé
    - 2FA sur tous les comptes admin
    - Restriction IP sur l’admin WP
    - Liste blanche stricte des commandes autorisées
    - Sauvegardes régulières (fichiers + base)
 * Testez **uniquement sur staging** au début.

### 1.1.0 – December 2025

 * Full internationalization (i18n) support with French and English translations
 * Command history logging with database table
 * Non-interactive root command executor
 * Improved session handling and security
 * Updated for WordPress 6.9 compatibility

### 1.0.0

 * Initial release with React UI, SSH package management, and support for Debian-
   based systems.
 * Features animated progress bars, expandable command output, and SSH status indicators.

### Arbitrary Section

### Future Plans

 * Support for Red Hat, Fedora, Arch, and other Linux distributions.
 * Enhanced error handling and user feedback.
 * Real-time log streaming for long-running operations.
 * Support for additional package managers (`yum`, `dnf`, `pacman`).

### Contact

For contributions or issues, contact Tlloancy at [tlloancy@deter-mi.net].

## Screenshots

 * [[
 * **Package Manager Interface**: Searchable table with package status, actions,
   progress bars, expandable command logs, and SSH status indicator.
 * [[
 * **SSH Settings**: Configure SSH host, username, port, authentication type, with
   a connection status indicator and test button.
 * [[

## Installation

 1. Upload the plugin to `/wp-content/plugins/wordpress-package-installator/` or install
    it via the WordPress plugins screen.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress.
 3. Configure SSH credentials (host, username, port, private key, or password) in the“
    SSH Settings” submenu under “Package Installator”.
 4. Navigate to the “Package Installator” menu to manage packages.

### Permissions Setup

    ```
    `bash
    ```

sudo chown -R www-data:www-data /var/www/html/wordpress/wp-content/plugins/wordpress-
package-installator
 sudo chmod -R 755 /var/www/html/wordpress/wp-content/plugins/
wordpress-package-installator `

## FAQ

### Why is it only compatible with Debian?

The plugin uses `apt` for package management. Future updates will detect the Linux
distribution and use appropriate tools (e.g., `yum`, `dnf`, `pacman`).

### How do I configure SSH?

In the “SSH Settings” submenu, enter your SSH host, username, port, and choose between
private key or password authentication. Ensure the SSH user has `sudo` privileges
for `apt`.

### What if a package is already installed?

The plugin uses `dpkg-query` to check package status and updates the UI accordingly.
If a package is already installed, it will be marked as “Installé” with 100% progress.

### Is it safe to use?

The plugin executes system commands via SSH. Secure your SSH credentials and test
on a non-production server. Always back up your system before use.

### Can I add more packages?

Edit the `$packages` array in `includes/ajax-handlers.php` to include additional
packages relevant to your environment.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Package Installator” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Thomas Lloancy ](https://profiles.wordpress.org/tlloancy/)

[Translate “Package Installator” into your language.](https://translate.wordpress.org/projects/wp-plugins/package-installator)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/package-installator/),
check out the [SVN repository](https://plugins.svn.wordpress.org/package-installator/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/package-installator/)
by [RSS](https://plugins.trac.wordpress.org/log/package-installator/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

**Version 2.1.2 April 26**

### 🚀 Even Further Beyond

 * **The return of the Pingu** : As Arch and Suse are now supported, it’s a 99% 
   cover of the distribs.
 * **Use the Fork** : Package installation system, now also use nohup like the rest.

**Version 2.1.0 April 26**

### 🚀 Optimisations & Performances

 * **Moteur SSH “One-Shot”** : Fusion des commandes système (CPU, RAM, Disque, Distro)
   en une seule session SSH. Gain de performance massif et réduction de la charge
   sur le serveur distant.
 * **Migration vers l’API REST** : Remplacement du polling AJAX fragmenté par une
   route API REST centralisée (`/wp-json/wpkginst/v1/full-status`).
 * **Efficacité Réseau** : Réduction de **80%** des requêtes HTTP nécessaires au
   rafraîchissement du tableau de bord.

### 🛡️ Sécurité

 * **Architecture Double-Nonce** : Implémentation d’un système de jetons hybrides
   pour isoler les flux de données (REST) des actions système (AJAX).
 * **Contrôle d’accès** : Renforcement des `permission_callback` pour garantir l’étanchéité
   des données sensibles du serveur.

### 💻 Interface & React

 * **Synchronisation Atomique** : Mise à jour simultanée de tous les composants 
   de l’interface (Docker, Packages, Stats) pour une expérience utilisateur sans
   latence.
 * **Clean Architecture** : Refonte du cycle de vie React (`useEffect`) pour supprimer
   les appels redondants et optimiser la gestion de la mémoire.
 * **Gestion d’erreurs** : Amélioration du feedback visuel en cas de perte de liaison
   avec l’API ou d’échec de connexion SSH.

**2.0.0 – April 2026**
 * **Major Milestone**: Transition from a simple package 
manager to a full DevOps orchestrator. * **New: Ansible Core**: Integration of Ansible
playbook execution. * **Customizable Automation Catalog**: Designed for full extensibility,
the plugin allows anyone to **fork** our [Official Playbook Repository](https://github.com/elestranobaron/wp-package-installator-playbooks)
to learn from its README how the `manifest.json` is parsed and how to structure 
custom `.yml` files, enabling you to define exactly which playbooks appear in your
dashboard by simply linking your own repository. * **New: Background Processing**:
Asynchronous execution of long-running tasks via SSH (nohup). * **New: Real-time
Streaming**: Live log polling for Ansible and installations. * **Improved: Security**:
Hardened nonce validation and strict path sanitization. * **Refactoring**: Complete
rewrite of the AJAX polling logic to handle high-concurrency background tasks.

### 1.4.0

 * **New:** “Cockpit” Dashboard featuring real-time system resource scanning.

### 1.3.0 – April 2026

 * **Collaboration**: Security audit and refactoring co-authored with Gemini (Google
   AI).
 * **Security**: Hardened SQL queries and input sanitization to meet 2026 WordPress
   standards.
 * **Docker Integration**: Added ability to list, start, stop, and restart Docker
   containers via SSH.
 * **System Control**: Beyond apt packages, the plugin now acts as a lightweight
   container orchestrator.

### 1.2.1 – March 2026 (Terminal refresh fix + Site Health compatibility)

 * PHP session is now opened **only** on the Terminal and Log pages (via conditional
   check in `admin_init` hook)
 * `session_write_close()` is called systematically after every session usage (via`
   shutdown` hook + manual calls where needed)
 * Terminal authentication now persists correctly across page refreshes without 
   blocking REST API or loopback requests
 * Fixed “Access denied – Session expired or insufficient rights” error when running
   commands after a refresh
 * Removed global session lock  Critical issues in Site Health (active PHP session
   + REST API timeout) are resolved
 * Co-authored-by: Grok & User (we own the plot twist)

**Note**: After validating your WordPress password on the Terminal page, you remain
logged in on refresh as long as the browser session cookie (PHPSESSID) is active.
**
Version 1.2.0** : refonte complète de la gestion des sessions PHP pour corriger 
les problèmes Site Health (REST API timeout + session active détectée).

**Compatibilité actuelle** : Debian/Ubuntu (apt). Support futur pour d’autres distributions
prévu.

## Meta

 *  Version **2.1.2**
 *  Last updated **5 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 8.2 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/package-installator/)
 * Tags
 * [debian](https://pap-aw.wordpress.org/plugins/tags/debian/)[Docker](https://pap-aw.wordpress.org/plugins/tags/docker/)
   [SSH](https://pap-aw.wordpress.org/plugins/tags/ssh/)
 *  [Advanced View](https://pap-aw.wordpress.org/plugins/package-installator/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/package-installator/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/package-installator/reviews/)

## Contributors

 *   [ Thomas Lloancy ](https://profiles.wordpress.org/tlloancy/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/package-installator/)