Apache 2.2.13 Install (rpm)

Apache 2.2.13をインストールした時のメモ。

  • Vine Linux 5.0
  • Apache 2.2.13

まずはApacheのソースを落とす。

$ apt-get source apache2
$ rpm -ivh apache2-2.2.13-1vl5.src.rpm

VineのデフォルトではPreforkで動くので、後でPHPも合わせてWorkerで動かす為にspecファイルをいじる。

$ cd ~/rpm/SPECS
$ vi apache2-vl.spec
%define contentdir /path/to/directory
%define suexec_caller apache
%define mmn 20020903
%define pkgname apache2

Summary: Apache HTTP Server
Name: %{pkgname}
Version: 2.2.13
Release: 1%{_dist_release}
URL: http://httpd.apache.org/

Vendor: Project Vine
Distribution: Vine Linux
Packager: daisuke

Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: index.html.ja
Source3: apache2.logrotate
Source4: apache2.init
Source5: README.confd
Source6: vine.png
Source10: httpd.conf
Source11: ssl.conf
Source12: migration.html
Source13: migration.css
Source14: mod_ssl-Makefile.crt
Source14: mod_ssl-Makefile.crl
# add vine entry to config.layout
Source100: vine-config.layout
# man files 
Source101: apache2.8
Source102: apache2ctl.8
#Source103: config_vars.mk
# build/scripts patches
Patch1: httpd-2.1.10-apctl.patch
Patch2: httpd-2.2.3-apxs.patch
Patch3: httpd-2.0.45-deplibs.patch
Patch4: httpd-2.1.10-disablemods.patch
# features/functional changes
Patch21: httpd-2.0.40-xfsz.patch
Patch22: httpd-2.1.10-pod.patch
Patch23: httpd-2.0.45-export.patch
Patch24: httpd-2.0.48-corelimit.patch
# Bug fixes
Patch54: httpd-2.2.0-authnoprov.patch
Patch60: httpd-2.2.3-sslusername.patch

# Security fixes


License: Apache Software License
Group: System Environment/Daemons
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: db4-devel, expat-devel
BuildRequires: findutils, perl, openldap-devel, zlib-devel
BuildRequires: apr-devel, apr-util-devel
BuildRequires: pcre-devel, sqlite3-devel
Requires: mailcap, gawk, file, findutils, apr, apr-util
Prereq: chkconfig, mktemp, fileutils
Prereq: sh-utils, textutils, shadow-utils
Provides: webserver
Provides: httpd = %{version}
Provides: httpd-mmn = %{mmn}
Conflicts: thttpd
Obsoletes: secureweb
Obsoletes: apache2-apr, apache2-apr-devel

%description
Apache is a powerful, full-featured, efficient, and freely-available
Web server. Apache is also the most popular Web server on the
Internet.

%package devel
Group: Development/Libraries
Summary: Development tools for the Apache HTTP server.
Obsoletes: secureweb-devel
Requires: libtool, httpd = %{version}
Requires: apr-devel, apr-util-devel

%description devel
The httpd-devel package contains the APXS binary and other files
that you need to build Dynamic Shared Objects (DSOs) for Apache.

If you are installing the Apache HTTP server and you want to be
able to compile or develop additional modules for Apache, you need
to install this package.

%package manual
Group: Applications/Documentation
Summary: Documentation for the Apache HTTP server.
Obsoletes: secureweb-manual

%description manual
The httpd-manual package contains the complete manual and
reference guide for the Apache HTTP server. The information can
also be found at http://httpd.apache.org/docs/.

%package -n mod_ssl-apache2
Group: System Environment/Daemons
Summary: SSL/TLS module for the Apache HTTP server
Epoch: 1
BuildPrereq: openssl-devel
Prereq: openssl, dev, /bin/cat
Requires: httpd, make, httpd-mmn = %{mmn}

%description -n mod_ssl-apache2
The mod_ssl module provides strong cryptography for the Apache Web
server via the Secure Sockets Layer (SSL) and Transport Layer
Security (TLS) protocols.

%prep
%setup -q -n httpd-%{version}

%patch1 -p1 -b .apctl
%patch2 -p1 -b .apxs
#patch3 -p1 -b .deplibs
%patch4 -p1 -b .disablemods

