After an upgrade to IBM i 7.2, the ZENDSVR6 Apache instance will not start. This is due to an incompatibility between Apache 2.4 and Apache 2.2.
Zend Server for IBM i version 7.0.0 or higher, running on IBM i recently upgraded to version 7.2 or higher.
Note: IBM i 7.2 requires version 7.0.0 or higher of Zend Server. If you are running an
earlier version of Zend Server, please upgrade.
The upgrade to IBM i 7.2 includes an upgrade of Apache from version 2.2 to 2.4. In 2.2, the Include directive is considered an optional include. The included file does not have to exist. In 2.4, the Include directive is changed to mean the included file must exist, and the new IncludeOptional directive acts the way the Include directive did in prior versions.
For new installations into IBM i 7.2, the installer can determine that the IncludeOptional directive is needed in the ZENDSVR6 Apache configuration. However, when an existing configuration already exists during the upgrade to 7.2, there is no opportunity for the Zend installer to make this adjustment, and it must be done manually.
This procedure requires changing Apache configuration files. As with all configuration file changes, it is a good idea to back up the files before changing them. Here are the required changes:
In file /www/zendsvr6/conf/httpd.conf:
In file /usr/local/zendsvr6/etc/sites.d/zend-default-vhost-10080.conf:
In each line, you are only changing the Include directive to IncludeOptional.
Save the changes. It should now be possible to start Apache.
Another way to resolve this is to create dummy files so that there is always something for the Include to find. These files do not need to have any directives in them. They can be totally blank, but it might be good to put some explanatory comments in them describing why they are there.
For example, you could create these files:
This is a less preferable solution, as it creates a potential conflict with any application named 'blank' that might be deployed via Zend Deployment. However, it does have the advantage of being able to do it ahead of time in preparation for the upgrade to IBM i 7.2. The IncludeOptional directive is not valid in Apache 2.2, so it cannot be substituted in the configuration prior to the upgrade.