软件包管理之编译安装

 源码编译的优势

  • 自定义软件功能
  • 优化编译参数,提高性能
  • 解决不必要的软件间依赖
  • 方便清理与卸载

下面以 centos 编译安装httpd为例

 

实验环境

操作系统:CentOS 7.5 x64 最小化安装

httpd版本:2.4.34

 

编译安装httpd 2.4

1.需要的软件包有 gcc ,openssl-devel ,pcre-devel,expat-devel,这几个包可以通过yum安装

[root@centos7 ~]# yum install gcc openssl-devel expat-devel pcre-devel -y

此外还需要较高版本的 apr,apr-util ,这两个包解压后可以放到httpd解压文件下,和httpd一起编译安装

2. 下载 apr-1.6.3,apr-util-1.6.1, httpd-2.4.34 这个三个源码包并解压到 /usr/local/src 下

这里用的 wget 工具下载的,没有安装的话请自行用 yum 安装

[root@centos7 ~]# wget http://mirrors.ustc.edu.cn/apache/apr/apr-1.6.3.tar.gz http://mirrors.ustc.edu.cn/apache/apr/apr-util-1.6.1.tar.gz http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.34.tar.gz

[root@centos7 ~]# for i in `ls *.tar.gz`;do tar xf $i -C /usr/local/src;done

3. 把apr和apr-util的解压文件复制一份至httpd-2.4.34/srclib目录下,并去除版本号 ,和httpd一起编译安装

[root@centos7 ~]# cd /usr/local/src/
[root@centos7 src]# ls
apr-1.6.3  apr-util-1.6.1  httpd-2.4.34
[root@centos7 src]# cp -r apr-1.6.3 httpd-2.4.34/srclib/apr
[root@centos7 src]# cp -r apr-util-1.6.1 httpd-2.4.34/srclib/apr-util

4.编译安装httpd 2.4

[root@centos7 src]# cd httpd-2.4.34/
[root@centos7 httpd-2.4.34]# ./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd --with-include-apr --with-pcre --with-z --enable-so --enable-ssl --enable-cgi  --enable-rewrite  --enable-modules=most --enable-mpms-shared=all --with-mpm=event
[root@centos7 httpd-2.4.34]# make -j 2 && make install

其中,上述 configure 选项的含义如下(可以用 ./configure --help 查看帮助): 

--prefix=/usr/local/httpd              安装路径 
--sysconfdir=/etc/httpd                配置文件路径 
--with-included-apr                    包含apr,apr-util 
--with-pcre                            支持pcre
--with-z                               支持zlib压缩 
--enable-so                            允许运行时加载DSO模块 
--enable-ssl                           编译ssl模块 
--enable-cgi                           允许使用cgi脚本 
--enable-rewrite                       支持URL重写机制 
--enable-modules=most                  启用大多数常用的模块 
--enable-mpms-shared=all               启用MPM所有支持的模式 
--with-mpm=event                       默认使用event模式

编译安装过程需要一定时间,请耐心等待

 

编译安装后的配置

1. 二进制程序目录导入至PATH环境变量中

[root@centos7 ~]# echo 'export PATH="/usr/local/httpd/bin:$PATH"' > /etc/profile.d/httpd.sh
[root@centos7 ~]# .  /etc/profile.d/httpd.sh
[root@centos7 ~]# echo $PATH
/usr/local/httpd/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

2. 导出库文件路径

[root@centos7 ~]# echo "/usr/local/httpd/lib" > /etc/ld.so.conf.d/httpd.conf
[root@centos7 ~]# ldconfig 

3. 导入头文件,基于链接的方式实现

[root@centos7 ~]# ln -sv /usr/local/httpd/include /usr/include/httpd
‘/usr/include/httpd’ -> ‘/usr/local/httpd/include’

4. 导入帮助手册

[root@centos7 ~]# vim /etc/man_db.conf 
MANPATH_MAP     /usr/local/httpd        /usr/local/httpd/man

5. 启动apache服务并测试

[root@centos7 ~]# apachectl start 
[root@centos7 ~]# ss -tunl | grep :80
tcp    LISTEN     0      128      :::80                   :::*

关闭 firewalld 和 selinux

[root@centos7 ~]# systemctl stop firewalld
[root@centos7 ~]# systemctl disable firewalld
[root@centos7 ~]# setenforce 0
[root@centos7 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

在浏览器输入 服务器地址

出现如上图所示则httpd服务已启动

至此,httpd 2.4的编译安装到此结束

 

posted @ 2018-08-09 22:07  独孤柯灵  阅读(312)  评论(0)    收藏  举报