%patch21 -p0 -b .xfsz
%patch22 -p1 -b .pod
%patch23 -p1 -b .export
%patch24 -p1 -b .corelimit

%patch54 -p1 -b .authnoprov
%patch60 -p1 -b .sslusername


# copy across the migration guide and sed it's location into apachectl
cp $RPM_SOURCE_DIR/migration.{html,css} .
%{__perl} -pi -e "s:\@docdir\@:%{_docdir}/%{name}-%{version}:g" \
	support/apachectl.in


# add Vine configure's option to config.layout
sed -e "s|${prefix}/lib|${prefix}/%{_lib}|" \
  < $RPM_SOURCE_DIR/vine-config.layout >> config.layout

# regenerate configure scripts
./buildconf

%build
# remove bundled apr, apr-util, pcre
rm -rf srclib/{apr,apr-util,pcre}

#CFLAGS="$RPM_OPT_FLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
#AP_LIBS="-lssl -lcrypto"
#export CFLAGS AP_LIBS
CFLAGS="$RPM_OPT_FLAGS"
SH_LDFLAGS="-Wl,-z,relro"
export CFLAGS SH_LDFLAGS

%define mpms worker prefork
%define prefer_mpm prefork

AP_CONFOPTS="\
	--prefix=%{_sysconfdir}/apache2 \
	--exec-prefix=%{_prefix} \
	--bindir=%{_bindir} \
	--sbindir=%{_sbindir} \
	--mandir=%{_mandir} \
	--libdir=%{_libdir} \
	--sysconfdir=%{_sysconfdir}/apache2/conf \
        --includedir=%{_includedir}/apache2 \
	--libexecdir=%{_libdir}/apache2/modules \
	--datadir=%{contentdir} \
	--with-installbuilddir=%{_libdir}/apache2/build \
	--enable-layout=Vine \
 	--with-program-name=apache2 \
	--with-ldap \
	--enable-ldap --enable-authnz-ldap \
	--enable-mods-shared=all \
        --enable-cache=shared \
        --enable-cgi=shared \
        --enable-cgid=shared \
        --enable-rewrite=shared \
        --enable-disk-cache=shared \
        --enable-file-cache=shared \
        --enable-mem-cache=shared \
	--enable-authn-anon --enable-authn-alias \
	--with-apr=%{_prefix} --with-apr-util=%{_prefix} \
	--enable-suexec --with-suexec \
	--with-suexec-caller=%{suexec_caller} \
	--with-suexec-docroot=%{contentdir} \
	--with-suexec-logfile=%{_localstatedir}/log/apache2/suexec.log \
	--with-suexec-bin=%{_libdir}/%{pkgname}/suexec \
	--with-suexec-uidmin=500 --with-suexec-gidmin=500 \
	--with-pcre \
	--enable-ssl --with-ssl \
	--enable-deflate \
	--enable-proxy --enable-proxy-connect \
	--enable-proxy-http --enable-proxy-ftp"
#all  mpm build
for mpm in %{mpms}; do
   mkdir mpm-$mpm;
   cd mpm-$mpm;
   ../configure $AP_CONFOPTS --with-mpm=$mpm --srcdir=../ ;
   make %{?_smp_mflags} ;
#   mv apache2 apache2.$mpm ;
   cd ../
done

%install
rm -rf $RPM_BUILD_ROOT

# Classify ab and logresolve as section 1 commands, as they are in /usr/bin
cp -p docs/man/ab.8 docs/man/ab.1
sed -e "1s/logresolve 8/logresolve 1/" \
  < docs/man/logresolve.8 > docs/man/logresolve.1
#rm docs/man/logresolve.8

# install mpms binary 
pushd mpm-worker
  make DESTDIR=$RPM_BUILD_ROOT install
  rm -f $RPM_BUILD_ROOT/%{_sbindir}/apache2
popd

for mpm in %{mpms}; do
    install -m755 mpm-$mpm/apache2 $RPM_BUILD_ROOT/%{_sbindir}/apache2.$mpm
done

# install conf file/directory
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf.d
install -m 644 $RPM_SOURCE_DIR/README.confd \
   $RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf.d/README
install -m 644 $RPM_SOURCE_DIR/ssl.conf \
   $RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf.d/ssl.conf

