2 # Copyright (C) 2007-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
13 PKG_SOURCE_NAME
:=httpd
15 PKG_SOURCE
:=$(PKG_SOURCE_NAME
)-$(PKG_VERSION
).
tar.bz2
16 PKG_SOURCE_URL
:=@APACHE
/httpd
/
17 PKG_HASH
:=133d48298fe5315ae9366a0ec66282fa4040efa5d566174481077ade7d18ea40
19 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_SOURCE_NAME
)-$(PKG_VERSION
)
21 PKG_MAINTAINER
:=Thomas Heil
<heil@terminal-consulting.de
>, \
22 Sebastian Kemper
<sebastian_ml@gmx.net
>
23 PKG_LICENSE
:=Apache-2.0
24 PKG_LICENSE_FILES
:=LICENSE
26 PKG_CPE_ID
:=cpe
:/a
:apache
:http_server
28 PKG_BUILD_DEPENDS
:=openssl
32 PKG_CONFIG_DEPENDS
:= \
33 CONFIG_PACKAGE_apache-mod-deflate \
34 CONFIG_PACKAGE_apache-mod-http2 \
35 CONFIG_PACKAGE_apache-mod-ldap \
36 CONFIG_PACKAGE_apache-mod-lua \
37 CONFIG_PACKAGE_apache-mod-md \
38 CONFIG_PACKAGE_apache-mod-proxy \
39 CONFIG_PACKAGE_apache-mod-proxy-html \
40 CONFIG_PACKAGE_apache-mod-session-crypto \
41 CONFIG_PACKAGE_apache-mod-suexec \
42 CONFIG_PACKAGE_apache-mod-webdav \
43 CONFIG_PACKAGE_apache-suexec \
44 CONFIG_PACKAGE_libaprutil-dbm-gdbm
50 include $(INCLUDE_DIR
)/package.mk
51 # without nls.mk mod_xml2enc might not find the iconv headers
52 include $(INCLUDE_DIR
)/nls.mk
54 define Package
/apache
/Default
57 SUBMENU
:=Web Servers
/Proxies
58 TITLE
:=The Apache Web Server
59 URL
:=https
://httpd.apache.org
/
62 define Package
/apache
/Default
/description
63 The Apache HTTP Server Project is a collaborative software development
64 effort aimed at creating a robust
, commercial-grade
, featureful
, and
65 freely-available source code implementation of an HTTP
(Web
) server.
69 $(call Package
/apache
/Default
)
70 USERID
:=apache
=377:apache
=377
71 DEPENDS
:=+PACKAGE_libaprutil-dbm-gdbm
:libgdbm
+libapr
+libaprutil
+libpcre
74 define Package
/apache
/description
75 $(call Package
/apache
/Default
/description
)
77 This package contains the Apache web server and utility programs.
81 define Package
/apache
/conffiles
82 /etc
/apache2
/httpd.conf
83 /etc
/apache2
/extra
/httpd-autoindex.conf
84 /etc
/apache2
/extra
/httpd-dav.conf
85 /etc
/apache2
/extra
/httpd-default.conf
86 /etc
/apache2
/extra
/httpd-info.conf
87 /etc
/apache2
/extra
/httpd-languages.conf
88 /etc
/apache2
/extra
/httpd-manual.conf
89 /etc
/apache2
/extra
/httpd-mpm.conf
90 /etc
/apache2
/extra
/httpd-multilang-errordoc.conf
91 /etc
/apache2
/extra
/httpd-ssl.conf
92 /etc
/apache2
/extra
/httpd-userdir.conf
93 /etc
/apache2
/extra
/httpd-vhosts.conf
94 /etc
/apache2
/extra
/proxy-html.conf
96 /etc
/apache2
/mime.types
100 define Package
/apache-ab
101 $(call Package
/apache
/Default
)
102 TITLE
:=Apache benchmark utility
103 DEPENDS
:=apache
+libopenssl
106 define Package
/apache-ab
/description
107 $(call Package
/apache
/Default
/description
)
109 Apache server benchmarking utility.
113 define Package
/apache-error
114 $(call Package
/apache
/Default
)
115 TITLE
:=Error documents
119 define Package
/apache-error
/description
120 $(call Package
/apache
/Default
/description
)
122 Apache multi language custom error documents.
126 define Package
/apache-icons
127 $(call Package
/apache
/Default
)
128 TITLE
:=Icons from Apache
132 define Package
/apache-icons
/description
133 $(call Package
/apache
/Default
/description
)
135 This package contains the icons from Apache.
139 define Package
/apache-suexec
140 $(call Package
/apache
/Default
)
145 define Package
/apache-suexec
/description
146 $(call Package
/apache
/Default
/description
)
148 This package contains the suEXEC utility from Apache.
152 define Package
/apache-utils
153 $(call Package
/apache
/Default
)
154 TITLE
:=Apache utilities
158 define Package
/apache-utils
/description
159 $(call Package
/apache
/Default
/description
)
161 Apache utility programs for webservers.
165 define Package
/apache
/install/mod
166 $(INSTALL_DIR
) $(1)/usr
/lib
/apache2
168 $(PKG_INSTALL_DIR
)/usr
/lib
/apache2
/mod_
$(2).so \
173 --$(if
$(CONFIG_PACKAGE_apache-mod-http2
),en
,dis
)able-http2 \
174 --$(if
$(CONFIG_PACKAGE_apache-mod-lua
),en
,dis
)able-lua \
175 --$(if
$(CONFIG_PACKAGE_apache-mod-md
),en
,dis
)able-md \
176 --$(if
$(CONFIG_PACKAGE_apache-mod-proxy
),en
,dis
)able-proxy \
177 --$(if
$(CONFIG_PACKAGE_apache-mod-session-crypto
),en
,dis
)able-session-crypto \
178 --$(if
$(CONFIG_PACKAGE_apache-mod-ssl
),en
,dis
)able-ssl \
179 --datadir=/usr
/share
/apache2 \
182 --enable-authn-alias \
183 --enable-authn-anon \
188 --enable-disk-cache \
189 --enable-exception-hook \
190 --enable-file-cache \
191 --enable-layout
=OpenWrt \
193 --enable-mods-shared
=all \
194 --enable-mpms-shared
=all \
196 --libexecdir
=/usr
/lib
/apache2 \
197 --sysconfdir
=/etc
/apache2 \
198 --with-apr-util
="$(STAGING_DIR)/usr/bin/apu-1-config" \
199 --with-apr
="$(STAGING_DIR)/usr/bin/apr-1-config" \
201 --with-pcre
="$(STAGING_DIR)/usr/bin/pcre-config" \
204 ifneq ($(CONFIG_PACKAGE_apache-mod-deflate
),)
207 --with-z
="$(STAGING_DIR)/usr"
214 ifneq ($(CONFIG_PACKAGE_apache-mod-ldap
),)
216 --enable-authnz-ldap \
220 --disable-authnz-ldap \
224 ifneq ($(CONFIG_PACKAGE_apache-mod-proxy
),)
227 --enable-proxy-connect \
235 ifneq ($(CONFIG_PACKAGE_apache-mod-proxy-html
),)
237 --enable-proxy-html \
239 --with-libxml2
="$(STAGING_DIR)/usr"
242 --disable-proxy-html \
246 ifneq ($(CONFIG_PACKAGE_apache-mod-suexec
)$(CONFIG_PACKAGE_apache-suexec
),)
249 --with-suexec-bin
=/usr
/sbin
/suexec \
250 --with-suexec-caller
=apache \
251 --with-suexec-docroot
=/var
/www \
252 --with-suexec-logfile
=/var
/log
/apache2
/suexec.log \
253 --with-suexec-uidmin
=99 \
254 --with-suexec-gidmin
=99
260 ifneq ($(CONFIG_PACKAGE_apache-mod-webdav
),)
271 ap_cv_void_ptr_lt_long
=no
274 $(call Build
/Prepare
/Default
)
275 $(INSTALL_DATA
) .
/files
/openwrt.layout
$(PKG_BUILD_DIR
)/config.layout
278 define Build
/InstallDev
279 $(INSTALL_DIR
) $(1)/usr
/bin
280 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/apxs
$(1)/usr
/bin
281 $(INSTALL_DIR
) $(1)/usr
/include/apache2
282 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/include/apache2
/* \
283 $(1)/usr
/include/apache2
284 $(INSTALL_DIR
) $(1)/usr
/lib
/apache2
285 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/apache2
/httpd.exp \
287 $(INSTALL_DIR
) $(1)/usr
/share
/apache2
/build
288 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/apache2
/build
/* \
289 $(1)/usr
/share
/apache2
/build
290 $(SED
) 's%/usr/share/apache2/build%$(STAGING_DIR)/usr/share/apache2/build%' \
292 $(SED
) 's%^prefix =.*%prefix = $(STAGING_DIR)/usr%' \
293 $(1)/usr
/share
/apache2
/build
/config_vars.mk
296 define Package
/apache
/install
297 $(INSTALL_DIR
) $(1)/etc
/apache2
/extra
298 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/etc
/apache2
/extra
/* \
299 $(1)/etc
/apache2
/extra
301 $(PKG_INSTALL_DIR
)/etc
/apache2
/{httpd.conf
,magic
,mime.types
} \
303 $(INSTALL_DIR
) $(1)/etc
/init.d
304 $(INSTALL_BIN
) .
/files
/apache.init
$(1)/etc
/init.d
/apache
305 $(INSTALL_DIR
) $(1)/usr
/lib
/apache2
306 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/apache2
/*.so \
308 rm -f
$(1)/usr
/lib
/apache2
/mod_
{*ldap
,dav
*,deflate
,http2
,lbmethod_
*,lua
,md
,proxy
*,proxy_html
,session_crypto
,ssl
,suexec
,xml2enc
}.so
309 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/lib
/apache2
/httpd.exp \
311 $(INSTALL_DIR
) $(1)/usr
/share
/apache2
/{cgi-bin
,htdocs
}
312 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/apache2
/cgi-bin
/* \
313 $(1)/usr
/share
/apache2
/cgi-bin
314 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/apache2
/htdocs
/* \
315 $(1)/usr
/share
/apache2
/htdocs
316 $(INSTALL_DIR
) $(1)/usr
/{,s
}bin
318 $(PKG_INSTALL_DIR
)/usr
/bin
/{dbmmanage
,htdbm
,htdigest
,htpasswd
,httxt2dbm
,logresolve
} \
320 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/{apachectl
,httpd
} \
324 define Package
/apache-ab
/install
325 $(INSTALL_DIR
) $(1)/usr
/bin
326 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/ab
$(1)/usr
/bin
329 define Package
/apache-error
/install
330 $(INSTALL_DIR
) $(1)/usr
/share
/apache2
/error
331 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/apache2
/error
/* \
332 $(1)/usr
/share
/apache2
/error
335 define Package
/apache-icons
/install
336 $(INSTALL_DIR
) $(1)/usr
/share
/apache2
337 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/apache2
/icons \
338 $(1)/usr
/share
/apache2
341 define Package
/apache-suexec
/install
342 $(INSTALL_DIR
) $(1)/usr
/sbin
343 $(CP
) $(PKG_INSTALL_DIR
)/usr
/sbin
/suexec
$(1)/usr
/sbin
346 define Package
/apache-utils
/install
347 $(INSTALL_DIR
) $(1)/usr
/sbin
349 $(PKG_INSTALL_DIR
)/usr
/sbin
/{checkgid
,envvars
*,htcacheclean
,rotatelogs
} \
353 define Package
/apache
/Module
354 define Package
/apache-mod-
$(1)
355 $(call Package
/apache
/Default
)
357 DEPENDS
:=apache
$(patsubst +%,+PACKAGE_apache-mod-
$(1):%,$(4))
359 define Package
/apache-mod-
$(1)/description
360 $(subst \n,$(newline
),$(3))
362 define Package
/apache-mod-
$(1)/install
363 $(foreach m
,$(5),$(call Package
/apache
/install/mod
,$$(1),$(m
));)
365 $$(eval
$$(call BuildPackage
,apache-mod-
$(1)))
368 $(eval
$(call BuildPackage
,apache
))
369 $(eval
$(call BuildPackage
,apache-ab
))
370 $(eval
$(call BuildPackage
,apache-error
))
371 $(eval
$(call BuildPackage
,apache-icons
))
372 $(eval
$(call BuildPackage
,apache-suexec
))
373 $(eval
$(call BuildPackage
,apache-utils
))
374 $(eval
$(call Package
/apache
/Module
,deflate
,Deflate
,Deflate support for the Apache HTTP server.
,+zlib
,deflate
))
375 $(eval
$(call Package
/apache
/Module
,http2
,HTTP2
,HTTP
/2 transport layer for the Apache HTTP Server.
,+libnghttp2
+libopenssl
,http2
))
376 $(eval
$(call Package
/apache
/Module
,ldap
,LDAP
,LDAP authentication
/authorization module for the Apache HTTP Server.
,+libaprutil-ldap
,authnz_ldap ldap
))
377 $(eval
$(call Package
/apache
/Module
,lua
,Lua
,Lua support for the Apache HTTP server.
,+liblua
,lua
))
378 $(eval
$(call Package
/apache
/Module
,md
,Managed Domain handling
,Managed Domain handling.
,+libcurl
+jansson
+libopenssl
,md
))
379 $(eval
$(call Package
/apache
/Module
,proxy
,Proxy
,Proxy modules for the Apache HTTP Server.
,,proxy proxy_ajp proxy_balancer proxy_connect proxy_express proxy_fcgi proxy_fdpass proxy_ftp proxy_hcheck proxy_http proxy_scgi proxy_uwsgi proxy_wstunnel lbmethod_byrequests lbmethod_heartbeat lbmethod_bytraffic lbmethod_bybusyness
))
380 $(eval
$(call Package
/apache
/Module
,proxy-html
,Proxy HTML
,HTML and XML content filters for the Apache HTTP Server.
,+apache-mod-proxy
+libxml2
,proxy_html xml2enc
))
381 $(eval
$(call Package
/apache
/Module
,session-crypto
,Session crypto
,Session encryption support for the Apache HTTP Server.
,+libaprutil-crypto-openssl
,session_crypto
))
382 $(eval
$(call Package
/apache
/Module
,ssl
,SSL
/TLS
,SSL
/TLS module for the Apache HTTP Server.
,+libopenssl
,ssl
))
383 $(eval
$(call Package
/apache
/Module
,suexec
,suEXEC
,suEXEC module for the Apache HTTP Server.
,+apache-suexec
,suexec
))
384 $(eval
$(call Package
/apache
/Module
,webdav
,WebDAV
,WebDAV support for the Apache HTTP Server.
,,dav dav_fs dav_lock
))