The following procedure will install the SP and all its dependencies. Completion of the instructions will result in a functional and loaded but unconfigured SP installed under the /opt/local
file system tree maintained by the MacPorts system.
Apple has deprecated the Apache server included with macOS and no longer provides the necessary apxs script to allow the SP to build against it. Therefore, the port will now shift to depending on, and building against, the Apache 2.4 port available from macports. If your current SP installation is based on the Apple-provided Apache, you will need to migrate to the macport Apache as part of upgrading the SP. |
You can find disk images with an installer at http://www.macports.org/ or you can download and build the port software manually from their tarball. After installing it, particularly if you do so from source, you may need to add /opt/local/bin to your shell path.
Once installed, the port software is self updating using the port selfupdate
command.
Normally, it's possible to just install the primary port ("shibboleth") and let it automatically handle dependencies. This won't work in this case because one of the dependencies (curl) has to be installed with a port "variant" to enable SSL support. Ports cannot indicate that a variant of a dependency is required, so you have to install curl yourself first.
All port installations MUST be done as root.
$ sudo -s # port install curl +ssl # port install shibboleth |
You should see a number of packages downloaded and installed for you. Other port commands and options include -v
for a verbose trace of the process, the upgrade
command to get new versions, and uninstall
to remove things.
If you want to build universal binaries (typically meaning both i386 and x86_64 architecture), you can add +universal
to the port installation command.
If you want to use the ODBC storage plugin, you can add +odbc
to the command line and it will ensure that the unixODBC port is installed and build the plugin for you.
<RequestMap>
feature is not needed for use with Apache, but if you must, its use absolutely requires that the UseCanonicalName
Apache directive be set.ServerName
directive in each virtual host is properly set, including overriding the scheme or port as required by any load balancing, proxying, or offloading you may be doing.Restart Apache.
The port install process generates and installs a launchd descriptor to use in starting and monitoring shibd. You can manually start and stop it yourself, or you can use launchctl like so:
launchctl load -F /Library/LaunchDaemons/org.macports.shibd.plist launchctl unload -F /Library/LaunchDaemons/org.macports.shibd.plist |
If you want shibd to start upon boot, run:
launchctl load -Fw /Library/LaunchDaemons/org.macports.shibd.plist |
By default, the Shibboleth module is configured to log information to the local syslog, with a subset also to the Apache error log.
In order to upgrade the installation, run the commands below.
sudo -s port sync port upgrade outdated |