-
Notifications
You must be signed in to change notification settings - Fork 56
Building Apache HTTP Server
Below versions of Apache HTTP Server are available in respective distributions at the time of creation of these build instructions:
- RHEL 6.10 has
2.2.15
- RHEL (7.4, 7.5, 7.6) has
2.4.6
- SLES 12 SP4 has
2.4.23
- SLES 15 has
2.4.33
- Ubuntu 16.04 has
2.4.18
- Ubuntu 18.04 has
2.4.29
- Ubuntu 19.04 has
2.4.38
The instructions provided below specify the steps to build Apache HTTP Server version 2.4.39 on Linux on IBM Z for following distributions:
- RHEL (6.10, 7.4, 7.5, 7.6)
- SLES (12 SP4, 15)
- Ubuntu (16.04, 18.04, 19.04)
General Notes:
- When following the steps below please use a standard permission user unless otherwise specified.
- A directory
/<source_root>/
will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it
If you want to build Apache http server using manual steps, go to STEP 2.
Use the following commands to build Apache http server using the build script. Please make sure you have wget installed.
wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/ApacheHttpServer/2.4.39/build_apachehttpserver.sh
# Build Apache HTTP Server
bash build_apachehttpserver.sh
If the build completes successfully, go to STEP 3. In case of error, check logs
for more details or go to STEP 2 to follow manual build steps.
-
RHEL (6,10, 7.4, 7.5, 7.6)
sudo yum install git openssl openssl-devel python gcc libtool autoconf make pcre pcre-devel libxml2 libxml2-devel expat-devel which wget tar
-
SLES 12 SP4
sudo zypper install git openssl openssl-devel python gcc libtool autoconf make pcre pcre-devel libxml2 libxml2-devel libexpat-devel which wget tar
-
SLES 15
sudo zypper install git openssl libopenssl-devel python gcc libtool autoconf make libpcre1 pcre-devel libxml2-tools libxml2-devel libexpat-devel which wget tar
-
Ubuntu (16.04, 18.04, 19.04)
sudo apt-get update sudo apt-get install git python openssl gcc autoconf make libtool-bin libpcre3-dev libxml2 libexpat1 libexpat1-dev wget tar
export SOURCE_ROOT=/<source_root>/
cd $SOURCE_ROOT
git clone git://github.com/apache/httpd.git
cd $SOURCE_ROOT/httpd
git checkout 2.4.39
cd $SOURCE_ROOT/httpd/srclib
git clone git://github.com/apache/apr.git
cd $SOURCE_ROOT/httpd/srclib/apr
git checkout 1.6.5
cd $SOURCE_ROOT/httpd/srclib
git clone git://github.com/apache/apr-util.git
cd $SOURCE_ROOT/httpd/srclib/apr-util
git checkout 1.6.1
cd $SOURCE_ROOT/httpd
./buildconf
./configure --with-included-apr --prefix=<build-location>
make
sudo make install
Note: Skipping the --prefix
results in Apache httpd being installed in the default location.
Note: All the following commands may require sudo
depending on the <build-location>
specified.
To update configuration you may modify <build-location>/conf/httpd.conf
file.
<build-location>/bin/apachectl configtest
<build-location>/bin/apachectl -k start
Note: If <build-location>
is the prefix you specified, ensure that in /conf/httpd.conf file, values for User
and Group
fields are same as that of <build-location>
. Else, it will display forbidden(403) error in the browser.
<build-location>/bin/apachectl -k stop
Note: <build-location>
is the prefix you specified, if you didn't specify a prefix it should be installed to /usr/local/apache2
.
The information provided in this article is accurate at the time of writing, but on-going development in the open-source projects involved may make the information incorrect or obsolete. Please open issue or contact us on IBM Z Community if you have any questions or feedback.