rm $RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf/*.conf
install -m 644 $RPM_SOURCE_DIR/httpd.conf \
   $RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf/httpd.conf

# mod_ssl bits
for suffix in crl crt csr key prm; do
   mkdir $RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf/ssl.${suffix}
done

# Makefiles for certificate management
for ext in crt crl; do 
  install -m 644 $RPM_SOURCE_DIR/mod_ssl-Makefile.${ext} \
	$RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf/ssl.${ext}/Makefile.${ext}
done
ln -s ../../../usr/share/ssl/certs/Makefile $RPM_BUILD_ROOT/etc/apache2/conf

# for holding mod_dav lock database
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/dav

# create a prototype session cache
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/mod_ssl
touch $RPM_BUILD_ROOT%{_localstatedir}/cache/mod_ssl/scache.{dir,pag,sem}

# move utilities to /usr/bin
mv $RPM_BUILD_ROOT%{_sbindir}/{ab,htdbm,logresolve,htpasswd,htdigest} \
   $RPM_BUILD_ROOT%{_bindir}

# Make the MMN accessible to module packages
echo %{mmn} > $RPM_BUILD_ROOT%{_includedir}/apache2/.mmn

# docroot
# mkdir $RPM_BUILD_ROOT%{contentdir}/html
install -m 644 $RPM_SOURCE_DIR/index.html.ja \
	$RPM_BUILD_ROOT%{contentdir}/error/noindex.html
rm -r $RPM_BUILD_ROOT%{contentdir}/manual/style

install -m 644 $RPM_SOURCE_DIR/vine.png \
	$RPM_BUILD_ROOT%{contentdir}/icons

# logs
# rmdir $RPM_BUILD_ROOT%{_sysconfdir}/apache2/logs
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/apache2

ln -sf %{_sysconfdir}/%{pkgname}/conf/httpd.conf $RPM_BUILD_ROOT/%{_sysconfdir}/%{pkgname}/conf/apache2.conf


# symlinks for /etc/apache2
ln -s ../..%{_localstatedir}/log/apache2 $RPM_BUILD_ROOT/etc/apache2/logs
ln -s ../..%{_localstatedir}/run $RPM_BUILD_ROOT/etc/apache2/run
ln -s ../..%{_libdir}/apache2/modules $RPM_BUILD_ROOT/etc/apache2/modules
ln -s ../..%{_libdir}/apache2/build $RPM_BUILD_ROOT/etc/apache2/build

# install SYSV init stuff
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
install -m755 $RPM_SOURCE_DIR/apache2.init \
	$RPM_BUILD_ROOT/etc/rc.d/init.d/apache2
%{__perl} -pi -e "s:\@docdir\@:%{_docdir}/%{name}-%{version}:g" \
	$RPM_BUILD_ROOT/etc/rc.d/init.d/apache2	

# install log rotation stuff
mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
install -m644 $RPM_SOURCE_DIR/apache2.logrotate \
	$RPM_BUILD_ROOT/etc/logrotate.d/apache2

mv $RPM_BUILD_ROOT/%{_sbindir}/apachectl $RPM_BUILD_ROOT/%{_sbindir}/apache2ctl

# fix man page paths
sed -e "s|/usr/local/apache2/conf/httpd.conf|/etc/apache2/conf/httpd.conf|" \
    -e "s|/usr/local/apache2/conf/mime.types|/etc/mime.types|" \
    -e "s|/usr/local/apache2/conf/magic|/etc/apache2/conf/magic|" \
    -e "s|/usr/local/apache2/logs/error_log|/var/log/apache2/error_log|" \
    -e "s|/usr/local/apache2/logs/access_log|/var/log/apache2/access_log|" \
    -e "s|/usr/local/apache2/logs/httpd.pid|/var/run/apache2.pid|" \
    -e "s|/usr/local/apache2|/etc/httpd|" < $RPM_SOURCE_DIR/apache2.8 \
  > $RPM_BUILD_ROOT%{_mandir}/man8/apache2.8

install -m644 $RPM_SOURCE_DIR/apache2ctl.8 \
	$RPM_BUILD_ROOT%{_mandir}/man8/apache2ctl.8

# change command name to avoid conflict with apache1 pacjage
%define cflcmd /usr/bin/htdigest /usr/bin/htpasswd /usr/sbin/rotatelogs 

for i in %{cflcmd}; do \
  echo $i 
  mv $RPM_BUILD_ROOT$i $RPM_BUILD_ROOT$i"2";
done;

mv $RPM_BUILD_ROOT/%{_sbindir}/apxs $RPM_BUILD_ROOT/%{_bindir}/apxs

%define cflman usr/share/man/man1/dbmmanage.1 usr/share/man/man1/htdigest.1 usr/share/man/man1/htpasswd.1 usr/share/man/man8/rotatelogs.8 usr/share/man/man8/suexec.8 usr/share/man/man8/apxs.8 usr/share/man/man8/httpd.8

(cd $RPM_BUILD_ROOT;
for i in %{cflman}; do \
    echo $i | sed -e "s|\.1|2\.1|" -e "s|\.8|2\.8|" |    xargs mv $i ;
    
done;
)

#cp $RPM_SOURCE_DIR/config_vars.mk $RPM_BUILD_ROOT/%{_sysconfdir}/%{pkgname}/build/.
mv $RPM_BUILD_ROOT/%{_sbindir}/suexec $RPM_BUILD_ROOT/%{_libdir}/%{pkgname}/suexec


rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ab*
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/logresolve*
# conflict with apache 1, so removed...
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ab*
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/logresolve*

# remove unpackaged files
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/apache2/conf/mime.types \
      $RPM_BUILD_ROOT%{_libdir}/*.la \
      $RPM_BUILD_ROOT%{_libdir}/*.exp \
      $RPM_BUILD_ROOT%{_libdir}/apache2/modules/*.exp \
      $RPM_BUILD_ROOT%{_libdir}/apache2/build/config.nice \
      $RPM_BUILD_ROOT%{_sbindir}/{apache2,checkgid,dbmmanage,envvars*} \
      $RPM_BUILD_ROOT%{contentdir}/html/* \
      $RPM_BUILD_ROOT%{contentdir}/cgi-bin/*

%pre
# Add the "apache" user
/usr/sbin/useradd -c "Apache" -u 48 \
	-s /sbin/nologin -r -d %{contentdir} apache 2> /dev/null || :

%triggerpostun -- apache < 2.0
/sbin/chkconfig --add apache2


%post
# Register the httpd service
for mpm in %{mpms}; do
  /sbin/update-alternatives --install %{_sbindir}/apache2 apache2 %{_sbindir}/apache2.$mpm 20;
done
/sbin/update-alternatives --install %{_sbindir}/apache2 apache2 %{_sbindir}/apache2.%{prefer_mpm} 30
/sbin/chkconfig --add apache2

%preun
if [ $1 = 0 ]; then
	/sbin/service apache2 stop > /dev/null 2>&1
	/sbin/chkconfig --del apache2
	for mpm in %{mpms}; do
	  /sbin/update-alternatives --remove apache2 %{_sbindir}/apache2.$mpm;
	done  
fi

%postun
if [ "$1" -ge 1 ]; then
	/sbin/service apache2 condrestart
fi
/sbin/ldconfig

%post -n mod_ssl-apache2
/sbin/ldconfig ### is this needed?
umask 077

if [ ! -f %{_sysconfdir}/apache2/conf/ssl.key/server.key ] ; then
%{_bindir}/openssl genrsa -rand /proc/apm:/proc/cpuinfo:/proc/dma:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/pci:/proc/rtc:/proc/uptime 1024 > %{_sysconfdir}/apache2/conf/ssl.key/server.key 2> /dev/null
fi

FQDN=`hostname`
if [ "x${FQDN}" = "x" ]; then
   FQDN=localhost.localdomain
fi

if [ ! -f %{_sysconfdir}/apache2/conf/ssl.crt/server.crt ] ; then
cat < < EOF | %{_bindir}/openssl req -new -key %{_sysconfdir}/apache2/conf/ssl.key/server.key -x509 -days 365 -out %{_sysconfdir}/apache2/conf/ssl.crt/server.crt 2>/dev/null
--
SomeState
SomeCity
SomeOrganization
SomeOrganizationalUnit
${FQDN}
root@${FQDN}
EOF
fi

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)

%doc ABOUT_APACHE README CHANGES LAYOUT LICENSE
%doc migration.html migration.css

%dir %{_sysconfdir}/apache2
%{_sysconfdir}/apache2/modules
%{_sysconfdir}/apache2/logs
%{_sysconfdir}/apache2/run
%dir %{_sysconfdir}/apache2/conf
%config(noreplace) %{_sysconfdir}/apache2/conf/*.conf
%config(noreplace) %{_sysconfdir}/apache2/conf/magic

%config %{_sysconfdir}/logrotate.d/apache2
%config %{_sysconfdir}/rc.d/init.d/apache2

%dir %{_sysconfdir}/apache2/conf.d
%{_sysconfdir}/apache2/conf.d/README

%dir %{_sysconfdir}/apache2/conf/extra
%config %{_sysconfdir}/apache2/conf/extra/*

%dir %{_sysconfdir}/apache2/conf/original
%{_sysconfdir}/apache2/conf/original/*

%{_bindir}/ab
%{_bindir}/ht*
%{_bindir}/logresolve
%{_sbindir}/ht*
%{_sbindir}/apache2.*
%{_sbindir}/apache2ctl
%{_sbindir}/rotatelogs2
%attr(4510,root,%{suexec_caller}) %{_libdir}/%{pkgname}/suexec

%dir %{_libdir}/apache2
%dir %{_libdir}/apache2/modules
# everything but mod_ssl.so:
%{_libdir}/apache2/modules/mod_[a-r]*.so
%{_libdir}/apache2/modules/mod_s[petu]*.so
%{_libdir}/apache2/modules/mod_[t-z]*.so

%dir %{contentdir}
%dir %{contentdir}/cgi-bin
%dir %{contentdir}/html
%dir %{contentdir}/icons
%dir %{contentdir}/error
%dir %{contentdir}/error/include
%{contentdir}/icons/*
%{contentdir}/error/README
%{contentdir}/error/noindex.html
%config(noreplace) %{contentdir}/error/*.var
%config(noreplace) %{contentdir}/error/include/*.html

%attr(0700,root,root) %dir %{_localstatedir}/log/apache2

%attr(0700,apache,apache) %dir %{_localstatedir}/lib/dav

%{_mandir}/man1/*

%{_mandir}/man8/*

%files manual
%defattr(-,root,root)
%{contentdir}/manual

%files -n mod_ssl-apache2
%defattr(-,root,root)
%{_libdir}/apache2/modules/mod_ssl.so
%config(noreplace) %{_sysconfdir}/apache2/conf.d/ssl.conf
%attr(0700,root,root) %dir %{_sysconfdir}/apache2/conf/ssl.*
%config %{_sysconfdir}/apache2/conf/Makefile
%config %{_sysconfdir}/apache2/conf/ssl.*/*
%attr(0700,apache,root) %dir %{_localstatedir}/cache/mod_ssl
%attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.dir
%attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.pag
%attr(0600,apache,root) %ghost %{_localstatedir}/cache/mod_ssl/scache.sem

