我这里实验是用的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,收工

最新文章

  1. cms真实问题的来源以及模拟解决方案
  2. WAMPServer 默认安装启动后,图标显示橙黄色
  3. HTML5革命即将爆发
  4. php socket 学习
  5. DIV布局之道一:DIV块的水平并排、垂直并排
  6. WCF 客户端与服务端消息传输
  7. (HLS播放器之中的一个)HLS协议之M3U8解析
  8. Qt新建线程的方法(有QRunnable,QThreadPool,moveToThread和QtConcurrent的例子)
  9. 开发人员如何上google查资源,如果浏览国外资源方法
  10. Servlet的生命周期与运行原理
  11. 无法远程连接SQLSERVER2000的解决方法
  12. Eclipse is running in a JRE, but a JDK is required Some Maven plugins may not work when importing projects or updating source folders.
  13. 一、linux扩展
  14. vscode圣诞帽
  15. DRF之接口文档以及Xadmin
  16. Kotlin 基本语法
  17. android EditText设置光标、边框和图标,以及限制输入
  18. 设计模式—单例模式(java)
  19. 用m2eclipse创建Maven项目时报错
  20. Alpha-1

热门文章

  1. 创建 gif
  2. 简单题[期望DP]
  3. 巧力避免ViewPager的预加载数据,Tablayout+Fragment+viewPager
  4. 十一、SQL Server CONVERT() 函数
  5. 【原创】这一次,Chrome表现和IE11一样令人失望,围观群众有:Edge,Firefox
  6. MySQL不停地自动重启怎么办
  7. java读写文件小心缓存数组
  8. 浅析java中的语法糖
  9. python redis连接 有序集合去重
  10. 深入理解JVM-类加载器深入解析(3)