Descripción
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
- Modern UI: React-based interface with search functionality and animated progress bars.
- Package Management: Install or uninstall packages like
php-xml,php-mbstring,php-curl, and more. - SSH Integration: Secure SSH connections using private key or password authentication.
- Real-time Feedback: AJAX updates for package status, progress, and detailed command logs.
- Expandable Logs: View raw command output for each package operation.
- SSH Status: Visual indicators for SSH connection status on both settings and package manager pages.
Important Note: Currently compatible only with Debian-based distributions (e.g., Debian, Ubuntu) usingapt. Future versions will support other Linux distributions (Red Hat, Fedora, Arch, etc.) with tools likeyum,dnf, andpacman.
Warning: This plugin executes system commands via SSH, which can impact your server. Ensure proper SSH configuration and test on a staging environment.
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].
Instalación
- Upload the plugin to
/wp-content/plugins/wordpress-package-installator/or install it via the WordPress plugins screen. - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Configure SSH credentials (host, username, port, private key, or password) in the “SSH Settings” submenu under “Package Installator”.
- 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
aptfor 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
sudoprivileges forapt. -
What if a package is already installed?
-
The plugin uses
dpkg-queryto 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
$packagesarray inincludes/ajax-handlers.phpto include additional packages relevant to your environment.
Reseñas
No hay reseñas para este plugin.
Colaboradores y desarrolladores
«Package Installator» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce «Package Installator» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
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_inithook) session_write_close()is called systematically after every session usage (viashutdownhook + 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.
