浅谈 软件源码包编译及一个安装实例


    linux下一切皆文件,虽然redhat公司提供了不少yum安装包,但是这些安装的包有时候没有我们需要的功能,这样就需要对程序的源码包进行编译安装,因为linux基本都是C语言的包,我们今天就来研究下C语言源码包的编译安装。
   现在很多软件公司在源码里会写明软件的各种功能,方便用户的编译安装,一般分为以下几个流程:


C语言源代码编译步骤:

  • 一、安装程序源码包
dnf -y install xxx
yum -y install xxx
  • 二、解压源码包
tat -xvf XXX
  • 三、配置文件选所需要的服务
    壹、./configure
    (1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的
    指定以及Makefile.in文件生成Makefile
    (2) 检查依赖到的外部环境,如依赖的软件包
  • 貮、make 根据Makefile文件,构建应用程序
  • 叁、make install 复制文件到相应路径
  • 四、配置环境变量
echo 'PATH=XX:$PATH'> /etc/profile.d/xx.sh
.  /etc/profile.d/xx.sh  #让配置文件立刻生效
  • 启动服务,配置后续的自启动服务等

试验环境在centos8下面进行,阿帕奇官网的最新版本是2.4.41

  • 一、去官网下载httpd的最新版本2.4.41
cd /data
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.41.tar.bz2
  • 二、解压程序源码包
tar -xvf httpd-2.4.41.tar.bz2
  • 三、进入文件目录查看 README 以及 INSTALL 文件的详细说明
  • 四、我们给httpd指定新路径 新的配置文件路径以及启动一个ssl服务,具体服务可以用 ./configure --help 查看
cd httpd-2.4.41
./configure --prefix=/app/apache --enabke-ssl --sysconfdir=/etc/apache

我们会发现 error 错误,因为这个服务需要很多依赖包,然后我们解决它就行。

将C代码编译成Android库_apache

dnf -y install gcc
dnf -y install make;apr-devel;apr-util-devel;pcre-devel;openssl-devel;

将C代码编译成Android库_apache_02

  • 四、开始编译安装
    make安装的时候出错了
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

    解决办法如下:
yum -y install redhat-rpm-config

下面继续安装编译:

make && make install
  • 五、配置环境
echo 'PATH=/app/apache/bin:$PATH' > /etc/profile.d/apache.sh
. /etc/profile.d/apache.sh
  • 六、创建Apache 自己特有的用户
ps -aux

将C代码编译成Android库_Apache_03

useradd -r -s /sbin/nologin apache

然后去修改Apache的配置文件
vim /etc/apache/httpd.conf
修改里面的两行命令

user apache
group apache

apachectl stop 
apachectl
  • 关闭并重新启动Apache服务
    ps -aux 查看服务是否已经启动
  • 查看版本号
[root@Centos8 ~]# apachectl -v
Server version: Apache/2.4.41 (Unix)
Server built:   Oct 14 2019 21:54:58
[root@Centos8 ~]# httpd -v
Server version: Apache/2.4.41 (Unix)
Server built:   Oct 14 2019 21:54:58

版本号是2.4.41,说明我们已经编译安装成功了!