diff --git a/en_US.ISO8859-1/htdocs/security/Makefile b/en_US.ISO8859-1/htdocs/security/Makefile
index 739ee38f18..8bbf737b70 100644
--- a/en_US.ISO8859-1/htdocs/security/Makefile
+++ b/en_US.ISO8859-1/htdocs/security/Makefile
@@ -7,6 +7,9 @@
 .include "../Makefile.inc"
 .endif
 
+SUBDIR=		advisories
+SUBDIR+=	patches
+
 DATA=	so_public_key.asc
 DOCS=	charter.sgml
 DOCS+=	security.sgml
diff --git a/en_US.ISO8859-1/htdocs/security/Makefile.inc b/en_US.ISO8859-1/htdocs/security/Makefile.inc
new file mode 100644
index 0000000000..6f9d04a9b4
--- /dev/null
+++ b/en_US.ISO8859-1/htdocs/security/Makefile.inc
@@ -0,0 +1,4 @@
+# $FreeBSD$
+
+WEBBASE?=	/data/security
+DOC_PREFIX?=	${.CURDIR}/../../../..
diff --git a/en_US.ISO8859-1/htdocs/security/advisories/Makefile b/en_US.ISO8859-1/htdocs/security/advisories/Makefile
new file mode 100644
index 0000000000..637ff08fa7
--- /dev/null
+++ b/en_US.ISO8859-1/htdocs/security/advisories/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.if exists(../Makefile.conf)
+.include "../Makefile.conf"
+.endif
+.if exists(../Makefile.inc)
+.include "../Makefile.inc"
+.endif
+
+BULKDATADIRS=	${DOC_PREFIX}/share/security/advisories
+
+# Things that went wrong in the past and had to be fixed.
+# SYMLINKS+=	Source Target
+SYMLINKS=	FreeBSD-SA-09:06.ktimer.asc FreeBSD-SA-06:09.ktimer.asc
+
+.include "${DOC_PREFIX}/share/mk/web.site.mk"
diff --git a/en_US.ISO8859-1/htdocs/security/patches/Makefile b/en_US.ISO8859-1/htdocs/security/patches/Makefile
new file mode 100644
index 0000000000..d5edd2611e
--- /dev/null
+++ b/en_US.ISO8859-1/htdocs/security/patches/Makefile
@@ -0,0 +1,29 @@
+# $FreeBSD$
+
+.if exists(../Makefile.conf)
+.include "../Makefile.conf"
+.endif
+.if exists(../Makefile.inc)
+.include "../Makefile.inc"
+.endif
+
+BULKDATADIRS=	${DOC_PREFIX}/share/security/patches
+
+# Things that went wrong in the past and had to be fixed.
+# Source Target
+SYMLINKS=
+SYMLINKS+=	SA-04:04/tcp47.patch tcp47.patch
+SYMLINKS+=	SA-04:04/tcp47.patch.asc tcp47.patch.asc
+SYMLINKS+=	SA-04:04/tcp52.patch tcp52.patch
+SYMLINKS+=	SA-04:04/tcp52.patch.asc tcp52.patch.asc
+SYMLINKS+=	SA-10:05 SA-10-05
+SYMLINKS+=	kadmin.patch SA-04:09/kadmind.patch
+SYMLINKS+=	kadmin.patch.asc SA-04:09/kadmind.patch.asc
+SYMLINKS+=	kadmind.patch SA-02:40/kadmin.patch
+SYMLINKS+=	kadmind.patch.asc SA-02:40/kadmin.patch.asc
+SYMLINKS+=	ip-options.diff SA-00:23/ip_options.diff
+SYMLINKS+=	ip-options.diff.asc SA-00:23/ip_options.diff.asc
+# Lost?
+#SYMLINKS+=	../../tools/libfind.sh patches/SA-00:17/libfind.sh
+
+.include "${DOC_PREFIX}/share/mk/web.site.mk"
diff --git a/share/mk/web.site.mk b/share/mk/web.site.mk
index 44682e2224..dbd945da62 100644
--- a/share/mk/web.site.mk
+++ b/share/mk/web.site.mk
@@ -322,8 +322,12 @@ INSTALL_CGI?=	\
 _ALLINSTALL+=	${GENDOCS} ${DATA}
 
 realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR
-.if !empty(_ALLINSTALL)
+.if !empty(_ALLINSTALL) || !empty(BULKDATADIRS)
 	@${MKDIR} -p ${DOCINSTALLDIR}
+.for entry in ${BULKDATADIRS}
+	@(cd ${entry} && \
+	${FIND} * -type d -exec ${MKDIR} -p ${DOCINSTALLDIR}/{} \; )
+.endfor
 .for entry in ${_ALLINSTALL}
 .if exists(${.CURDIR}/${entry})
 	${INSTALL_WEB} ${.CURDIR}/${entry} ${DOCINSTALLDIR}
@@ -331,6 +335,10 @@ realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR
 	${INSTALL_WEB} ${entry} ${DOCINSTALLDIR}
 .endif
 .endfor
+.for entry in ${BULKDATADIRS}
+	@(cd ${entry} && \
+	${FIND} * -type f -exec ${INSTALL_WEB} ${entry}/{} ${DOCINSTALLDIR}/{} \; )
+.endfor
 .if defined(INDEXLINK) && !empty(INDEXLINK)
 	cd ${DOCINSTALLDIR}; ${LN} -fs ${INDEXLINK} index.html
 .endif
@@ -342,9 +350,25 @@ realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR
 .endfor
 .endif
 
+_installlinks:
+.if defined(SYMLINKS) && !empty(SYMLINKS)
+	@(${ECHO_CMD} "====> Creating symlinks in ${DOCINSTALLDIR}" && \
+	cd ${DOCINSTALLDIR} && \
+	set ${SYMLINKS}; \
+	while test $$# -ge 2; do \
+		l=$$1; \
+		shift; \
+		t=$$1; \
+		shift; \
+		${ECHO_CMD} $$t -\> $$l; \
+		${LN} -fs $$l $$t; \
+	done )
+.endif
+
 # Set up install dependencies so they happen in the correct order.
 install: afterinstall
-afterinstall: realinstall2
+afterinstall: _installlinks
+_installlinks: realinstall2
 realinstall: beforeinstall
 realinstall2: realinstall
 .endif