首先下载官网的apache(httpd-2.4.16.tar.gz):http://httpd.apache.org/download.cgi#apache24
选择以上两种任意一种版本下载
第一种.tar.bz2版本使用:sudo tar jxvf ./httpd-2.4.16.tar.bz2 -C /usr/lib
第二种.tar.gz版本使用:sudo tar zxvf ./httpd-2.4.16.tar.gz -C /usr/lib(我使用的是这个)
命令解释:
sudo:是允许可以让普通用户执行root命令的(如果进入了root下则不用加这个命令;进入root的命令:su)
tar:可以用来备份文件
jxvf和zxvf:这个是tar命令中主要参数合并起来一起用的,拆分开的可以看成:tar -j,tar-x.......等(具体解释可以看看linux下的命令解释)
-C /usr/lib:这个命令是指定解压文件到/usr/lib文件夹下
这时可以在/usr/lib下看到httpd-2.4.16这个文件夹
从命令行进入这个文件夹输入:ll 可以看到这个目录下的所有文件
安装的话configure这个文件最重要: ----事实上linux中install Software基本都是用configure这个文件的
我们在root权限下输入:./configure
注意:这里就要教给大家怎么来在没有人帮助的情况下自己来解决错误和异常
在安装软件的时候出现异常或者错误的时候,大家很多人第一时间就是直接复制错误然后google,百度。。。。但是我并不推荐大家这样做,我建议大家首先看看报的是什么错误,然后去官网上直接看官方的安装解决方法。现在大家可以试试使用这种方法来解决。
首先我们看到了:checking for APR... no,这是大家就知道了最主要的错误了:这是在检查APR的时候出错了
我们接着看看下一句:configure:error:APR not found. Please read the documentation. 从这句话中我们得到了更加详细的信息了,“APR没有找到”,后面一句就是提示我们:"请阅读文档"。
从上面这几句的报错信息中我们是不是就找到了关键点了呢?----APR
我们这是到官网上找到相关的帮助文档(http://httpd.apache.org/docs/2.4/install.html)打开是一大堆的英语,对于懂英语的还好点,对于不懂英语,一看就头疼!!!这算是好的了,有很多人打开看到这么多英文直接就Ctrl+W就关闭了。。。告诉大家我也是属于不懂英语的行列的人,刚开始也是这么干的,后来见得这种文档多了也没办法了,只能硬着头皮看了。。。。这样就印证了这么一句话:人都是被逼的。
我们看这个的时候也没有必要一句一句的翻译,挑重点的来看:
下载地址:http://apr.apache.org/download.cgi
Download | $ lynx http://httpd.apache.org/download.cgi |
Extract | $ gzip -d httpd-NN.tar.gz |
Configure | $ ./configure --prefix=PREFIX |
Compile | $ make |
Install | $ make install |
Customize | $ vi PREFIX/conf/httpd.conf |
Test | $ PREFIX/bin/apachectl -k start |
首先我们看到的是下面一些内容,前两行作用不是很大(下载和解压)
第3,4,5行是怎么安装的过程
第6行是配置apache2.4.16的,我们还没有安装完成,谈何配置
第7行是配置好后进行测试的
接着我们会看到:
Requirements ----要求,我们看到了关键的地方,这个下面罗列了一些安装apache服务器的必要条件
我们看第一个不就是我们报错的信息吗?然后我们就可以仔细看看这个APR和APR-Util下面的信息了。
<span style="font-size:18px;">Make sure you have APR and APR-Util already installed on your system. If you don't, or prefer to not use the system-provided versions, download the latest versions of both APR and APR-Util from Apache APR, unpack them into /httpd_source_tree_root/srclib/apr and /httpd_source_tree_root/srclib/apr-util (be sure the directory names do not have version numbers; for example, the APR distribution must be under /httpd_source_tree_root/srclib/apr/) and use ./configure's --with-included-apr option. On some platforms, you may have to install the corresponding -dev packages to allow httpd to build against your installed copy of APR and APR-Util.</span>
大致意思就是:确保你的系统上有APR和APR-Util。如果没有那就从apache下载最新版的APR和APR-Util,解压到/httpd_source_tree_root/srclib/apr和/httpd_source_tree_root/srclib/apr-util(确保解压目录下没有版本号,例如:APR必须分布在/httpd_source_tree_root/srclib/apr)并且使用.configure's --wirh-included-apt 选项。在一些平台上,你可能需要安装必要的安装包允许httpd建立在你安装的APR和APR-Util副本。
我们不得不说官网上给的安装方法是非常详细的!
注意:你可以安装上面说的来安装,也可以按照我一下这种方法来安装,不过上面这种方法直接就安装到了apche下面了,我并不推荐这样做,因为可能APR以后也要用到。所以我建议大家可以安装到/usr/local/apr中
安装APR
<span style="font-size:18px;">rm: cannot remove `libtoolT': No such file or directory</span>
这时我们修改configure文件中的$RM "$cfgfile"为$RM -f "$cfgfile"再次运行./configure --prefix=/usr/local/apr即可
安装APR-Util
<span style="font-size:18px;">This library is required but not longer bundled with httpd. Download the source code from http://www.pcre.org, or install a Port or Package. If your build system can't find the pcre-config script installed by the PCRE build, point to it using the --with-pcre parameter. On some platforms, you may have to install the corresponding -dev package to allow httpd to build against your installed copy of PCRE.</span>
大致意思是:这个库是必须的,下载可以从http://www.pcre.org或者安装端口或者包。。。。。
安装gcc和gcc-c++
./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util -enable-dav -enable-so -enable-maintainer-mode -enable-rewrite
配置启动Apache
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
127.0.0.1 localhost localhost.localdomain localhost4 host.lxc-centos.com
::1 localhost localhost.localdomain localhost6 host.lxc-centos.com
所以我提醒的是localhost.localdomain,有的人可能是:127.0.0.1
localhost.localdomain:80
#
# This configuration file enables the default "Welcome"
# page if there is no default index page present for
# the root URL. To disable the Welcome page, comment
# out all the lines below.
#
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /error/noindex.html
</LocationMatch>
我们可以看到上面有一句:ErrorDocument 403 /error/noindex.html 这句的意思就是在没有找到文件的时候就自动跳转到noindex.html(var/www/error/)这个页面上。
The default page displays the following when Apache successfully installs:
-----默认页面显示以下内容时,Apache安装成功接着我们看到了:
Apache 2 Test Page powered by CentOS
or
Fedora Test Page
This page is used to test the proper operation of the Apache HTTP server after it has been installed. If you
can read this page it means that the Apache HTTP server installed at this site is working properly.