-->

Apache httpd setup and installation

2019-01-21 04:08发布

问题:

This is my first time I am trying to install Apache HTTP server locally in my box as a regular user (non-root).

I have downloaded Apache 2.4.1 version of Apache HTTP server [http://httpd.apache.org/download.cgi]. However when I am trying to build and install locally in my box I am getting below error:

httpd/httpd-2.4.1 1059> ./configure
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu

Configuring Apache Portable Runtime library ...

checking for APR... no
configure: error: APR not found.  Please read the documentation.

I am not sure what dependency it is looking for - I mean the download package does not contains it? What I need to do to build / deploy Apache HTTP server?

Thanks in advance.

回答1:

When it tells you Please read documentation it means that you should go read Apache documentation ( http://httpd.apache.org/docs/2.4/install.html ) which tells you to

download the latest versions of both APR and APR-Util from Apache APR, unpack them into ./srclib/apr and ./srclib/apr-util (be sure the domain names do not have version numbers; for example, the APR distribution must be under ./srclib/apr/)

then do

./configure --with-included-apr


回答2:

For Ubuntu 11.10 this option seems to be working well:

 # APR

wget http://mirrors.axint.net/apache//apr/apr-1.4.6.tar.gz

tar -xvzf apr-1.4.6.tar.gz

cd apr-1.4.6/

./configure

make

make install

cd ..

# APR Utils

wget http://mirrors.axint.net/apache//apr/apr-util-1.4.1.tar.gz

tar -xvzf apr-util-1.4.1.tar.gz

cd apr-util-1.4.1

./configure --with-apr=/usr/local/apr

make

make install

cd ..

# Apache

wget http://apache.petsads.us//httpd/httpd-2.4.1.tar.gz

tar -xvzf httpd-2.4.1.tar.gz

cd httpd-2.4.1

./configure --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-deflate --enable-expires --enable-headers --enable-usertrack --enable-ssl --enable-cgi --enable-vhost-alias --enable-rewrite --enable-so --with-apr=/usr/local/apr/

make

make install

cd ..

You can find more about it below

Source: VaporCreations.com



回答3:

If you have Debian/Ubuntu you can just:

apt-get install libapr1-dev libaprutil1-dev

Then ./configure

Done



回答4:

Here are the steps of how I installed apache-httpd on a non-root users:

  1. Download and extract apache-httpd-2.4.2 (but before ./configuring, making and installing it, follow the steps below:)
  2. Download and extract APR & APR-UTIL into "./srclib/apr" & "./srclib/apr-util" folders. This requires ./configure --with-apr=./apache/httpd-2.4.2/srclib/apr (and) --with-included-apr (options).
  3. Download, extract, ./configure (with) --prefix=localURL, make and make install PCRE into "./pcre" folder. This requires ./configure --with-pcre=/home/username/apache/pcre (option).
  4. Configure apache-httpd by entring following command (I like to enable certain options as written in the command below): ./configure --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-deflate --enable-expires --enable-headers --enable-usertrack --enable-cgi --enable-vhost-alias --enable-rewrite --enable-so --with-apr=/home/username/apache/httpd-2.4.2/srclib/apr --prefix=/home/username/apache/httpd-2.4.2/ --with-included-apr --with-pcre=/home/username/apache/pcre Note: When configuring apache-httpd, use option "--enable-ssl" ONLY if OpenSSL is installed otherwise DON'T enable it.
  5. Now on the command-line, enter 'make' and 'make install' command.
  6. Open and configure the 'httpd.conf' file e.g.: "vi /home/eddie_kumar/apache/httpd-2.4.2/conf/httpd.conf"

IMPORTANT: don't forget to change the default port from 80 to something else e.g. 8080, this is especially important for non-root user. (How to? open httpd.conf -> search "Listen 80" -> change it to "Listen 8080".

And that's it, now open your browser enter "localhost:8080", it should display "It works!".



回答5:

If you are using fedora, you can use yum to install APR, APR-Util and PCRE. You'll also need to download apr-devel, apr-util-devel and pcre-devel.

That being said, you can just run the following command on your terminal and no more "configure: error: APR not found.. ..APR-Util and PCRE" errors.

yum -y install arp apr-devel apr-util apr-util-devel pcre pcre-devel 

I'm using fedora 17 and planning on using a shell script to setup apache 2.4.3. So yum works pretty slick instead of manually downloading apr, apr-util, and pcre.



回答6:

1, You need APR (apache portable runtime), which is core component of apache web server

2, If you wnat to do make install, you may need root account

3, Even if not, apache can not start to listen on unprivileged port (lower then 1024) without root account

4, gain root or ask someone with root to install apache from official repo(I don;t know which distro you run) like using yum, apt-get, etc...



回答7:

Apr or pcre related errors require the source to be downloaded and Apache HTTPD "configure" process needs to be made aware of these source locations on your file system. For instance: if you downloaded the source for APR at ./srclib (relative to apache httpd) then you would use
--with-included-apr
as the configure option.

On the other hand if you want to not build but install APR / APR-UTIL, then you need the following on CentOS / RedHat:
yum install apr-util-devel apr-devel
However it might so happen that the APR version provided by yum does not match what is expected by this version of Apache httpd. In that case you could download APR and APR-UTIL and use the --with-included-apr option.

You could also build PCRE utilizing the same "configure, make, make install" process and then continue where you left off building Apache httpd.
Or you could install pcre: yum install pcre-devel

If while building PCRE: you see "compile: unrecognized option" then perhaps you would need other dependencies as well: Please see the details at:
http://khanna111.com/wordPressBlog/2012/09/11/94087-2/
It also covers "mod_deflate" and "zlib" as well.



回答8:

Basic steps

tar -xvf httpd-2.4.1-customized.tar -C ../
#Balancer folder will be created
tar -xvzf openssl-1.0.1.tar.gz  -C /balancer/
cd ->/balancer/openssl-1.0.1
./config --prefix=/usr/local/ssl/ shared zlib-dynamic enable-camellia
make depend
make
make install
tar -xvzf pcre-8.30.tar.gz -C ../balancer/

/balancer/pcre-8.30
./configure  --prefix=/usr/local/pcre/
make
make install

remove pcre and openssl



标签: apache apr