When navigating to <APPIAN_URL>/suite/, users encounter a Forbidden message from Apache. The following error is printed in the mod_jk.log file:
<APPIAN_URL>/suite/
Initializing shm:/etc/httpd/logs/mod_jk.shm.2237 errno=13. Load balancing workers will not function properly.
SELinux policy is being enforced on the current Linux system. Thus, SELinux is preventing the Apache process, httpd, from reading and writing to files on the file system. This results in the permission error response in the client when mod_jk is invoked. Under SELinux, all files must be explicitly labeled for read and write access. By default, SELinux allows the correct access on files which have the "httpd_var_run_t" context:
allow httpd_t httpd_var_run_t : file { ioctl read write create getattr setattr lock append unlink link rename };
This can be verified by the following methods:
sestatus
/etc/selinux/config
There are two options provided below:
Configure the Apache mod_jk files to comply with SELinux policy:
mod_jk
mkdir /var/mod_jk
semanage fcontext -a -t httpd_var_run_t "/var/mod_jk(/.*)?"
JkShmFile /var/mod_jk/jk-runtime-status
Note: The mod_jk shared memory contains configuration and runtime information for load balance workers and their members. It is needed in order for all Apache children to:
Disable SELinux policy enforcement by accessing /etc/selinux/config file and setting the policy to "disabled". Ensure the system is restarted for the setting to take effect.
Note: This this will disable SELinux enforcement across the entire system. Please consult with your system administrators before proceeding with this option. SELinux can also be put into permissive mode for testing without disabling SELinux completely with the command:
setenforce 0
This article applies to all versions of Appian.
Last Reviewed: March 2017