Pour moi, qui aime modérément l'authentification CAS, je suis triste que le ** mod_auth_cas ** fourni dans le référentiel EPEL dans CentOS 6 et CentOS 7 ait disparu dans l'environnement CentOS 8 (et RHEL 8).
Pour le moment, il semble impossible de récupérer rpm et de l'installer, donc je ne peux pas m'en empêcher, donc je vais le construire moi-même.
Sur la base de l'explication du site suivant, il a été modifié en fonction de l'environnement lorsque `` # yum install mod_auth_cas '' a été effectué sur CentOS 7. https://iam.uconn.edu/mod_auth_cas-installation-and-configuration/
# yum install httpd httpd-devel
# yum install gcc libcurl-devel openssl-devel pcre-devel
# yum install autoconf automake make libtool redhat-rpm-config
# yum install wget tar
# cd /usr/local/src
# wget https://github.com/apereo/mod_auth_cas/archive/v1.2.tar.gz
# tar xvzf v1.2.tar.gz
# cd mod_auth_cas-1.2
# autoreconf -iv
# ./configure --with-apxs=/usr/bin/apxs
# make
# make check
# make install
# mkdir /var/cache/httpd/mod_auth_cas
# chown apache:apache /var/cache/httpd/mod_auth_cas
# vi /etc/httpd/conf.d/auth_cas.conf
LoadModule auth_cas_module modules/mod_auth_cas.so
CASCookiePath /var/cache/httpd/mod_auth_cas/
CASCertificatePath /etc/pki/tls/certs/ca-bundle.crt
CASLoginURL https://sso.yourdomain/cas/login
CASValidateURL https://sso.yourdomain/cas/serviceValidate
# systemctl restart httpd
# vi /var/www/html/.htaccess
AuthType CAS
Require valid-user
Si SELinux est activé, une erreur 401 se produira après l'authentification CAS, donc lorsque vous utilisez SELinux avec Enforcing, vérifiez l'écran d'erreur une fois, puis exécutez ce qui suit.
# yum install policycoreutils-python-utils
# grep "httpd" /var/log/audit/audit.log | audit2allow --module=mod_auth_cas -all
module mod_auth_cas 1.0;
require {
type http_port_t;
type httpd_t;
class tcp_socket name_connect;
}
#============= httpd_t ==============
#!!!! This avc can be allowed using one of the these booleans:
# httpd_can_network_connect, httpd_graceful_shutdown, httpd_can_network_relay, nis_enabled
allow httpd_t http_port_t:tcp_socket name_connect;
# grep "httpd" /var/log/audit/audit.log | audit2allow --module=mod_auth_cas -all
# semodule -i mod_auth_cas.pp
Recommended Posts