1 %define contentdir /var/www
2 %define suexec_caller apache
5 Summary: Apache HTTP Server
7 Version: APACHE_VERSION
8 Release: APACHE_RELEASE
9 URL: http://httpd.apache.org/
10 Vendor: Apache Software Foundation
11 Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
12 License: Apache License, Version 2.0
13 Group: System Environment/Daemons
14 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
15 BuildRequires: autoconf, perl, pkgconfig, findutils
16 BuildRequires: zlib-devel, libselinux-devel
17 BuildRequires: apr-devel >= 1.4.0, apr-util-devel >= 1.4.0, pcre-devel >= 5.0
18 Requires: initscripts >= 8.36, /etc/mime.types
19 Obsoletes: httpd-suexec
20 Requires(pre): /usr/sbin/useradd
21 Requires(post): chkconfig
23 Provides: mod_dav = %{version}-%{release}, httpd-suexec = %{version}-%{release}
24 Provides: httpd-mmn = %{mmn}
27 Apache is a powerful, full-featured, efficient, and freely-available
28 Web server. Apache is also the most popular Web server on the
32 Group: Development/Libraries
33 Summary: Development tools for the Apache HTTP server.
34 Obsoletes: secureweb-devel, apache-devel
35 Requires: apr-devel, apr-util-devel, pkgconfig, libtool
36 Requires: httpd = %{epoch}:%{version}-%{release}
39 The httpd-devel package contains the APXS binary and other files
40 that you need to build Dynamic Shared Objects (DSOs) for the
43 If you are installing the Apache HTTP server and you want to be
44 able to compile or develop additional modules for Apache, you need
45 to install this package.
49 Summary: Documentation for the Apache HTTP server.
50 Requires: httpd = %{epoch}:%{version}-%{release}
51 Obsoletes: secureweb-manual, apache-manual
54 The httpd-manual package contains the complete manual and
55 reference guide for the Apache HTTP server. The information can
56 also be found at http://httpd.apache.org/docs/.
59 Group: System Environment/Daemons
60 Summary: Tools for use with the Apache HTTP Server
63 The httpd-tools package contains tools which can be used with
64 the Apache HTTP Server.
66 %package -n mod_authnz_ldap
67 Group: System Environment/Daemons
68 Summary: LDAP modules for the Apache HTTP server
69 BuildRequires: openldap-devel
70 Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn}
72 %description -n mod_authnz_ldap
73 The mod_authnz_ldap module for the Apache HTTP server provides
74 authentication and authorization against an LDAP server, while
75 mod_ldap provides an LDAP cache.
78 Group: System Environment/Daemons
79 Summary: Lua language module for the Apache HTTP server
80 BuildRequires: lua-devel
81 Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn}
83 %description -n mod_lua
84 The mod_lua module for the Apache HTTP server allows the server to be
85 extended with scripts written in the Lua programming language.
87 %package -n mod_proxy_html
88 Group: System Environment/Daemons
89 Summary: Proxy HTML filter modules for the Apache HTTP server
90 BuildRequires: libxml2-devel
91 Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn}
93 %description -n mod_proxy_html
94 The mod_proxy_html module for the Apache HTTP server provides
95 a filter to rewrite HTML links within web content when used within
96 a reverse proxy environment. The mod_xml2enc module provides
97 enhanced charset/internationalisation support for mod_proxy_html.
99 %package -n mod_socache_dc
100 Group: System Environment/Daemons
101 Summary: Distcache shared object cache module for the Apache HTTP server
102 BuildRequires: distcache-devel
103 Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn}
105 %description -n mod_socache_dc
106 The mod_socache_dc module for the Apache HTTP server allows the shared
107 object cache to use the distcache shared caching mechanism.
110 Group: System Environment/Daemons
111 Summary: SSL/TLS module for the Apache HTTP server
112 BuildRequires: openssl-devel
113 Requires(post): openssl, /bin/cat
115 Requires: httpd = %{epoch}:%{version}-%{release}, httpd-mmn = %{mmn}
117 %description -n mod_ssl
118 The mod_ssl module provides strong cryptography for the Apache Web
119 server via the Secure Sockets Layer (SSL) and Transport Layer
120 Security (TLS) protocols.
125 # Safety check: prevent build if defined MMN does not equal upstream MMN.
126 vmmn=`echo MODULE_MAGIC_NUMBER_MAJOR | cpp -include include/ap_mmn.h | sed -n '
128 if test "x${vmmn}" != "x%{mmn}"; then
129 : Error: Upstream MMN is now ${vmmn}, packaged MMN is %{mmn}.
130 : Update the mmn macro and rebuild.
135 # forcibly prevent use of bundled apr, apr-util, pcre
136 rm -rf srclib/{apr,apr-util,pcre}
139 --enable-layout=RPM \
140 --libdir=%{_libdir} \
141 --sysconfdir=%{_sysconfdir}/httpd/conf \
142 --includedir=%{_includedir}/httpd \
143 --libexecdir=%{_libdir}/httpd/modules \
144 --datadir=%{contentdir} \
145 --with-installbuilddir=%{_libdir}/httpd/build \
146 --enable-mpms-shared=all \
147 --with-apr=%{_prefix} --with-apr-util=%{_prefix} \
148 --enable-suexec --with-suexec \
149 --with-suexec-caller=%{suexec_caller} \
150 --with-suexec-docroot=%{contentdir} \
151 --with-suexec-logfile=%{_localstatedir}/log/httpd/suexec.log \
152 --with-suexec-bin=%{_sbindir}/suexec \
153 --with-suexec-uidmin=500 --with-suexec-gidmin=100 \
156 --enable-mods-shared=all \
157 --enable-ssl --with-ssl --enable-socache-dc --enable-bucketeer \
158 --enable-case-filter --enable-case-filter-in \
164 rm -rf $RPM_BUILD_ROOT
165 make DESTDIR=$RPM_BUILD_ROOT install
167 # for holding mod_dav lock database
168 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/dav
170 # create a prototype session cache
171 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/mod_ssl
172 touch $RPM_BUILD_ROOT%{_localstatedir}/cache/mod_ssl/scache.{dir,pag,sem}
174 # Make the MMN accessible to module packages
175 echo %{mmn} > $RPM_BUILD_ROOT%{_includedir}/httpd/.mmn
177 # Set up /var directories
178 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/httpd
179 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/httpd/cache-root
181 # symlinks for /etc/httpd
182 ln -s ../..%{_localstatedir}/log/httpd $RPM_BUILD_ROOT/etc/httpd/logs
183 ln -s ../..%{_localstatedir}/run $RPM_BUILD_ROOT/etc/httpd/run
184 ln -s ../..%{_libdir}/httpd/modules $RPM_BUILD_ROOT/etc/httpd/modules
185 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
187 # install SYSV init stuff
188 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
189 install -m755 ./build/rpm/httpd.init \
190 $RPM_BUILD_ROOT/etc/rc.d/init.d/httpd
191 install -m755 ./build/rpm/htcacheclean.init \
192 $RPM_BUILD_ROOT/etc/rc.d/init.d/htcacheclean
194 # install log rotation stuff
195 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
196 install -m644 ./build/rpm/httpd.logrotate \
197 $RPM_BUILD_ROOT/etc/logrotate.d/httpd
199 # Remove unpackaged files
200 rm -rf $RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.exp \
201 $RPM_BUILD_ROOT%{contentdir}/cgi-bin/*
203 # Make suexec a+rw so it can be stripped. %%files lists real permissions
204 chmod 755 $RPM_BUILD_ROOT%{_sbindir}/suexec
207 # Add the "apache" user
208 /usr/sbin/useradd -c "Apache" -u 48 \
209 -s /sbin/nologin -r -d %{contentdir} apache 2> /dev/null || :
212 # Register the httpd service
213 /sbin/chkconfig --add httpd
214 /sbin/chkconfig --add htcacheclean
218 /sbin/service httpd stop > /dev/null 2>&1
219 /sbin/service htcacheclean stop > /dev/null 2>&1
220 /sbin/chkconfig --del httpd
221 /sbin/chkconfig --del htcacheclean
227 if [ ! -f %{_sysconfdir}/httpd/conf/server.key ] ; then
228 %{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/httpd/conf/server.key 2> /dev/null
232 if [ "x${FQDN}" = "x" ]; then
233 FQDN=localhost.localdomain
236 if [ ! -f %{_sysconfdir}/httpd/conf/server.crt ] ; then
237 cat << EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/httpd/conf/server.key -x509 -days 365 -out %{_sysconfdir}/httpd/conf/server.crt 2>/dev/null
242 SomeOrganizationalUnit
249 # Check the built modules are all PIC
250 if readelf -d $RPM_BUILD_ROOT%{_libdir}/httpd/modules/*.so | grep TEXTREL; then
251 : modules contain non-relocatable code
256 rm -rf $RPM_BUILD_ROOT
259 %defattr(-,root,root)
261 %doc ABOUT_APACHE README CHANGES LICENSE NOTICE
263 %dir %{_sysconfdir}/httpd
264 %{_sysconfdir}/httpd/modules
265 %{_sysconfdir}/httpd/logs
266 %{_sysconfdir}/httpd/run
267 %dir %{_sysconfdir}/httpd/conf
268 %dir %{_sysconfdir}/httpd/conf.d
269 %config(noreplace) %{_sysconfdir}/httpd/conf/httpd.conf
270 %config(noreplace) %{_sysconfdir}/httpd/conf/magic
271 %config(noreplace) %{_sysconfdir}/httpd/conf/mime.types
272 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-autoindex.conf
273 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-dav.conf
274 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-default.conf
275 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-info.conf
276 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-languages.conf
277 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-manual.conf
278 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-mpm.conf
279 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-multilang-errordoc.conf
280 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-userdir.conf
281 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-vhosts.conf
282 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/proxy-html.conf
283 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-autoindex.conf
284 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-dav.conf
285 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-default.conf
286 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-info.conf
287 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-languages.conf
288 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-manual.conf
289 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-mpm.conf
290 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-multilang-errordoc.conf
291 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-userdir.conf
292 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-vhosts.conf
293 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/proxy-html.conf
294 %config(noreplace) %{_sysconfdir}/httpd/conf/original/httpd.conf
296 %config %{_sysconfdir}/logrotate.d/httpd
297 %config %{_sysconfdir}/rc.d/init.d/httpd
298 %config %{_sysconfdir}/rc.d/init.d/htcacheclean
300 %{_sbindir}/fcgistarter
301 %{_sbindir}/htcacheclean
303 %{_sbindir}/apachectl
304 %attr(4510,root,%{suexec_caller}) %{_sbindir}/suexec
306 %dir %{_libdir}/httpd
307 %dir %{_libdir}/httpd/modules
308 %{_libdir}/httpd/modules/mod_access_compat.so
309 %{_libdir}/httpd/modules/mod_actions.so
310 %{_libdir}/httpd/modules/mod_alias.so
311 %{_libdir}/httpd/modules/mod_allowmethods.so
312 %{_libdir}/httpd/modules/mod_asis.so
313 %{_libdir}/httpd/modules/mod_auth_basic.so
314 %{_libdir}/httpd/modules/mod_auth_digest.so
315 %{_libdir}/httpd/modules/mod_auth_form.so
316 %{_libdir}/httpd/modules/mod_authn_anon.so
317 %{_libdir}/httpd/modules/mod_authn_core.so
318 %{_libdir}/httpd/modules/mod_authn_dbd.so
319 %{_libdir}/httpd/modules/mod_authn_dbm.so
320 %{_libdir}/httpd/modules/mod_authn_file.so
321 %{_libdir}/httpd/modules/mod_authn_socache.so
322 %{_libdir}/httpd/modules/mod_authz_core.so
323 %{_libdir}/httpd/modules/mod_authz_dbd.so
324 %{_libdir}/httpd/modules/mod_authz_dbm.so
325 %{_libdir}/httpd/modules/mod_authz_groupfile.so
326 %{_libdir}/httpd/modules/mod_authz_host.so
327 %{_libdir}/httpd/modules/mod_authz_owner.so
328 %{_libdir}/httpd/modules/mod_authz_user.so
329 %{_libdir}/httpd/modules/mod_autoindex.so
330 %{_libdir}/httpd/modules/mod_bucketeer.so
331 %{_libdir}/httpd/modules/mod_buffer.so
332 %{_libdir}/httpd/modules/mod_cache_disk.so
333 %{_libdir}/httpd/modules/mod_cache.so
334 %{_libdir}/httpd/modules/mod_case_filter.so
335 %{_libdir}/httpd/modules/mod_case_filter_in.so
336 %{_libdir}/httpd/modules/mod_cgid.so
337 %{_libdir}/httpd/modules/mod_charset_lite.so
338 %{_libdir}/httpd/modules/mod_data.so
339 %{_libdir}/httpd/modules/mod_dav_fs.so
340 %{_libdir}/httpd/modules/mod_dav_lock.so
341 %{_libdir}/httpd/modules/mod_dav.so
342 %{_libdir}/httpd/modules/mod_dbd.so
343 %{_libdir}/httpd/modules/mod_deflate.so
344 %{_libdir}/httpd/modules/mod_dialup.so
345 %{_libdir}/httpd/modules/mod_dir.so
346 %{_libdir}/httpd/modules/mod_dumpio.so
347 %{_libdir}/httpd/modules/mod_echo.so
348 %{_libdir}/httpd/modules/mod_env.so
349 %{_libdir}/httpd/modules/mod_expires.so
350 %{_libdir}/httpd/modules/mod_ext_filter.so
351 %{_libdir}/httpd/modules/mod_file_cache.so
352 %{_libdir}/httpd/modules/mod_filter.so
353 %{_libdir}/httpd/modules/mod_headers.so
354 %{_libdir}/httpd/modules/mod_heartbeat.so
355 %{_libdir}/httpd/modules/mod_heartmonitor.so
356 %{_libdir}/httpd/modules/mod_include.so
357 %{_libdir}/httpd/modules/mod_info.so
358 %{_libdir}/httpd/modules/mod_lbmethod_bybusyness.so
359 %{_libdir}/httpd/modules/mod_lbmethod_byrequests.so
360 %{_libdir}/httpd/modules/mod_lbmethod_bytraffic.so
361 %{_libdir}/httpd/modules/mod_lbmethod_heartbeat.so
362 %{_libdir}/httpd/modules/mod_log_config.so
363 %{_libdir}/httpd/modules/mod_log_debug.so
364 %{_libdir}/httpd/modules/mod_log_forensic.so
365 %{_libdir}/httpd/modules/mod_logio.so
366 %{_libdir}/httpd/modules/mod_mime_magic.so
367 %{_libdir}/httpd/modules/mod_mime.so
368 %{_libdir}/httpd/modules/mod_mpm_event.so
369 %{_libdir}/httpd/modules/mod_mpm_prefork.so
370 %{_libdir}/httpd/modules/mod_mpm_worker.so
371 %{_libdir}/httpd/modules/mod_negotiation.so
372 %{_libdir}/httpd/modules/mod_proxy_ajp.so
373 %{_libdir}/httpd/modules/mod_proxy_balancer.so
374 %{_libdir}/httpd/modules/mod_proxy_connect.so
375 %{_libdir}/httpd/modules/mod_proxy_express.so
376 %{_libdir}/httpd/modules/mod_proxy_fcgi.so
377 %{_libdir}/httpd/modules/mod_proxy_fdpass.so
378 %{_libdir}/httpd/modules/mod_proxy_ftp.so
379 %{_libdir}/httpd/modules/mod_proxy_http.so
380 %{_libdir}/httpd/modules/mod_proxy_scgi.so
381 %{_libdir}/httpd/modules/mod_proxy.so
382 %{_libdir}/httpd/modules/mod_ratelimit.so
383 %{_libdir}/httpd/modules/mod_reflector.so
384 %{_libdir}/httpd/modules/mod_remoteip.so
385 %{_libdir}/httpd/modules/mod_reqtimeout.so
386 %{_libdir}/httpd/modules/mod_request.so
387 %{_libdir}/httpd/modules/mod_rewrite.so
388 %{_libdir}/httpd/modules/mod_sed.so
389 %{_libdir}/httpd/modules/mod_session_cookie.so
390 %{_libdir}/httpd/modules/mod_session_crypto.so
391 %{_libdir}/httpd/modules/mod_session_dbd.so
392 %{_libdir}/httpd/modules/mod_session.so
393 %{_libdir}/httpd/modules/mod_setenvif.so
394 %{_libdir}/httpd/modules/mod_slotmem_plain.so
395 %{_libdir}/httpd/modules/mod_slotmem_shm.so
396 %{_libdir}/httpd/modules/mod_socache_dbm.so
397 %{_libdir}/httpd/modules/mod_socache_memcache.so
398 %{_libdir}/httpd/modules/mod_socache_shmcb.so
399 %{_libdir}/httpd/modules/mod_speling.so
400 %{_libdir}/httpd/modules/mod_status.so
401 %{_libdir}/httpd/modules/mod_substitute.so
402 %{_libdir}/httpd/modules/mod_suexec.so
403 %{_libdir}/httpd/modules/mod_unique_id.so
404 %{_libdir}/httpd/modules/mod_unixd.so
405 %{_libdir}/httpd/modules/mod_userdir.so
406 %{_libdir}/httpd/modules/mod_usertrack.so
407 %{_libdir}/httpd/modules/mod_version.so
408 %{_libdir}/httpd/modules/mod_vhost_alias.so
409 %{_libdir}/httpd/modules/mod_watchdog.so
412 %dir %{contentdir}/cgi-bin
413 %dir %{contentdir}/html
414 %dir %{contentdir}/icons
415 %dir %{contentdir}/error
416 %dir %{contentdir}/error/include
417 %{contentdir}/icons/*
418 %{contentdir}/error/README
419 %{contentdir}/html/index.html
420 %config(noreplace) %{contentdir}/error/*.var
421 %config(noreplace) %{contentdir}/error/include/*.html
423 %attr(0700,root,root) %dir %{_localstatedir}/log/httpd
425 %attr(0700,apache,apache) %dir %{_localstatedir}/lib/dav
426 %attr(0700,apache,apache) %dir %{_localstatedir}/cache/httpd/cache-root
429 %{_mandir}/man8/suexec*
430 %{_mandir}/man8/apachectl.8*
431 %{_mandir}/man8/httpd.8*
432 %{_mandir}/man8/htcacheclean.8*
435 %defattr(-,root,root)
437 %{contentdir}/error/README
440 %defattr(-,root,root)
445 %{_bindir}/logresolve
447 %{_sbindir}/rotatelogs
448 %{_mandir}/man1/htdbm.1*
449 %{_mandir}/man1/htdigest.1*
450 %{_mandir}/man1/htpasswd.1*
451 %{_mandir}/man1/httxt2dbm.1*
452 %{_mandir}/man1/ab.1*
453 %{_mandir}/man1/logresolve.1*
454 %{_mandir}/man8/rotatelogs.8*
457 %files -n mod_authnz_ldap
458 %defattr(-,root,root)
459 %{_libdir}/httpd/modules/mod_ldap.so
460 %{_libdir}/httpd/modules/mod_authnz_ldap.so
463 %defattr(-,root,root)
464 %{_libdir}/httpd/modules/mod_lua.so
466 %files -n mod_proxy_html
467 %defattr(-,root,root)
468 %{_libdir}/httpd/modules/mod_proxy_html.so
469 %{_libdir}/httpd/modules/mod_xml2enc.so
471 %files -n mod_socache_dc
472 %defattr(-,root,root)
473 %{_libdir}/httpd/modules/mod_socache_dc.so
476 %defattr(-,root,root)
477 %{_libdir}/httpd/modules/mod_ssl.so
478 %config(noreplace) %{_sysconfdir}/httpd/conf/original/extra/httpd-ssl.conf
479 %config(noreplace) %{_sysconfdir}/httpd/conf/extra/httpd-ssl.conf
480 %attr(0700,apache,root) %dir %{_localstatedir}/cache/mod_ssl
481 %attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.dir
482 %attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.pag
483 %attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.sem
486 %defattr(-,root,root)
492 %{_mandir}/man1/dbmmanage.1*
493 %{_mandir}/man1/apxs.1*
494 %dir %{_libdir}/httpd/build
495 %{_libdir}/httpd/build/*.mk
496 %{_libdir}/httpd/build/instdso.sh
497 %{_libdir}/httpd/build/config.nice
498 %{_libdir}/httpd/build/mkdir.sh