设为首页 收藏本站
查看: 933|回复: 0

[经验分享] apache服务器的源码安装

[复制链接]

尚未签到

发表于 2018-11-23 10:02:13 | 显示全部楼层 |阅读模式
  APACHE的源码包安装及脚本控制
  源码包的下载
  作为一款优秀的开源软件,大家可以直接去apache的官方网站下载最新的源码包,地址如下:http://www.apache.org/
  源码安装原因主要有:
1.源码安装可以获得最新的,没有被编译,配置的源代码。
2.实现自定义的各种软件的配置及功能。
  源码包的解压缩:
从网站下载完各种我们需要的源码包之后,会发现其名称基本有两种格式:
1. .tar.gz  2.  .tar.bz2
以上两种分别是用.tar工具打包之后用.gz或.bz2压缩工具进行压缩后的文件
  源码包的展开:
对于两种不同的压缩方式,linux终端及shell提供了不同的解压缩参数,但在展开之前,我们要先运行及设置厂商提供的环境检测及预编译工具:./configrue,而在配置。/configure之前我们要先搭建本地的预编译环境,安装相关的软件包及包组
  
安装预编译环境所需的其他软件包c5版本下一般包括:development librarise ,legacy development ,x software development ,和 development tools
  
在使用yum安装之前我们要先看一下本地的/etc/yum.repos.d/CentOS-Media.repo,因为centos5版本和6版本是有区别的,5版本的默认baseurl并不在/mnt/cdrom下而在/media/cdrom 中如下图所示:
DSC0000.jpg
  修改
DSC0001.jpg

  那么挂载完光驱之后我们就可以启用本地的yum库进行./configure的环境搭建了:
安装预编译环境所需的其他软件包c5版本下一般包括:development librarise ,legacy development ,x software development ,和 development tools
  development librarise:
DSC0002.jpg

  legacy development:
DSC0003.jpg

  x software development: DSC0004.jpg
development tools:
DSC0005.jpg

  在此之前我们有必要说以下apache服务器,作为一款优秀的多平台,可移植特性,apache这些功能的实现需要依赖于另外两款软件包的支持,他们分别是apr和apr-util,本例中的版本是apr-1.4.6.tar.gz和apr-util-1.5.1.tar.gz
然后进行解压缩的工作,用:
tar -zvxf apr-1.4.6.tar.gz -C  目标路径(如图中的/usr/local/src/)
DSC0006.jpg tar -jvxf apr-1.4.6.tar.bz2 -C  目标路径(如图中的/usr/local/src/)

DSC0007.jpg

  
注意源码包不同,对应的的解压参数也不同,-zvxf对应的是.gzip(工具)格式压缩的解压缩,而.jxvf(工具)对应的是.bzip2格式
  
进入我们的解压后存放的路径:/usr/local/src,进入后会看到如下的显示:
DSC0008.jpg

  因为apr-util是依赖于apr而工作的。所以我们要先进行apr的相关配与安装,步骤为:先进入apr-1.4.6目录,然后在该目录下执行./configure --prefix=想要安装的路径,(注意./congfigure必须在相关的解压路径目录下进行执行,如源码包解压在/usr/local/src/下,那么解压出一系列相关文件就会在对应的自动生成目录下,而./configure的预编译检测就需要和依赖于这些文件,执行./configure必须在那些文件的父目录中),执行./configure,如图
DSC0009.jpg

  在环境生成后,接下来我们要用make指令来进行相关的编译以用于下一步的安装,(注意:makefile文件时在预编时既./configure时生成的,然后再用make进行自动维护编译工作)如图:
DSC00010.jpg

  
然后接着makeinstall(也可两条指令放一块,中间用&&连接)如上图
  可以看到/usr/local/src/apr2/lib下有很多库文件,如果别的程序想要依赖使用这些库文件,就需要将/usr/local/src/apr2/lib写入到/etc/ld.so.conf.d中。(因为系统的默认库文件是在/usr/bin下),在/etc/ld.so.conf.d下添加apr2.conf文件,
DSC00011.jpg

  并将/usr/local/src/apr2/lib写入。保存退出。
