InterWorx-CP 4.8.0 Release Candidate Available

We’re happy to announce that InterWorx-CP 4.8.0 RC1 is now available for download and testing.

This is a BIG UPDATE, which is why we’re including an RC phase for this release.

See the NEXT POST on this thread for details about the release.

For those of you who would like to help out by testing and reporting any problems you discover, the RC1 RPMS can be installed by following these instructions:

rhel4 / centos4 users

cd /etc/yum.repos.d

rhel5 / centos5 users

cd /etc/yum.repos.d

rhel6 / centos6 users

cd /etc/yum.repos.d

Once the .repo file is in place, run

yum update

Feel free to discuss any problems, questions, or comments here in this thread, or by contating If you need to get our attention as quickly as possible, opening a support ticket is the best method.

If you are installing this release on an InterWorx-CP cluster, the RPMS must be updated on all servers in the cluster.

Note 1: This release (RC1) will NOT automatically update to your server. If you want to install and test it, manual intervention is required (see above).

Note 2: Upgrading to this release is not something you will be able to quickly or easily back out of. One of the worst things you could do if you run into a problem would be to panic and uninstall any or all of the InterWorx RPMS. Do not do this. If you have a critical problem, open a support ticket with us first.

Note 3: While we do feel this is a fairly stable release candidate, don’t forget it is a release candidate release. It’s possible you’ll run into a problem here and there. However, we do not expect there to be any MAJOR issues that will affect the critical operations of your server. This release has undergone vigorous internal testing to squash virtually all medium- and large-sized bugs.

Thanks in advance to any and all testers!

InterWorx version 4.8.0 build 381 (Release Candidate 1) (2011-06-20)


  • Prior to version 4.8.0, Interworx clustering required a load balancing configuration called "Direct Routing (LVS-DR)". As of Interworx 4.8.0, when adding a cluster node, you can now choose between Direct Routing and Tunneling (LVS-TUN) for the load balancing configuration. The addition of support for Tunneling based load balancing allows more advanced cluster configurations, including building Interworx clusters on cloud provider networks. With Tunneling, it is no longer required for the cluster manager and the cluster node servers to be on the same network segment for load balancing purposes.
  • It used to be difficult to remove a cluster node from a cluster if that node could not be brought offline for the removal from the cluster. It is now possible to cleanly and easily remove a "downed" cluster node from a cluster permanently.
  • It is no longer necessary to manually set the php-mode for each cluster node added to the cluster, Interworx will now correctly inherit the php-mode from the cluster manager.
  • When new nodes are added to an existing cluster, the new node is no longer automatically added to existing load balancing policies.
  • The start/stop of the cluster command queue when a cluster node is added/removed is now consistent and stable.
  • It is no longer necessary to manually add custom Interworx themes on newly installed cluster nodes, as Interworx will add them from the cluster manager automatically.
  • Any failures during cluster activation are now more clearly communicated to the user via the Interworx interface.
  • Nodes added to an existing cluster now have all domains' mail configurations correctly synchronized on the new node.
  • Fixed a problem deleting Siteworx accounts with corrupt or missing domain names, on cluster nodes.
[B]Improved Form and Payload (Data Lists) System[/B] **Significant work has gone into the core Interworx Form and Payload (lists of data) system.**
  • Web forms can now be displayed via javascript, minimizing the need for web page reloads, and speeding up the overall user experience, as appropriate.
  • Lists of data (for example, lists of e-mail boxes, or users, or Siteworx accounts, etc) are now using a powerful new system that provides a consistent and powerful way to view and manage information handled by Interworx. [LIST]
  • Data is easily sortable.
  • Data is easily pageable.
  • Data is refreshed automatically without requiring page loads, speeding up the user experience considerably.
  • All lists of data are now available via the already vast Interworx API, that includes XMLRPC, SOAP, and CLI support.
  • Support for "bulk actions" on lists of data has been added throughout the system.

