我这里实验是用的CentOS7
#事先先检查一下自己的linux是否安装apache
[root@localhost ~]#rpm –q httpd
#如果已安装则先卸载原来的apache
[root@localhost ~]#yum –y remove httpd
#我这里安装的虚拟机,做实验前恢复到刚安装时的快照
#下载httpd源码包,以及三个安装所需的依赖包的源码包
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)
一、下载,准备安装rpm源码包
1.Apache HTTP Server(我这里下载的是httpd-2.4.39.tar.gz)
地址:http://httpd.apache.org/download.cgi#apache24
2. APR 和 APR-Util(我这里下载的是apr-1.5.2.tar.bz2 和apr-util-1.5.4.tar.gz)
地址:http://apr.apache.org/download.cgi
3. PCRE(我这里下载的是pcre-8.35.tar.gz)
地址:https://ftp.pcre.org/pub/pcre/
#安装源码包的时候还可能跟下载的包有问题,怎么装都不正确,我换了一个1.5的安装就成功了,,不知道为什么。。。
二、开始安装
#可以用wget命令直接下载到linux中,我这里用的windows下载,并上传到linux上
#wget url_path
#安装编译环境(一定要安装gcc/gcc-c++ 可以用[root@localhost ~]#gcc –v查询是否安装)
[root@localhost ~]#yum –y install gcc-c++ make
#这里我将上传在/root/目录下的所有压缩包解压到/usr/local目录下
1 [root@localhost ~]# tar xf apr-1.5.2.tar.bz2 -C /usr/local/ //-C表示解压到指定路径 2 3 [root@localhost ~]# tar xf apr-util-1.5.4.tar.gz -C /usr/local/ 4 5 [root@localhost ~]# tar xf pcre-8.35.tar.gz -C /usr/local/ 6 7 [root@localhost ~]# tar xf httpd-2.4.39.tar.gz -C /usr/local/
#如果出现不能解压.bz2格式的情况,先用yum下载好bzip2
#进到/usr/local/目录下,没问题的话,开始安装第一个apache依赖包,首先安装apr-1.5.2
1 [root@localhost ~]# cd /usr/local/ 2 3 [root@localhost local]# ls 4 5 [root@localhost local]# cd apr-1.5.2 6 7 [root@localhost apr-1.5.2]#./configure --prefix=/usr/local/apr //prefix表示指定安装路径 8 9 [root@localhost apr-1.5.2]#make&&make install //编译并进行安装
/#没有出现error错误的话那就安装成功了
#开始安装第二个依赖包,apr-util-1.5.4的安装还依赖于apr-1.5.2。所以放在第二个安装
1 [root@localhost apr-1.5.2]# cd ../apr-util-1.5.4 2 3 [root@localhost apr-util-1.5.4]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config //这里with将其关联起来,解决安装的依赖关系 4 5 [root@localhost apr-util-1.5.4]#make&&make install
#安装第三个依赖包
1 [root@localhost apr-util-1.5.4]# cd ../pcre-8.35 2 3 [root@localhost pcre-8.35]#./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config 4 5 [root@localhost pcre-8.35]#make&&make install
#开始安装apache
1 [root@localhost pcre-8.35]# cd ../httpd-2.4.49 2 3 [root@localhost httpd-2.4.49]#./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 4 5 [root@localhost httpd-2.4.49]#make&&make install
#这里一定要关闭防火墙,否则浏览器没办法访问到
1 [root@localhost ~]#systemctl stop firewalld
2
3 [root@localhost ~]#setenforence 0 //关闭selinux防火墙
#编辑httpd.conf文件,搜索"ServerName"
1 [root@localhost ~]# cd /usr/local/httpd/conf/ 2 3 [root@localhost conf]# ls 4 5 extra httpd.conf magic mime.types original 6 7 [root@localhost conf]# vim httpd.conf 8 9 #ServerName www.example.com:80 //将前面的#去掉,或者自己添加也行
#再重新启动apache 即可。
1 [root@localhost conf]#/usr/local/httpd/bin/apachectl restart //注意,这里得用二进制程序来启动,而不能用systemctl start httpd来启动
#这里所有路径跟你自己解压、安装的命名和位置有关系,跟我不同的位置的要注意下咯,免得找不到尴尬
三、测试
浏览器输入服务器IP地址,出现It works就代表成功了!!!ok,收工