git: 38d262937a03 - main - www/nginx-module-auth-pam: Add New Port

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Tue, 20 Oct 2026 17:43:49 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=38d262937a03e42f3800f4d6344f727a829eee91

commit 38d262937a03e42f3800f4d6344f727a829eee91
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-10-20 17:41:01 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-10-20 17:43:29 +0000

    www/nginx-module-auth-pam: Add New Port
    
    Sources of the auth_pam module for the NGINX ports.  The module hands basic
    authentication to PAM, so an account of the system can serve as the login.
    
    Sponsored by:   Netzkommune GmbH
---
 www/Makefile                                   |  1 +
 www/nginx-module-auth-pam/Makefile             | 35 ++++++++++++++++++++++++++
 www/nginx-module-auth-pam/distinfo             |  3 +++
 www/nginx-module-auth-pam/files/pkg-message.in | 20 +++++++++++++++
 www/nginx-module-auth-pam/pkg-descr            |  7 ++++++
 5 files changed, 66 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index c92c6084509e..000faf343576 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -540,6 +540,7 @@
     SUBDIR += nginx-module-accept-language
     SUBDIR += nginx-module-ajp
     SUBDIR += nginx-module-array-var
+    SUBDIR += nginx-module-auth-pam
     SUBDIR += nginx-module-aws-auth
     SUBDIR += nginx-module-cache-purge
     SUBDIR += nginx-module-encrypted-session
diff --git a/www/nginx-module-auth-pam/Makefile b/www/nginx-module-auth-pam/Makefile
new file mode 100644
index 000000000000..ca353c2eaa1f
--- /dev/null
+++ b/www/nginx-module-auth-pam/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	nginx-module-auth-pam
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.5.5
+CATEGORIES=	www
+
+MAINTAINER=	joneum@FreeBSD.org
+COMMENT=	Sources of the auth_pam module for the NGINX ports
+WWW=		https://github.com/sto/ngx_http_auth_pam_module
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	sto
+GH_PROJECT=	ngx_http_auth_pam_module
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+SUB_FILES=	pkg-message
+
+_MODDIR=	share/nginx/modules/${PORTNAME}
+MODULESDIR=	${PREFIX}/${_MODDIR}
+
+_MODFILES=	ngx_http_auth_pam_module.c
+
+PLIST_FILES=	${_MODDIR}/config \
+		${_MODFILES:S!^!${_MODDIR}/!}
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${MODULESDIR}
+	${INSTALL_DATA} ${WRKSRC}/config ${STAGEDIR}${MODULESDIR}
+	${INSTALL_DATA} ${_MODFILES:S!^!${WRKSRC}/!} ${STAGEDIR}${MODULESDIR}
+
+.include <bsd.port.mk>
diff --git a/www/nginx-module-auth-pam/distinfo b/www/nginx-module-auth-pam/distinfo
new file mode 100644
index 000000000000..0ab712428151
--- /dev/null
+++ b/www/nginx-module-auth-pam/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1792437050
+SHA256 (sto-ngx_http_auth_pam_module-v1.5.5_GH0.tar.gz) = 98a71617d9119ae784993e3789ce8766fdf2ff2479691f3dc6cf8d8763f8d364
+SIZE (sto-ngx_http_auth_pam_module-v1.5.5_GH0.tar.gz) = 7233
diff --git a/www/nginx-module-auth-pam/files/pkg-message.in b/www/nginx-module-auth-pam/files/pkg-message.in
new file mode 100644
index 000000000000..cf95199fc0d3
--- /dev/null
+++ b/www/nginx-module-auth-pam/files/pkg-message.in
@@ -0,0 +1,20 @@
+[
+{ type: install
+  message: <<EOM
+This package contains the sources of the auth_pam module only.  It does not
+install a loadable module.
+
+The module itself is built by the nginx ports.  To use it, build www/nginx,
+www/nginx-devel or www/freenginx with the HTTP_AUTH_PAM option enabled.
+Those ports pick the sources up from
+%%PREFIX%%/share/nginx/modules/nginx-module-auth-pam
+and produce ngx_http_auth_pam_module.so.
+
+The module needs a PAM service of its own: put a file under
+%%PREFIX%%/etc/pam.d, which does not exist by default, and name it in
+auth_pam_service_name.  The worker runs as the web server's user, so a
+service built on pam_unix(8) will not work -- that module reads files
+only root may read.
+EOM
+}
+]
diff --git a/www/nginx-module-auth-pam/pkg-descr b/www/nginx-module-auth-pam/pkg-descr
new file mode 100644
index 000000000000..93fa5d4053f7
--- /dev/null
+++ b/www/nginx-module-auth-pam/pkg-descr
@@ -0,0 +1,7 @@
+The auth_pam module authenticates HTTP basic credentials against PAM, so
+nginx can use the same account databases as the rest of the system instead
+of a password file of its own.  The PAM service name is named in the
+configuration.
+
+This port only installs the module sources.  The module itself is built by
+the nginx ports when their HTTP_AUTH_PAM option is enabled.