App Installer
Vinza Store App Installer
App Installer
Free Deployment
installerwizardwordpressjoomladrupallaravel
Get this app
Free
Available to all users. No license needed.

Installs a web application into an existing website's document root (or a subdirectory of it) through a three-step wizard: pick the location, fill in the app's form, then install.

The bundled catalog covers WordPress, Joomla, Drupal, Laravel, Symfony Demo, Grav, Bludit and HTMLy, each defined as a self-contained module with its own info, form and recipe. Source code arrives either as a release download or a git clone (VCS metadata is stripped afterwards); Composer-based apps go through a build step. Files are chowned to the site's Linux user with the www-data group, and each app's declared writable directories are handed to www-data. Apps that need a database get one provisioned automatically — database, user, password and grants — and the credentials are wired into the app's config where a recipe exists.

How far the automation goes depends on the app. WordPress gets a generated wp-config.php with fresh salts and is then finished non-interactively via wp-cli, so it is ready to sign into at /wp-admin; Joomla and Drupal get their database created and the credentials shown on screen, but you still run their own web installer; the flat-file apps are live as soon as the files land. The target directory must be empty before an install starts. Installs are recorded per website, and removing one deletes the files and drops the database it created. All heavy lifting runs through the root agent, every action is checked against the caller's ownership of the website, and the work is routed to the node that actually hosts the site.

Min Panel Version
1.0.0
Platform
Ubuntu 20.04+ / 22.04+ / 24.04+
License
Free — no key needed
Permissions
websites.manage
VinzaPanel handles installation automatically via the Vinza Store. Make sure the panel agent has internet access to download dependencies.
1.0.8 — Version tracking: each install records its version; Check for updates compares it with the vendor's latest release (WordPress, Joomla, Drupal, Grav, Bludit) and Update runs the app's own updater (WordPress wp-cli, Joomla CLI, Grav GPM) as the site owner. Clone to staging: copy an app's files and database to another of your websites or a subdirectory, with a new database and the URLs/credentials rewritten (WordPress search-replace via wp-cli). Remove and update first take a Website-and-DB backup into your Backups and say where it went. 1.0.7 — Security: names shown in the page (from the server, its sites or its users) are passed to buttons safely; a quote in one could run script in the admin's browser. 1.0.6 — WordPress: wp-cli runs on the site's PHP version. 1.0.5 — Fix: an app's writable folders (wp-content, Bludit's bl-content, Grav, Joomla …) stay owned by the site owner — the account PHP runs as — with group write for www-data, instead of being handed to www-data, which left the app unable to write its own files (Bludit's installer failed its write test, Grav returned 500). 1.0.4 — WordPress now always finishes with the site title, admin username, password and email from the form. Sites without HTTPS failed this step and were left at WordPress's own setup page, which anyone could claim; that page is now shut, and if the automatic setup fails the install is removed and the error shown, so it can simply be retried. The admin password never appears on a command line. Requires the agent from VinzaPanel 1.3.52 or later. 1.0.3 — Security hardening for app installation. 1.1.7 — Every app now shows its real mark instead of a stand-in. Joomla was drawn as the letter "J" and Grav as a lightning bolt; both have genuine brand glyphs in the bundled Font Awesome, now used. WordPress, Drupal, Laravel and Symfony keep their brand glyphs and gain their official brand colour, tinting the icon tile. Bludit and HTMLy exist in no icon font, so their official logos ship as real image files in assets/. Symfony (#000000) and Grav (#221E1F) deliberately keep no brand colour — near-black would vanish on the dark theme. Requires the panel's plugin asset endpoint to serve images (added in the same change). 1.1.6 — Enterprise refactor. Each CMS is now a self-contained module under apps/<id>/ (info.json + form.json + recipe.py), so config/finalize logic lives per-app and the core engine (manager.py) stays generic — easy to add or maintain apps. Installation is now a 3-step wizard (Location → Configure → Install) that ends on a ready screen with the app URL, admin credentials, and one-click Open. Apps are finished automatically: WordPress is fully installed via wp-cli; Grav/Bludit/HTMLy and Composer apps (Laravel, Symfony Demo) are live immediately; Joomla/Drupal get their database pre-created with credentials handed to their installer. Added catalog search. 1.0.0 — Initial release.

Use VinzaPanel's REST API to download and install this app programmatically.

Download app files
HTTP
POST /plugins/api/download/app-installer/
Content-Type: application/json

{
  "panel_version": "1.0.0"
}
Example response
JSON
{
  "success": true,
  "plugin_id": "app-installer",
  "version": "1.0.8",
  "download_url": "..."
}