DSC00012.jpg

  然后用ldconfig,将我们的新文件重新读取刷入缓存中:
DSC00013.jpg

  然后查看刷入的结果
DSC00014.jpg

DSC00015.jpg

  接下来就是安装apr-util-1.5.1-tar.gz,与安装apr类似,先执行./configure --prefix=想要安装的路径,不同的是因为apr-util依赖于apr,所以后面要用--with来指明对apr的依赖,并写出具体依赖路径,如图: DSC00016.jpg
DSC00017.jpg

  接着是make和make install:
DSC00018.jpg

DSC00019.jpg

DSC00020.jpg

  同样的可以看到在该目录下生成了很多的头文件,如果有别的程序需要依赖/usr/local/src/apr-util2/include/arp-1中的头文件,就需要创建链接。
创建链接到/usr/local/src/apr-util2/include/apr-1  命令为ln -s /usr/local/src/apr-util2/include/apr-1 apr-util2
  (此处为链接名称),注意该命令必须在/usr/inlcude下执行(因为系统默认头文件路径在/usr/include/下)
DSC00021.jpg

DSC00022.jpg

  
接下来安装图示三个源码中的第三个httpd-2.4.4
进入相关路径,然后执行./configure --prefix=想要安装的路径 --with-apr=/usr/local/src/apr2/bin/apr-1-config  --with-apr-util=/usr/local/src/apr-util2/include/apr-1
这时我们在安装httpd-2.4.4这个包时,在前面我们已经说过他要依赖于apr产生的库文件和apr-util产生的头文件,所以在安装路径后我们要用--with来指明他的依赖关系,(这是要注意先后顺序,既apr-util依赖于apr,httpd依赖于apr)
DSC00023.jpg

  这时你会发现有报错的地方:
DSC00024.jpg

  pcre为一种正则表达式的兼容库,
此时我们可以用rpm -qlp /media/cdrom/CentOS/来查看一下关于pcre的相关软件包信息这时会看到一个关于pcre-devel的包,这个包中往往包含了一些共享库和配置文件,而我们需要安装的就是这个,这时我们可以用rpm -qlp /media/cdrom/CentOS/pcre-devel.i386.rpm | cat查看这些未安装的软件包在安装时的路径信息:
DSC00025.jpg

  
然后安装这个包:
DSC00026.jpg

  再返回httpd-2.4.4目录下,重新执行一下./configure --prefix=想要安装的路径 --with-apr=/usr/local/src/apr2/bin/apr-1-config  --with-apr-util=/usr/local/src/apr-util2/include/apr-1 命令
DSC00027.jpg

  然后接着是make和make install:
DSC00028.jpg

DSC00029.jpg

  完成之后,我们进入之前的指定目录下,可以看到如下的一系列目录:
DSC00030.jpg

  同样的我们要将产生的头文件链接到/usr/include中去
DSC00031.jpg

  为了方便以后的服务启用方便我们要将当前目录下的httpd加入到搜所路径中去,
  编辑环境文件。每次执行不必到安装目录中去执行了。
DSC00032.jpg

  更新profile文件。查看PATH变量,
DSC00033.jpg

  然后将相关的man手册加入到系统指定的搜索路径/etc/man.config中去
  并将MANPATH变量中再加入一条/usr/local/src/apache/man/:
DSC00034.jpg

  进入/bin目录下会看到一个httpd的可执行文件,在当前目录下输入./httpd即可启动apache服务,如图示
  会发现服务及端口已经启用
DSC00035.jpg

  然后我们打开浏览器,输入服务器的ip地址会看到如下的工作页面
DSC00036.jpg

  为了方便我们以后服务开启及查看的方便我们还可以编写他们的控制脚本
  并加入相应的可执行权限:
DSC00037.jpg

  编写内容如下
DSC00038.jpg

DSC00039.jpg

  然后进行相关测试,看是否正常:
DSC00040.jpg

DSC00041.jpg





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638526-1-1.html 上篇帖子: Apache服务器安装过程详解 下篇帖子: 解决apache无法启动:undefined symbol: apr_ldap_ssl_init
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表