Major improvements to the DNS Record interfaces in Nodeworx and Siteworx

  • Advanced new forms for adding and editing different DNS record types, including AAAA, NAPTR, SRV, and SPF records.
  • NS records can now easily be added for subdomains on parent zones.
  • Added the ability to optionally change the DNS SOA serial number to "BIND style" format under Nodeworx->Dns Overview.

Webserver “Default Sites” Configuration

  • Using the new IP Management->Default Sites section added to Nodeworx, it is simple to choose where the browser is redirected to if a website is accessed via the IP address only, and not via domain name.

Siteworx Backup System Improvements

  • Scheduled backups made in Siteworx will now rotate the backups after a configurable number of backups to save disk space.
  • Scheduled backups now run as the new iworx-backup user rather than the iworx user.
  • Running backups will now do a better job of checking if they have enough space to complete.

Other Features

  • ~iworx/bin/domain-promoter.pex can now be used to take a master domain, and have it "swap roles" with a pointer domain that is pointing to it. For example, if there is a Siteworx account with domain name "" with a pointer domain called "", then the domain promoter script will make "" the master domain, and "" the pointer domain.
  • It is now possible to view who is configured to receive Nodeworx system health status alerts via the CLI.
  • Added a customer contributed bash script that will clean up old unusable user stats files that waste disk space: ~iworx/contrib/
  • New Session History plugin allows tracking of changes made via Interworx (See: Nodeworx->Plugins: Session History, to enable the plugin).
  • Disabled Siteworx accounts can no longer FTP and send e-mail, in addition to the website being disabled.
  • Added a "Send test mail" feature on the mail queue page, and added a "time in queue" display for each message in the mail queue.
  • New bash completion script for use with the Interworx CLI: ~iworx/contrib/ (BETA). To use it, as root, run: source ~iworx/contrib/, then type "nodeworx -u " and repeatedly hit "tab".
  • Improvements to the yum update interface, including viewing a single package's update history and the ability to install individual updates via Interworx (as opposed to all pending)
  • Performance log added to track edge cases of Interworx performance degradation.
  • Siteworx based "system health" notification e-mails will now come from the reseller-owner of the Siteworx account in question rather than the default server admin.
  • Improved the speed of logging into phpMyAdmin.
  • Forms organized into groups are now collapsible by group.
  • Lists organized into groups are now collapsible by group.
  • Added Cross Site Script Forgery protection on all forms.
  • The Remote MySQL Server / MySQL Pooling feature is now enabled by default.

Bug Fixes

  • Non-root CLI ssh users can not specify a secondary domain for the --login_domain parameter when using the /usr/bin/Siteworx command.
  • Importing accounts no longer requires that the local MySQL server be running, if that server is not needed for the import to complete.
  • It is no longer required for the webserver to be running when adding a Siteworx or importing a Siteworx account, if the webserver is already down when the account is added, and the webserver is not set to start on boot on the server.
  • The iworx init script could sometimes fail to completely shutdown the iworx-db processes. Extra steps have been added to prevent this condition.
  • Various tweaks and fixes to control panel importers.
  • Fixed a link to the Siteworx bandwidth graph in the "big menu" style.
  • Fixed setting of untrusted and trusted interfaces on the Nodeworx firewall page.
  • Directories named 'var' now show up in the FTP home directory chooser, as expected.
  • Directories in the FTP home directory chooser are now sorted in a more user friendly manner.
  • Fixed the start/restart/stop controls for the IMAP-SSL and POP3-SSL servers.
  • Structure-only backups would not complete if MySQL was not running - this is no longer the case.
  • Fixed a problem editing cron jobs via Interworx when certain languages were in use.
  • Fixed problems related to importing Siteworx accounts into reseller accounts as the master Nodeworx user.
  • Siteworx accounts on dedicated IPs, with SSL enabled, could not be moved to a different reseller account, due to IP assignment restrictions. This no longer the case - if a Siteworx account moves from one reseller to another, the dedicated IP ownership moves with it.
  • Fixed a problem with the Siteworx htaccess interface setting a default character set.
  • Configuration file editors would sometimes fail to validate due to TABs or other such characters, this is now fixed.
  • Fixed a problem setting e-mail vacation mode via horde, if the user logged in using a pointer domain for the e-mail address.
  • Fixed downloading of large Apache error logs via Siteworx.
  • Now possible to delete an offline remote MySQL server. If deleted while offline, certain cleanup operations will not be performed.

