APS Application Requirements
There may be two kinds of requirements:
Installation requirements - an application may be installed only if provisioning server has required components/modules (such as PHP, ASP.NET) or customer subscription has required resources (e.g. database).
- Provisioning requirement - requirement to provision sub-service of an application.
Installation requirements usually apply to applications of the Shared Web Server and Dedicated VPS provisioning types, provisioning requirements may apply to applications of External System provisioning type as well.
The example of installation requirement is the following one - an application can only be installed on shared hosting server that has particular version of PHP (for example, PHP 5 in CGI mode) and can require specific version of MySQL database.
An example of provisioning requirement (see the table below):
To provision Open-Xchange webmail access a mailbox is required
- To archive mailbox via Liveoffice a mailbox is required as well
DNS Zone requirement
SPAM protection solutions like SpamExperts or McAfee require to change MX records for a domain they are being installed to to check incoming mail
- Microsoft Office 365 uses DNS requirement to create a record needed for domain verification by Microsoft
Common aspects are as follows:
|Aspect||Example of requirement type|
|PHP||Minimal and maximal version, extenstions, limits|
|Database||Database type, version, privileges|
|IIS||Version, application pool type|
|CGI||Extensions (e.g. Perl, PHP, Python)|
|Hardware||CPU, RAM (minimal and recommended)|
|Operating Environment||OS type, architecture|
|Mailbox access types (POP, IMAP)|
|DNS Zone||DNS records types|
POA does check the requirements before it provisions application.
How POA checks requirements when provision application in 'Site Application' model.
In this provisioning scenario application is being installed on existing domain to existing customer's webspace:
POA checks application requirements defined in the APP-META.xml file
- PHP, database, web server (Apache/IIS) and so on.
POA already knows what webspace application will be provisioned to so it checks whether target server (where webspace is located) supports necessary version of scripting language (PHP in most cases) and required extensions.
- If application requires database of certain type (MySQL 4, MySQL 5, PostgreSQL, MsSQL) POA checks resources of customer's subscription to see if there are available resources to create particular database type.
If all checks are passed successfully, POA allows customer to install application.
How POA checks requirements when provision application in 'SaaS Application' model.
In this scenario customer's subscription includes only APS application resource so POA does the following:
Checks provisioning attribute(s) assigned to APS application resource included into a customer's subscription, e.g. WordPress.
Looks for a resource based on 'Physical Hosting (Apache)' resource class (or 'Physical Hosting (IIS)' if application is provisioned on Windows) with the same attribute(s) as application resource. In this provisioning scenarion the resource does not have to be included in customer's subscription, it just must exist in system.
If application requires database, POA also looks for database resource with the same attribute(s) as application resource. Again, this resource does not have to be included in customer's subscription, it just must exist in system.
After POA found necessary web hosting and database resources, it starts looking for shared hosting servers that have:
necessary services (Apache/IIS and database server)
the same attribute(s) as application resource has
- required version of PHP (or another scripting language required by application)
If all required components are found, POA provisions application:
creates webspace based on activation parameters of resource type found on step 2
creates database based on parameters of resource found on step 3
- installs application into the webspace using created database (if it is required)
See the main KB article #115664 APS: General information, Best Practices and Troubleshooting for more information.