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)
上一篇 2016-11-27 22:55
下一篇 2016-11-27 23:04

相关推荐

  • MySQL半同步配置

    先配置主从服务器,过程见另一篇博库 就是先搭一个主从服务器,然后 1、先在主节点上安装半同步复制的主节点专用插件 MariaDB [(none)]> SHOW PLUGINS;这条命令可以查看有哪些插件可以用 2、从节点也一样先装插件 从节点上先停止线程 STOP SLAVE; 主节点上 从节点上 START SLAVE; 这里需要手动的停止一下线程,…

    Linux干货 2016-11-21
  • Linux Basics-重定向与管道:第一部分

    Linux Basics-重定向与管道:第一部分 概述 本教程将介绍 Linux 中重定向标准 IO 流的基本技术。学习: 什么是重定向与标准 IO 流:标准输入、标准输出和标准错误 各种流和管道的实际应用   前提条件 你应该了解 Linux 基本知识以及拥有一个正常工作的 Linux 系统,在本文说明的实例中,我采用是CentOS 7 内核版本…

    Linux干货 2016-10-29
  • 02Linux上终端的类型

    一、终端的概念 所谓终端就是在一个连接主机的端子上面接入鼠标、键盘、显示器等所组成的一个组合。终端用于用户与主机之间的交互。早期的时候,在大型主机上,想使用主机的用户很多,但是主机却只有一个,也不能实现人手一台。于是为了让一台主机给多个用户使用,便产生了多个终端和多个用户,这样每个用户只要有一个终端变可以与主机交互了。 二、终端的种类 终端的类型有四类:物理…

    Linux干货 2016-10-14
  • 第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 目录管理类的命令: mkdir, rmdir mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自动按需创建父目录; -v: verbose,显示详细过程; -m MODE:直接给定权限; 注意:路径…

    Linux干货 2018-01-17
  • 磁盘管理

    CHS cylinder-head-sector cylinder柱面=track*head=512*63*256=8M  磁盘分区 为什么是分区? • 优化I/O 性能 • 实现磁盘空间配额限制 • 提高修复速度 • 隔离系统和程序 • 安装多个OS • 采用不同文件系统   MBR:使用32位表示扇区数量,按每扇区512字节计算,每个…

    Linux干货 2016-08-29
  • iptables, sudo N28

    2018/2/25 17:14 第十二周

    2018-02-25