★安装OS时,建议提前安装开发组件

CentOS 6:Development Tools、Server Platform Development
CentOS 7:Development Tools、Development and Creative Workstation

★configure脚本(# ./configure [option…])
常用选项:

--help:获得其支持使用的选项
--prefix=/PATH/TO/SOMEWHERE:指定默认安装位置;默认为/usr/local/;
--sysconfdir=/PATH/TO/SOMEWHERE:配置文件安装位置;
--enable-FEATURE[=ARG]:开启指定特性以及安装路径;默认开启时无须指定;
--disable-FEATURE:关闭指定特性;默认关闭时无须指定;
--with-PACKAGE[=ARG]:安装指定依赖包以及其安装路径;
--without-PACKAGE:不安装指定依赖包;
--with-function :启用某功能
--without-function :禁用某功能

例如:
#cd ../httpd-2.2.27/
# ./configure --sysconfdir=/etc/httpd --prefix=/usr/local/apache2 --with-apr=/usr

▪编译参数
--prefix=/PATH:指明安装路径;
--sysconfdir=/PATH:指明配置文件路径;不指明,默认在安装路径下;
--enable-so:表示启用DSO动态模块加载机制;
--enable-ssl:启用支持ssl功能;
--enable-mods-shared=most:表示动态的编译进来大多数的模块;如果使用--enable-mods-shared=all,则指动态的编译所有的模块。
--with-apr=/PATH:指明apr程序包的路径;不使用=指明路径会在默认路径查找;
--with-apr-util=/PATH:指明apr-util程序包的路径;
--with-mpm=prefork:指明默认使用的MPM模块;

★说明:
静态编译:将module直接在安装的过程中放到apache中,当apache使用module的时候,就可以直接使用了。
动态编译:将module引入到apache之中,在使用的时候才会真正的去加载(通过LoadModule命令)
--with.....:表示依赖的包,不指明路径,编译安装时会到默认路径下找;
--without.....:不依赖的包;
--enable.....:启用特性;
--disable.....:禁用特性;

-----------------------------------------------------------------------------
★事前准备:
在使用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境,它需要具备C语言、C++语言、Perl语言的编译器,以及各种常见的编译支持函数库程序。因此请先配置妥当Yum软件仓库,然后把下面列出的软件包安装上:

yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel

  

【编译安装】

(1)下载及解压源码包文件。

#tar xzvf FileName.tar.gz
#cd FileDirectory

(2)编译源码包代码。可以根据需要追加--prefix参数,以指定稍后源码包程序的安装路径。当编译工作结束后,如果系统环境符合安装要求,一般会自动在当前目录下生成一个Makefile安装文件。

#./configure --prefix=/usr/local/program

(3)生成二进制安装程序。使用make命令来根据Makefile文件内容提供的合适规则编译生成真正可供用户安装服务程序的二进制可执行文件。

#make

(4)运行二进制的服务程序安装包。如果在源码包编译阶段使用了--prefix参数,那么服务程序就会被安装到那个目录,一般默认安装到/usr/local/bin目录中。

#make install

(5)清理源码包临时文件。由于在安装服务程序的过程中进行了代码编译的工作,在安装后目录中会遗留下很多临时垃圾文件,使用make clean命令对临时文件进行清理工作。

#make clean
-----------------------------------------------------------------------------

【安装后的配置】
(1) 将二进制程序目录添加至PATH文件变量中,否则只能使用绝对路径才能运行程序。
编辑文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
例如:

#export PATH=$PATH:/usr/local/apache2/bin
#vim /etc/profile.d/apache2.sh
export PATH=$PATH:/usr/local/apache2/bin

  

(2) 导出库文件路径。

编辑/etc/ld.so.conf.d/NAME.conf,添加新的库文件所在的目录至此文件中;
例如:/usr/local/apache2/lib

ldconfig -v:重新加载库文件路径,并查看;
ldconfig -p:查看已加载所有库文件路径;
例如:
#vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apache2/lib
# ldconfig -v
# ldconfig -p | grep apache

(3) 导出头文件。
/usr/include/目录下,创建软链接;
ln -s target_dir soft_link ##可以导出一个目录为所有文件链接,也可为每一个头文件导出一个链接,然后把创建的链接输出到/usr/include/目录下,或者直接复制头文件至/usr/include/目录;
例如:
#ln -sv /usr/local/apache2/include /usr/include/httpd
‘/usr/include/httpd’ -> ‘/usr/local/apache2/include’

(4) 导出man手册。

Centos7是在/etc/man_db.conf的40到50行之间,添加一个MANPATH参数(Centos6可能是/etc/man.config);
例如:
#vim /etc/man_db.conf
MANPATH_MAP /usr/local/apache2/bin /usr/local/apache2/man

执行命令查看:manpath
-----------------------------------------------------------------------------

Linux源码包安装程序的更多相关文章

  1. Linux源码包安装过程及注意事项

    众做周知RedHat Linux使用RPM包管理器安装rpm包,但是RPM包是由红帽编译打包的,通常相对于最新版落后了很多,甚至可能缺少我们所要使用的功能.如果你需要定制想要的软件功能.自定义安装路径 ...

  2. linux 源码包安装拾遗

    源码包安装和apt-get/yum的区别 安装前的区别:概念上的区别 rpm和dpkg包是经过编译过的包,并且其安装位置由厂商说了算,厂商觉得安装在哪里合适,就会装在哪里,而源码包则是没有经过编译的文 ...

  3. Linux源码包安装和脚本安装

    能够先 vi INSTALL 看看安装过程. 1.源码包安装 2.脚本安装

  4. Linux 源码包安装过程

    安装准备 安装gcc编译器 下载源码包 源代码保存位置:/usr/local/src/ 软件安装位置:/usr/local/ 解压缩下载的源码包 进入解压缩目录 软件配置与检查:./configure ...

  5. Linux源码编译安装程序

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...

  6. Linux源码包安装apache(httpd)

    我这里实验是用的CentOS7 #事先先检查一下自己的linux是否安装apache [root@localhost ~]#rpm –q httpd #如果已安装则先卸载原来的apache [root ...

  7. Linux 系统下用源码包安装软件

    Linux系统下用源码包安装软件 by:授客 QQ:1033553122 下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关的安装说明文件,一般是READ ...

  8. Linux yum源码包安装和卸载

    Linux 下的绝大多数源码包都是用 C 语言编写的,还有少部分是用 C++ 等其他程序语言编写的.所以,要想安装源码包,必须安装 C 语言编译器 gcc(如果是用 C++ 编写的程序,则还需要安装 ...

  9. 『学了就忘』Linux软件包管理 — 47、Linux源码包的安装和卸载

    目录 1.源码包安装服务的注意事项 2.源码包安装服务的过程 3.源码包安装服务的删除 4.源码包安装服务的启动 5.源码包安装服务的关闭 1.源码包安装服务的注意事项 (1)安装服务选择哪种软件包? ...

随机推荐

  1. 二维码图片以字符串的形式保存DB,已文件流显示页面上

    以下是生成二维码的方法,我只用其中一个方法 这个需要引用ZXing.DLL 链接:https://pan.baidu.com/s/1mCTwHiAm_awtsPcibAotZw 提取码:ufp6 pu ...

  2. Java之.jdk卸载-Linux

    Java之.jdk卸载-Linux 卸载Linux自带的jdk 首先查询: #  rpm -qa | grep jdk 使用root账户,进行卸载: # yum -y remove xxxxxxxx( ...

  3. vs2017 .net core 项目调试浏览器网页闪退Bug

    from:https://blog.csdn.net/qq_36330228/article/details/82152187 vs更新2017最新版本后,项目调试浏览器莫名其妙出现闪退,每次都TMD ...

  4. 从零开始搭建一个vue.js的脚手架

    在谷歌工作的时候,我们要做很多界面的原型,要求快速上手,灵活运用,当时用的一些现有框架,比如angular,太笨重了——尤雨溪(Vue.js 作者) vue.js是现在一个很火的前端框架,官网描述其简 ...

  5. JAVA EE 第二周(XML简述以及web请求的过程)

    一. 对于XML,我分别从以下几个方面来简述: 1.定义: XML是一种可扩展的标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. (可扩展标记语言:可扩展标记语言是一 ...

  6. SlidingMenu第二篇 --- SlidingMenu常用属性介绍

    /** * 设置滑动的屏幕范围 * 1. TOUCHMODE_MARGIN 设置为全屏边缘可滑动 * 2. TOUCHMODE_FULLSCREEN 设置为全屏区域都可以滑动 * 3. TOUCHMO ...

  7. python接口自动化-接口重定向和编码格式

    1.如果测试的接口重定向,那么只需添加allow_redirects=False禁止重定向就可: 2.如果请求的结果,中文出现没有解码 \xe9\x83\xad\xe7\xbf\xa0\xe6\x99 ...

  8. 基于ROS完成寻迹运动

    安装opencv功能包: $ sudo apt-get install ros-indigo-version-opencv libopencv-dev python-opencv  检测指示线: #! ...

  9. Linux查看当前目录下文件名中包含指定字符的文件

    find . -type f -name "edaijia* 结果:

  10. 根据RadioButtonList动态显示隐藏Div

    使用场景 今天在写项目的时候遇到一个需求,注册页面,用户先选择类型继而填表单,所以需要根据选择切换表单,使用的前端框架是MiniUI,但是在实现这个功能的时候mini.get()方法无法得到div元素 ...