Centos7 源码安装 Apache

7 篇文章 0 订阅
3 篇文章 0 订阅
php]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. 第一部分:前期准备 需要下载的东西  
  2.  

    prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。

    1
    2
    3
    4
    5
    6
    7
    8
    
    wget ftp://ftp.openssl.org/source/openssl-1.0.0c.tar.gz
    tar -zxf openssl-1.0.0c.tar.gz
    cd openssl-1.0.0c/
    ./config  --prefix=/usr/local/openssl --openssldir=/usr/local/ssl
    make && make install
    ./config shared --prefix=/usr/local/openssl --openssldir=/usr/local/ssl
    make clean
    make && make install
  1. 下载 Apache 源码包  下载地址: http://httpd.apache.org/download.cgi                             我下载的  httpd-2.4.20.tar.gz  
  2.   
  3. 下载 Apr                       下载地址 :http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz        我下载的是 apr-1.5.0.tar.gz  
  4.   
  5. 下载 Apr-Util               下载地址:http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz   我下载的是 apr-util-1.5.4.tar.gz  
  6.   
  7. 注意事项:wget  vim   gcc gcc-c++   cmake  这几个也是安装 Apache 所需要的小环境 。有的小环境,一般 Cnetos7 自带,我个人建议还是手动的再用 yum install  安装 或者 更新一下。  
  8. 那么好了,接下来开始安装吧!  
  9.   
  10. 第一步:解压下载好的 Apache 包  
  11.   
  12. [root@localhost ~]#   tar -zxvf httpd-2.4.20.tar.gz  
  13.   
  14. //进入目录  编译解压的原文件  
  15.   
  16. [root@localhost httpd-2.4.20]# ./configure --prefix=/usr/local/apache24/          #配置安装目录  
  17.   
  18. 1.正常执行 (说明你的Linux安装过Apache,或者已经安装过所需的依赖包)  
  19.   
  20. 2.不正常执行、会出现以下错误信息  
  21.   
  22. configure:  
  23. checking for APR... no  
  24. configure: error: APR not found.  Please read the documentation.  
  25.   
  26. 解决方案:就是安装 刚刚下载好的 Apr。  Apache在安装时需要一些准备环境、这里需要安装另外一个 Apr(Apache portable runtime)  
  27.   
  28. 第二步:解压下载好的 Apr 包  
  29.   
  30. [root@localhost ~]#   tar -zxvf apr-1.5.1.tar.gz  
  31.   
  32. //进入目录  编译解压的原文件  
  33.   
  34. [root@localhost apr-1.5.1]# ./configure --prefix=/usr/local/apr/               #配置安装目录  
  35.   
  36. //安装目录配置完成  就 make && make install  在指定地址生成目录和文件  
  37.   
  38. [root@localhost apr-1.5.1]# make && make install  
  39.   
  40. 第三步:解压下载好的 Apr-util 包  
  41.   
  42. [root@localhost ~]# tar -zxvf  apr-util-1.5.4.tar.gz  
  43.   
  44. //进入目录  编译解压的原文件  
  45.   
  46. [root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util/               #配置安装目录  
  47.   
  48. //报错   看到错误信息   现在自己就知道了吧   --with-apr  
  49.   
  50. [root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/  
  51.   
  52. //安装目录配置完成  就 make && make install  在指定地址生成目录和文件  
  53.   
  54. [root@localhost apr-util-1.5.4]# make && make install  
  55.   
  56. 第四步:继续安装 Apache  
  57.   
  58. //切换到 Apache  源文件  
  59.   
  60. [root@localhost httpd-2.4.20]# ./configure --prefix=/usr/local/apache24/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/  
  61.   
  62. //还会出现下面的错误    原因是:还是缺少环境 PCRE  
  63.   
  64. checking for pcre-config... false  
  65. configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/  
  66.   
  67. 解决方案:  下载地址  http://jaist.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz       下载最新版本  我下载的是 pcre-8.39.tar.gz  
  68.   
  69. [root@localhost ~]# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz  
  70.   
  71. [root@localhost ~]# tar -zxvf pcre-8.39.tar.gz  
  72.   
  73. [root@localhost pcre-8.39]# ./configure --prefix=/usr/local/pcre/  
  74. [root@localhost pcre-8.39]# make && make install  
  75.   
  76. 第五步:继续安装 Apache  
  77.   
  78. [root@localhost httpd-2.4.20]# ./configure --prefix=/usr/local/apache24/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/  
  79. [root@localhost httpd-2.4.20]# make && make install  
  80.   
  81. 第六步:测试 Apache  
  82.   
  83. centos7使用systemctl代替chkconfig管理服务,防火墙也由iptables更换成了firewalld  
  84.   
  85. 首先用systemctl关闭防火墙:  
  86.   
  87. systemctl stop firewalld.service  
  88.   
  89. systemctl disable firewalld.service  
  90.   
  91. 开启 Apache 服务             停止 stop  
  92.   
  93. [root@localhost~]# cd /usr/local/apache24/bin/  
  94.   
  95. [root@localhost bin]# ./apachectl start  
  96.   
  97. 第七步:在客户端浏览器输入自己的 IP 地址,看看能够成功访问 Apache。  
  98.   
  99. 成功显示 It Works!就代表 服务器已成功启动~\(≧▽≦)/~啦啦啦。  
  100.   
  101. 在自己一步步的操作下,很高心成功啦。也不枉费读者们耐心的看完! 谢 谢 点 赞!  
  102.   
  103.   
  104.   
  105.   
  106.   
  107.   
  108. 附加: 如果在 安装 Apache 的时候,使用的是这个密令,则你就可以 进行一下操作了。  
  109.   
  110. ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-cgi --enable-ssl --enable-rewrite --with-ssl=/usr/local/openssl --with-pcre=/usr/local/pcre --with-z=/usr/local/zlib --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/openssl --enable-modules=most --enable-mpms-shared=all --with-mpm=event  
  111.   
  112.   
  113. 因为安装Apache服务器是选择安装了支持openssl,顺便研究了一下如何在apache中配置openss  
  114.   
  115. 首先在/etc/httpd/http.conf文件中修改:  
  116.   
  117. ServerName为www.example.com:80  
  118.   
  119. 去掉LoadModule ssl_module modules/mod_ssl.so前的#号  
  120.   
  121. 去掉LoadModule socache_shmcb_module modules/mod_socache_shmcb.so前的#号  
  122.   
  123. 去掉Include /etc/httpd/extra/httpd-ssl.conf前的#号  
  124.   
  125. 生成服务器证书:  
  126.   
  127. 1.生成服务器用的私钥文件server.key  
  128.   
  129. openssl genrsa -out server.key 1024  
  130.   
  131. 2.生成未签署的server.csr  
  132.   
  133. openssl req -new -key server.key -out server.csr  
  134.   
  135. 程序提示输入一系列参数,包括国别、省名、市名。。。,按照提示输入即可  
  136.   
  137. 3.签署服务器证书文件server.crt  
  138.   
  139. openssl req -x509 -days 365 -key server.key -in server.csr -out server.crt  
  140.   
  141. 然后将生成的server.key、server.csr、server.crt拷贝到/etc/httpd目录下  
  142.   
  143. /usr/local/apache/bin/apachectl restart  
  144.   
  145. 浏览器访问:http://192.168.1.75/ 此时浏览器会提示安装证书,安装后显示页面It works!,证明ssl模块已正常工作。  
  146.   
  147.   
  148. 个人总结:知识永无止境!可还是需要自己去学习!  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值