%files devel
%defattr(-,root,root)
%{_includedir}/apache2
%{_sysconfdir}/apache2/build
%{_bindir}/apxs
%{_mandir}/man8/apxs*
%{_libdir}/apache2/build/*.mk
%{_libdir}/apache2/build/*.sh

%changelog
* Sun Aug 09 2009 Daisuke SUZUKI  2.2.13-1
- new upstream release

* Wed Jul 29 2009 Daisuke SUZUKI  2.2.12-1
- new upstream release 
  (including security fix for CVE-2009-1890, CVE-2009-1191,
   CVE-2009-1195, CVE-2009-1955, CVE-2009-1956, CVE-2009-0023)

* Fri Jan 09 2009 NAKAMURA Kenta  2.2.11-2
- rebuilt with openldap-2.4.11

* Fri Jan  2 2009 Ryoichi INAGAKI  2.2.11-1
- new upstream release

* Sat Oct 18 2008 Ryoichi INAGAKI  2.2.10-1
- new upstream release (including security fix for CVE-2008-2939)

* Fri Jun 20 2008 Ryoichi INAGAKI  2.2.9-1
- new upstream release (including security fix for CVE-2008-2364, CVE-2007-6420)
- built with db4-4.6.21, apr 1.3.0

* Sun Apr 27 2008 Tomohiro 'Tomo-p' KATO  2.2.8-1
- add Patch60 (to fix bug#31418).

* Thu Feb 21 2008 AKIYAMA Kazuhito  2.2.8-0vl2
- rebuild with expat-2.0.1

* Tue Jan 22 2008 Daisuke SUZUKI  2.2.8-0vl1
- new upstream release

* Sat Nov  3 2007 Ryoichi INAGAKI  2.2.6-0vl2
- added postun script from VinePlus/4.0 package
  * Tue Sep 11 2007 Satoshi IWAMOTO  2.2.3-0vl3.2
  - add postun script to restart daemon with message

* Sun Jul 01 2007 NAKAMURA Kenta  2.2.3-0vl8
- updated Patch2: httpd-2.2.3-apxs.patch

* Sun Jun 24 2007 NAKAMURA Kenta  2.2.3-0vl7
- modified libdir in config.layout for lib64 architecture

* Sun May 27 2007 Ryoichi INAGAKI  2.2.3-0vl6
- rebuilt with openssl-0.9.8e

* Thu May 10 2007 MATSUBAYASHI Kohji  2.2.3-0vl5
- rebuilt with new toolchain and db4-4.3.x

* Tue Feb  7 2007 Ryoichi INAGAKI  2.2.3-0vl4
- added BuildRequires: pcre-devel, sqlite3-devel 

* Mon Sep 11 2006 Kazutaka HARADA  2.2.3-0vl3
- change manual Group to Applications/Documentation. 

* Sun Aug 27 2006 NAKAMURA Kenta  2.2.3-0vl2
- rebuilt with openldap-2.3.27-0vl1

* Sat Jul 29 2006 Ryoichi INAGAKI  2.2.3-0vl1
- new upstream release including security fix (CVE-2006-3747)

* Sun May 28 2006 Daisuke SUZUKI  2.2.2-0vl1
- new upstream release
  - update to 2.2.2
- remove apr/apr-devel subpackage, 
  use external apr/apr-util instead of internal one.

* Sun May 28 2006 Daisuke SUZUKI  2.0.58-0vl1
- new upstream release
- use apache2.prefork as default.

* Thu Mar 23 2006 Daisuke SUZUKI  2.0.55-0vl3
- rebuild to use new _localstatedir (rpm-4.4.2-0vl11)
- remove unpackaged files in %%install section

* Fri Jan 27 2006 Daisuke SUZUKI  2.0.55-0vl2
- fix logrotate configuration (use apache2.pid instead of httpd.pid)
  (BTS:10)
- use Epoch instead of Serial

* Sat Oct 15 2005 Daisuke SUZUKI  2.0.55-0vl1
- new upstream release
- drop obsolete security patches which is merged in upstream

* Sat Oct 08 2005 Daisuke SUZUKI  2.0.54-0vl1
- new upstream release

* Sun Sep 11 2005 Ryoichi INAGAKI  2.0.53-0vl2
- added Patch122 to 125 for secutiry fix
  (CAN-2004-{1268,2088,2700,2728})
- fix %install section

* Sun Apr 10 2005 Ryoichi INAGAKI  2.0.53-0vl1
- new upstream release

* Sat Nov 06 2004 Daisuke SUZUKI  2.0.52-0vl1
- new upstream release

* Sun Oct 24 2004 MATSUBAYASHI Kohji  2.0.50-0vl4
- rebuilt with db4-4.2.52

* Sat Sep  4 2004 USAMI Kosuke  - 2.0.50-0vl3
- separate apr, apr-devel packages
- add BuildPreReq: zlib-devel

* Sun Jul 11 2004 Daisuke SUZUKI  2.0.50-0vl2
- fix %%files to include instdso.sh
  thanks to jax 
- add %%{?_smp_mflags} to make option.

* Sun Jul  4 2004 IWAI, Masaharu  2.0.50-0vl1
- new upstream version

* Sun Nov 23 2003 IWAI, Masaharu  2.0.48-0vl1
- new upstream version

* Mon Sep 15 2003 IWAI, Masaharu  2.0.47-0vl1
- new upstream version
- update apxs patch (Patch101)
- fix dependency:
    - change file name to package name in Requires and {Build,}Prereq
- add BuildPrereq: openldap-devel
- update %%files section
- rename httpd.8 manpage

* Tue May 12 2003 Satoshi MACHINO  2.0.45-0vl1
- new upstream version
- used vine-config.layout in srclib

* Tue May 12 2003 Satoshi MACHINO  2.0.44-0vl9
- rebuild

* Sun Apr  6 2003 Kazuhisa TAKEI  2.0.44-0vl8
- change pkg name from mod_ssl to mod_ssl-apache2
- remove "apache-manual" entry from Obsoletes:

* Thu Apr  3 2003 Kazuhisa TAKEI  2.0.44-0vl7
- remove "mod_dav" and "apache-devel" from Obsoletes: 
- enable MPMS(worker %mpms )

* Sun Mar 30 2003 Kazuhisa TAKEI  2.0.44-0vl6
- add correct config_vars.mk

* Sun Mar 30 2003 Kazuhisa TAKEI  2.0.44-0vl5
- apply apxs's patch ( from Debian)

* Sun Mar 30 2003 Kazuhisa TAKEI  2.0.44-0vl4
- add apr-config,apu-config to devel's %file 

* Sun Mar 30 2003 Kazuhisa TAKEI  2.0.44-0vl3
- change apxs path ( /usr/sbin -> /usr/bin
- add symlink under /etc/apache2/conf
  (logs, run), httpd.conf -> apache2.conf
- fixed apache2 initscript.

* Sat Mar 29 2003 Kazuhisa TAKEI  2.0.44-0vl2
- build Vine Linux
- new upstream version
- sharing with apache1

* Wed Sep  4 2002 Nalin Dahyabhai  2.0.40-8
- link httpd with libssl to avoid library loading/unloading weirdness

* Tue Sep  3 2002 Joe Orton  2.0.40-7
- add LoadModule lines for proxy modules in httpd.conf (#73349)
- fix permissions of conf/ssl.*/ directories; add Makefiles for
  certificate management (#73352)

* Mon Sep  2 2002 Joe Orton  2.0.40-6
- provide "httpd-mmn" to manage module ABI compatibility

* Sun Sep  1 2002 Joe Orton  2.0.40-5
- fix SSL session cache (#69699)
- revert addition of LDAP support to apr-util

* Mon Aug 26 2002 Joe Orton  2.0.40-4
- set SIGXFSZ disposition to "ignored" (#69520)
- make dummy connections to the first listener in config (#72692)

* Mon Aug 26 2002 Joe Orton  2.0.40-3
- allow "apachectl configtest" on a 1.3 httpd.conf
- add mod_deflate
- enable LDAP support in apr-util
- don't package everything in /path/to/directory/error as config(noreplace)

* Wed Aug 21 2002 Bill Nottingham  2.0.40-2
- add trigger (#68657)

* Mon Aug 12 2002 Joe Orton  2.0.40-1
- update to 2.0.40

* Wed Jul 24 2002 Joe Orton  2.0.36-8
- improve comment on use of UserDir in default config (#66886)

* Wed Jul 10 2002 Joe Orton  2.0.36-7
- use /sbin/nologin as shell for apache user (#68371)
- add patch from CVS to fix possible infinite loop when processing
  internal redirects

* Wed Jun 26 2002 Gary Benson  2.0.36-6
- modify init script to detect 1.3.x httpd.conf's and direct users
  to the migration guide

* Tue Jun 25 2002 Gary Benson  2.0.36-5
- patch apachectl to detect 1.3.x httpd.conf's and direct users
  to the migration guide
- ship the migration guide

* Fri Jun 21 2002 Joe Orton 
- move /etc/httpd2 back to /etc/httpd
- add noindex.html page and poweredby logo; tweak default config
  to load noindex.html if no default "/" page is present.
- add patch to prevent mutex errors on graceful restart

* Fri Jun 21 2002 Tim Powers  2.0.36-4
- automated rebuild

* Wed Jun 12 2002 Joe Orton  2.0.36-3
- add patch to fix SSL mutex handling

* Wed Jun 12 2002 Joe Orton  2.0.36-2
- improved config directory patch

* Mon May 20 2002 Joe Orton 
- initial build; based heavily on apache.spec and mod_ssl.spec
- fixes: #65214, #58490, #57376, #61265, #65518, #58177, #57245

そしてビルド。

$ rpmbuild -bb --clean apache2-vl.spec

ビルド後インストール。

$ cd ../RPMS/x86_64
$ su
# rpm -ivh apache2-2.2.13-1vl5.x86_64.rpm apache2-devel-2.2.13-1vl5.x86_64.rpm mod_ssl-apache2-2.2.13-1vl5.x86_64.rpm

続く 🙂