一、安装前准备:
安装Apache之前,首先要检查当前环境。有些linux版本中已经预置了有Apache,可以输入以下命令确认是否预置
ps aux | grep httpd
当出现这样的信息时,说明httpd服务在正常运行中
关闭httpd服务自启动 chkconfig httpd off
停止httpd服务 service httpd stop
找出已安装的httpd rpm -qa | grep httpd
逐个的删除 rpm -e --nodeps httpd-2.2.15-26.el6.centos.i686
ps: --nodeps 忽略依赖强制删除(一般情况不建议这样做)
找出httpd.conf文件 find / -name httpd.conf
删除httpd.conf 文件 rm /xx/xx/httpd.conf
二、源码安装需要gcc , gcc是拿来编译各种源代码的软件
检查有没有安装gcc gcc -v 查看版本
如果没有的话,需要安装 yum install gcc
三、软件下载
1. HTTP 安装包
地址:http://httpd.apache.org/download.cgi#apache24
2. APR 和 APR-Util
地址:http://apr.apache.org/download.cgi
3. PCRE
地址:https://sourceforge.net/projects/pcre/files/pcre/
为每个包创建安装的目录
mkdir /usr/local/apr
mkdir /usr/local/apr-util
mkdir /usr/local/pcre
mkdir /usr/local/httpd
我的源码包放在了/software,进入该目录逐个解压
解压后进入目录,进行编译和安装
[root@localhost software]# tar -zxf apr-1.6.5.tar.gz
[root@localhost software]# tar -zxf apr-util-1.6.1.tar.gz
[root@localhost software]# tar -zxf pcre-8.38.tar.gz
[root@localhost software]# tar -zxf httpd-2.4.37.tar.gz
[root@localhost software]# cd apr-1.6.5
[root@localhost apr-1.6.5]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.6.5]# make
[root@localhost apr-1.6.5]# make install
[root@localhost apr-1.6.5]# cd ../apr-util-1.6.1
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.6.1]# make
[root@localhost apr-util-1.6.1]# make install
[root@localhost apr-util-1.6.1]# cd ../pcre-8.38
[root@localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost pcre-8.38]# make
[root@localhost pcre-8.38]# make install
[root@localhost pcre-8.38]# cd ../httpd-2.4.37
[root@localhost httpd-2.4.37]# ./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@localhost httpd-2.4.37]# make
[root@localhost httpd-2.4.37]# make install
将链接apachectl 复制到系统启动目录下并命名为httpd
cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
四、Apache启动
在启动apache的命令之前,需要修改配置文件,配置文件在刚才安装的httpd目录下 我的路径是这个
vim httpd.conf
在 #ServerName www.example.com:80 下面添加 ServerName localhost:80
将ip设置为本地ip
保存之后,输入service httpd start 就可以正常启动了
如果输入ip不能打开,有可能是你 的防火墙没有关闭
service iptables stop
出现这个,就证明httpd已经搭建好了
安装过程中的小问题:
1.下载了 apr-util 包,解压后执行 make 编译时,报错如下:
make[1]: *** [xml/apr_xml.lo] Error 1
大致是说缺少了 xml 的解析器。查阅网络资料后找到了解决方案,yum 安装一个 expat-devel 包即可:
yum install expat-devel
2.httpd make install 完成后,输入命令./apachectl start,出现AH00558: httpd:..报错的信息
解决办法:
输入vim httpd.conf 编辑文件,使用命令 /ServerName 搜索ServerName关键字
在ServerName www.example.com下面添加一段为 ServerName localhost:80,保存退出即可
3.configure: error: You need a C++ compiler for C++ support.
安装c++ compiler
情况1.
当您的服务器能链接网络时候[联网安装gcc c++]
[root@localhost]# yum install -y gcc gcc-c++
2020-01-14