14程序包的编译安装

在有些源代码程序没有被编译成rpm的时候,或者其他人写了一个源代码程序,要把它安装在服务器上要怎么做呢?

那就需要对源代码进行编译安装了。

C代码编译安装三步骤:

1、./configure:

(1)通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile

(2) 检查依赖到的外部环境,如依赖的软件包

2、make:根据makefile文件,构建应用程序

3、make install:复制文件到相应路径

开发工具:

autoconf: 生成configure脚本

automake:生成Makefile.in

注意:安装前查看INSTALL,README

下面就以编译安装HTTP服务为例进行说明:

首先要 获取到HTTP源代码,此处通过FTP获取

yum install lftp  安装FTP–源代码获取工具

ftp://172.16.0.1/pub/Sources/sources/httpd/httpd-2.2.29.tar.bz2 –下载源代码

tar xvf httpd-2.2.29.tar.bz2  –解压源代码–> 得到http-2.2.29 目录

由于要用到autoconf和automake工具 因此可以安装 工具包

yum groupinstall "Development Tools"

安装工具安装好了之后进入http目录执行 ./configure命令,注意这个命令要指定该软件安装的程序所在目录,以及配置文件所在目录。所以执行./configure命令之前要先看一下目录下的INSTALL、README两个文件

http服务中–prefix=程序安装目录  –sysconfdir=配置文件目录 如果不加这两个选项,是有默认安装路径的。在man】帮助中有,接下来执行:

./configure  –prefix=/usr/local/huyuhttp  –sysconfdir=/etc/huyuhttp/

make 和 make install

这样呢其实已经安装完了http服务,但是此时http还没有启动,帮助文档还不能方便查看,调用的库也不行,共享库有哪些也不知道,所以要进行接下来的配置。

1、在/etc/profile.d/目录下创建一个以.sh结尾的文件,修改path变量,加入http二进制程序路径,这样就可以不用加路径直接执行http程序了。

vim  /etc/profile.d/huyuhttp.sh  

PATH=$PATH:/usr/local/huyuhttp/bin

.   /etc/profile.d/huyuhttp.sh  刷新path变量值

2、添加man手册,可以方便查看帮助

vim /etc/man_db.conf   /usr/local/huyuhttp/man 

3、添加lib图文件目录

vim /etc/ld.so.conf.d/huyuhttp.conf /usr/local/huyuhttp/lib

ldconfig 刷新库文件缓存

4、添加头文件,这里只需要在include的目录中加入http的include目录链接即可

ln -s /usr/local/huyuhttp/include/ /usr/include/huyuhttp

5、关闭防火墙

iptables -F

6、开启http

apachectl start

7、查看端口是否打开

netstat -ant 查看80

8、测试查看网页

links ip

curl ip

—-joker的部落阁

原创文章,作者:joker,如若转载,请注明出处:http://www.178linux.com/61147

(0)
jokerjoker
上一篇 2016-11-27 22:55
下一篇 2016-11-27 23:04

相关推荐

  • 马哥教育网络班21期+第一周课程练习

    1、描述计算机的组成及其功能。 计算机由五大组件组成包括:计算器,控制器,存储,输入设备,输出设备。 运算器:做运算,且只能做二进制运算,包括算术运算和逻辑运算,如加减乘除,移位,取模。运算器的核心是加法器。 控制器:控制整个计算机部件之间协调。比如做计算,运算器先从存储器取数,运算器作运算,再回存存储器。这整个过程都由控制器做协调。  &nbsp…

    Linux干货 2016-07-12
  • 在 Linux 下你所不知道的 df 命令的那些功能

    原文出处: xmodulo   译文出处:linux.cn – mtunique   欢迎分享原创到运筹维幄 问题: 我知道在Linux上我可以用df命令来查看磁盘使用空间。你能告诉我df命令的实际例子使我可以最大限度得利用它吗?   对于磁盘存储方面,有很多命令行或…

    Linux干货 2015-03-02
  • Linux文件查找工具之find “大宝剑”

    一、文件查找工具常用软件 locate:     locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令…

    Linux干货 2016-03-12
  • Linux初识

    Linux 初识 计算机包含 CPU :运算器 、控制器、寄存器、缓存(加速) 存储器:内存,RAM(Random Access Memory) Input:下指令,提供数据 Output:输出数据加工的结果。 冯诺依曼体系 纸带打孔 磁带机 批处理 键盘、显示器 多任务Multi task 虚拟机软件 VMware workstation 12 PRO O…

    2017-07-13
  • kickstart+http+dhcp+tftp实现centos7的无人值守安装

    环境:IP: 172.16.0.11 centos 7.2 一. tftp 安装tftp服务端和客户端 [root@localhost ~]# yum -y install tftp tftp-server 启动tftp [root@localhost ~]# systemctl start tftp.socket [root@localhost ~]# s…

    Linux干货 2017-06-03
  • shell脚本一键分区

    #!/bin/bash #实现硬盘自动分区助手 echo "当前所有分区:" echo `fdisk -l|grep "Disk /dev/[sh]d"|cut -d: -f1|awk '{print $2 &q…

    Linux干货 2016-07-26