API Changes

  • Added 122 actions [LIST]
  • /nodeworx/index : logout
  • /nodeworx/users : deactivate
  • /nodeworx/users : activate
  • /nodeworx/users : listUsers
  • /nodeworx/lang : listLanguages
  • /nodeworx/siteworx : listAccounts
  • /nodeworx/siteworx : search
  • /nodeworx/siteworx : suspendByUser
  • /nodeworx/siteworx : unsuspendByUser
  • /nodeworx/shell : listSiteworxUsers
  • /nodeworx/shell : listSystemUsers
  • /nodeworx/shell : shellOptions
  • /nodeworx/shell : changeshell
  • /nodeworx/shell : enable
  • /nodeworx/shell : disable
  • /nodeworx/packages : listPackages
  • /nodeworx/backup : manage
  • /nodeworx/backup : queryBackups
  • /nodeworx/backup : queryAccounts
  • /nodeworx/backup : fullbackup
  • /nodeworx/backup : structureonly
  • /nodeworx/reseller/packages : listResellerPackages
  • /nodeworx/ftp : killSessions
  • /nodeworx/ftp : listFtpSessions
  • /nodeworx/mail/queue : sendTestMessage
  • /nodeworx/mail/queue : queryQueue
  • /nodeworx/mail/queue : delete
  • /nodeworx/mail/queue : expire
  • /nodeworx/mail/queue : unexpire
  • /nodeworx/mysql : queryProcesses
  • /nodeworx/mysql/remote : listServers
  • /nodeworx/mysql/remote : listActiveServers
  • /nodeworx/mysql/remote : listDeletableServers
  • /nodeworx/mysql/remote : listInactiveServers
  • /nodeworx/mysql/remote : rootpass
  • /nodeworx/mysql/remote : nickname
  • /nodeworx/mysql/remote : add
  • /nodeworx/mysql/remote : delete
  • /nodeworx/mysql/remote : default
  • /nodeworx/mysql/remote : activate
  • /nodeworx/dns : setSoaSerialFormat
  • /nodeworx/dns/record : addA
  • /nodeworx/dns/record : editA
  • /nodeworx/dns/record : addAAAA
  • /nodeworx/dns/record : editAAAA
  • /nodeworx/dns/record : addCNAME
  • /nodeworx/dns/record : editCNAME
  • /nodeworx/dns/record : addMX
  • /nodeworx/dns/record : editMX
  • /nodeworx/dns/record : addNAPTR
  • /nodeworx/dns/record : editNAPTR
  • /nodeworx/dns/record : addNS
  • /nodeworx/dns/record : editNS
  • /nodeworx/dns/record : addPTR
  • /nodeworx/dns/record : editPTR
  • /nodeworx/dns/record : addSPF
  • /nodeworx/dns/record : editSPF
  • /nodeworx/dns/record : addSOA
  • /nodeworx/dns/record : editSOA
  • /nodeworx/dns/record : addSRV
  • /nodeworx/dns/record : editSRV
  • /nodeworx/dns/record : addTXT
  • /nodeworx/dns/record : editTXT
  • /nodeworx/nfs/export : listNfsExports
  • /nodeworx/nfs/mount : listNfsMounts
  • /nodeworx/health : queryCodesByEmail
  • /nodeworx/health : removeTargetFromCode
  • /nodeworx/ip : listIpv4Addresses
  • /nodeworx/ip : updateIpDefaultSites
  • /nodeworx/ip : listIpDefaultSites
  • /nodeworx/ssl : listSslCerts
  • /nodeworx/updates : apply
  • /nodeworx/updates : listAvailableUpdates
  • /nodeworx/updates : listRecentUpdates
  • /nodeworx/updates : queryHistory
  • /nodeworx/cluster/nodes : forceDelete
  • /nodeworx/cluster/nodes : listClusterNodes
  • /nodeworx/logout : logout
  • /siteworx/index : logout
  • /siteworx/email/box : listEmailBoxes
  • /siteworx/email/alias : listEmailAliases
  • /siteworx/email/group : listEmailGroups
  • /siteworx/email/autorespond : listEmailAutoresponders
  • /siteworx/domains/slave : listSecondaryDomains
  • /siteworx/domains/pointer : listPointerDomains
  • /siteworx/domains/sub : listSubdomains
  • /siteworx/dns : queryDnsRecords
  • /siteworx/dns : addA
  • /siteworx/dns : editA
  • /siteworx/dns : addAAAA
  • /siteworx/dns : editAAAA
  • /siteworx/dns : addCNAME
  • /siteworx/dns : editCNAME
  • /siteworx/dns : addMX
  • /siteworx/dns : editMX
  • /siteworx/dns : addSPF
  • /siteworx/dns : editSPF
  • /siteworx/dns : addTXT
  • /siteworx/dns : editTXT
  • /siteworx/ftp : listFtpAccounts
  • /siteworx/ftp/sessions : listFtpSessions
  • /siteworx/mysql/db : listMysqlDatabases
  • /siteworx/mysql/user : listMysqlUsers
  • /siteworx/mysql/perms : queryDatabaseUserPerms
  • /siteworx/users : deactivate
  • /siteworx/users : activate
  • /siteworx/users : listUsers
  • /siteworx/email/remotesetup : enableLocalDelivery
  • /siteworx/email/remotesetup : disableLocalDelivery
  • /siteworx/email/remotesetup : listLocalDeliveryStatus
  • /siteworx/email/remotesetup : listMxRecords
  • /siteworx/email/spf : listSpfRecords
  • /siteworx/email/domainkeys : listDomainKeys
  • /siteworx/email/domainkeys : queryDomainKeys
  • /siteworx/backup : listAllBackups
  • /siteworx/backup : listDailyBackups
  • /siteworx/backup : listWeeklyBackups
  • /siteworx/backup : listMonthlyBackups
  • /siteworx/backup/schedule : listScheduled
  • /siteworx/backup/schedule : create
  • /siteworx/backup/schedule : delete
  • /siteworx/logout : logout
  • Deprecated 35 actions
    • /nodeworx/users : list
    • /nodeworx/siteworx : listSiteworxAccounts
    • /nodeworx/siteworx : bulkdeactivate
    • /nodeworx/siteworx : bulkdelete
    • /nodeworx/siteworx : bulkactivate
    • /nodeworx/packages : listIds
    • /nodeworx/reseller : listIds
    • /nodeworx/reseller/packages : listIds
    • /nodeworx/mysql : nickname
    • /nodeworx/mysql : delete
    • /nodeworx/mysql : add
    • /nodeworx/mysql : default
    • /nodeworx/mysql : list
    • /nodeworx/mysql : listActiveServers
    • /nodeworx/mysql : listDeletableServers
    • /nodeworx/mysql : listInactiveServers
    • /nodeworx/dns/zone : edit
    • /nodeworx/dns/record : edit
    • /nodeworx/dns/record : add
    • /siteworx/email/box : list
    • /siteworx/email/alias : list
    • /siteworx/email/group : list
    • /siteworx/email/autorespond : list
    • /siteworx/domains/slave : list
    • /siteworx/domains/slave : listIds
    • /siteworx/domains/pointer : list
    • /siteworx/domains/sub : list
    • /siteworx/dns : add
    • /siteworx/ftp : list
    • /siteworx/mysql/db : list
    • /siteworx/mysql/user : list
    • /siteworx/users : list
    • /siteworx/email/spf : listSpfDomains
    • /siteworx/backup : schedule
    • /siteworx/backup : deleteCron
  • Very good features :smiley:

    Installed on a dev VPS and looks lovely :smiley:

    Well done guys!

    Hey this is great!! Looking forward to it!

    I just installed 4.8 on a virtualbox. … is there some test license I can use for a non production box? …(limited to 1 domain or something)

    Hey evanion,

    Just send a request to that you want a demo license and we’ll set you up with one.