/wpkg-express-2

A web-based frontend to WPKG

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

WPKG Express 2

Build Status Latest Stable Version License: GPL v3

A web-based frontend to WPKG

WPKG Express 2 based on wpkgExpress by Brian White ©2009.

WPKG is an automated software deployment, upgrade and removal program for Windows.

WPKG Express 2 UI

WPKG Express 2 UI

See the project presentation.

This frontend to WPKG provides next features:

  • User authentication by username and password and LDAP security group membership;
  • Generates XML configuration files for WPKG:
    • packages.xml - Defines software packages (commands for WPKG to install/uninstall programs, etc.);
    • profiles.xml - Specifies which packages will be installed/executed for each WPKG profile;
    • hosts.xml - Mappings between machine names and profile names;
    • config.xml - Configuration settings for runtime behavior of wpkg.js.
  • Generates configuration files for Windows Post-Install Wizard:
    • config.js - Configuration file for WPI;
    • profiles.xml - Specifies which packages will be installed/executed for each WPKG profile;
    • hosts.xml - Mappings between machine names and profile names;
    • config.xml - Configuration settings for runtime behavior of wpkg.js.
  • Creates a package, profile and host based on a template;
  • Creates a profile and host based on a template and list of computers from LDAP;
  • Creates copy of a package, profile and host;
  • Preview XML configuration files for WPKG with validating XML schema;
  • Download and upload XML configuration files for WPKG with validating XML schema;
  • Creates and edit XML configuration for WPKG using an editor with validating XML schema and autocompletion based on XML schema;
  • Build a relationship graph for package, profile, and host;
  • Build a relationship graph for host by name;
  • Maintaining archive version of the package with the ability to switch to version;
  • Disable unused profile and host based on list of computers from LDAP;
  • Parsing WPKG log files with sending report to administrators E-mail;
  • Parsing WPKG report and client database files;
  • Viewing the version chart of the installed package;
  • Recycle Bin with the ability to recover deleted data of package, profile or host.

Requirements

  • Apache module mod_rewrite;
  • PHP 5.4 or greater (up to 7.4);
  • PHP Extensions: pdo, ldap, bz2, xml and openssl;
  • Ldap server (Active Directory, Samba or OpenLDAP) to authenticate (only Active Directory) and get a list of computers to create Profiles and Hosts based on a template;
  • Database server (MySQL or Postgres).

Not necessary

  • Composer to install the application;
  • GraphViz to create dependency graph of Packages, Profiles and Hosts;
  • smbclient to access log files and databases of client computers for parsing content;
  • SMTP Server to send mail notifications to the administrator.

Installation

  1. Install WPKG Express 2 using composer: composer create-project anklimsk/wpkg-express-2 /var/www/wpkg, where /var/www/wpkg is Document Root directory. Or just download the latest release from releases and extract the archive to the Document Root directory.
  2. Set the DocumentRoot directive for the domain to /var/www/wpkg/app/webroot.
  3. Make sure that an .htaccess override is allowed and that AllowOverride is set to All for the correct DocumentRoot. For users having apache 2.4 and above, you need to modify the configuration file for your httpd.conf or virtual host configuration to look like the following:
DocumentRoot /var/www/wpkg/app/webroot

<Directory /var/www/wpkg>
     Options FollowSymLinks
     AllowOverride All
     Require all granted
</Directory>
  1. If you are using OPcache you should set the opcache.blacklist_filename configuration value with a file path to your blacklist (View cache):
  • For example, create a new file: /etc/php/7.4/apache2/opcache-blacklist.txt;
  • Specify the path for excluding files, e.g.: /var/www/wpkg/app/tmp/cache/views/wpkg_*.php;
  • Add the blacklist file path to your php.ini file: opcache.blacklist_filename=/etc/php/7.4/apache2/opcache-blacklist.txt;
  • Reload apache configuration: sudo service apache2 reload.
  1. Navigate to the directory app application (/var/www/wpkg/app), and run the following command: sudo ./Console/cake CakeInstaller to start interactive shell of installer.
  2. After the installation process is complete, in your browser go to the link https://wpkg.fabrikam.com/settings to change settings of application, where https://wpkg.fabrikam.com - base URL of installited WPKG Express 2.
  3. Fill in the fields in the Authentication group settings (if required) and click the Save button.

Update

Update frontend to WPKG

Using

Using this frontend to WPKG

Links

Project icon

Part of: WPKG logo was contributed by Eric Le Henaff

License

GNU GENERAL PUBLIC LICENSE Version 3