It is important to ensure that the Shibboleth module that is loaded into SAS Web Server (or Apache HTTP Server, in the case of SAS® Viya®) is compatible with the version of the SAS Web Server or Apache HTTP Server that is in use. SAS Web Server is based upon Apache HTTP Server. The version of the web server for which the Shibboleth module is compiled is indicated by the filename of the loadable module file (for example, mod_shib_24.so).
In the loadable module file mod_shib_24.so, the web server should be based upon Apache HTTP Server 2.4. This is opposed to, for example, the Shibboleth loadable module file called mod_shib_22.so, which is compiled for web servers that are based on Apache HTTP Server 2.2.
The version of Apache HTTP Server that is in use can be identified from the messages in the Apache HTTP Server error logs, which are located in the following directories:
- In Linux and UNIX operating environments: SAS-configuration-directory/Levn/Web/WebServer/logs/error*.log
- In Microsoft Windows operating environments: SAS-configuration-directory\Levn\Web\WebServer\logs\error*.log
Here is an example of the Apache HTTP Server version that is shown in the Apache error log:
[Thu Sep 03 06:17:47 2015] [notice] Apache/2.2.29.0 (Unix) PivotalWebServer/5.4.3 mod_ssl/2.2.29.0 OpenSSL/1.0.1j-fips mod_bmx/0.9.4 configured -- resuming normal operations
Caution: Be aware that SAS Web Server or Apache HTTP Server might not display any error messages in the event of this failure. Rather, the failure of the module to load is often fatal to the web-server process, and it causes immediate termination of the web-server process as a result. Often, there is no error message in the log file to indicate the source of the problem.
There is a simple way to determine whether this problem is the cause of a failure to start the web server.
- Add comment delimiters around the LoadModule line in the web-server configuration that loads the Shibboleth module. The comment delimiters prevent the module from loading.
- Then, attempt to restart the web server and observe the behavior. This action disables Shibboleth, but it can be useful for debugging given the lack of error messages.
A web server that starts successfully when the Shibboleth module is commented out, but that does not start when the Shibboleth module is active, strongly indicates that the Shibboleth module might be compiled against the wrong version of web server.
The following example has a comment delimiter (#) in front of the LoadModule line for a system based on Apache HTTP Server 2.4 (which includes SAS Web Server based on Apache HTTP Server 2.4):
#LoadModule mod_shib /usr/lib64/shibboleth/mod_shib_24.so
The actual path to the module that should be used depends on the actual location of the installed module in a particular system.
Caution: Shibboleth fails (breaks) when you upgrade SAS Web Server or Apache HTTP Server from a web server that is based on Apache HTTP Server 2.2 to one that is based on Apache HTTP Server 2.4. When this problem occurs, the web server fails to start because the Shibboleth module does not load. The web server does not start until you either upgrade the Shibboleth module to a version built on Apache HTTP Server 2.4 or until you remove the Shibboleth authentication.
Operating System and Release Information
| SAS System | SAS Web Server | Microsoft® Windows® for x64 | | |
| Linux for x64 | | |
| Solaris for x64 | | |
| HP-UX IPF | | |
| 64-bit Enabled Solaris | | |
| 64-bit Enabled AIX | | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.