我这里实验是用的CentOS7
#事先先检查一下自己的linux是否安装apache
[root@localhost ~]#rpm –q httpd
#如果已安装则先卸载原来的apache
[root@localhost ~]#yum –y remove httpd
#我这里安装的虚拟机,做实验前恢复到刚安装时的快照
#下载httpd源码包,以及三个安装所需的依赖包的源码包
一、下载,准备安装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目录下
[root@localhost ~]# .tar.bz2 -C /usr/local/ //-C表示解压到指定路径 [root@localhost ~]# .tar.gz -C /usr/local/ [root@localhost ~]# tar xf pcre-8.35.tar.gz -C /usr/local/ [root@localhost ~]# .tar.gz -C /usr/local/
#如果出现不能解压.bz2格式的情况,先用yum下载好bzip2
#进到/usr/local/目录下,没问题的话,开始安装第一个apache依赖包,首先安装apr-1.5.2
[root@localhost ~]# cd /usr/local/ [root@localhost local]# ls [root@localhost local]# cd apr- [root@localhost apr-]#./configure --prefix=/usr/local/apr //prefix表示指定安装路径 [root@localhost apr-]#make&&make install //编译并进行安装
/#没有出现error错误的话那就安装成功了
#开始安装第二个依赖包,apr-util-1.5.4的安装还依赖于apr-1.5.2。所以放在第二个安装
[root@localhost apr-]# cd ../apr-util- [root@localhost apr-util-]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr--config //这里with将其关联起来,解决安装的依赖关系 [root@localhost apr-util-]#make&&make install
#安装第三个依赖包
[root@localhost apr-util-]# cd ../pcre-8.35 [root@localhost pcre--config [root@localhost pcre-8.35]#make&&make install
#开始安装apache
[root@localhost pcre- [root@localhost httpd-]#./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-]#make&&make install
#这里一定要关闭防火墙,否则浏览器没办法访问到
1 [root@localhost ~]#systemctl stop firewalld 2 3 [root@localhost ~]#setenforence 0 //关闭selinux防火墙
#编辑httpd.conf文件,搜索"ServerName"
[root@localhost ~]# cd /usr/local/httpd/conf/ [root@localhost conf]# ls extra httpd.conf magic mime.types original [root@localhost conf]# vim httpd.conf #ServerName www.example.com: //将前面的#去掉,或者自己添加也行
#再重新启动apache 即可。
[root@localhost conf]#/usr/local/httpd/bin/apachectl restart //注意,这里得用二进制程序来启动,而不能用systemctl start httpd来启动
#这里所有路径跟你自己解压、安装的命名和位置有关系,跟我不同的位置的要注意下咯,免得找不到尴尬
三、测试
浏览器输入服务器IP地址,出现It works就代表成功了!!!ok,收工