博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
源码安装程序包
阅读量:6277 次
发布时间:2019-06-22

本文共 4448 字,大约阅读时间需要 14 分钟。

  程序包的安装可以通过rpm来安装rpm包,也可以通过yum来安装rpm包,也可以通过直接编译二进制的方式来安装程序包,本文主要讲解通过编译二进制源码来安装http,并且能够修改其环境变量,库文件,头文件等相关信息,

一、环境准备

   如果以前安装过http软件包,请先使用rpm -e http --nodeps 进行卸载,在进行下面操作

   源码包下载:可以通过wget 

   系统环境:可以通过uname -a 和/etc/issue

1
2
[root@localhost ~]# uname -a
Linux localhost.localdomain 
2.6
.
32
-
431
.el6.x86_64 #
1 
SMP Fri Nov 
22 
03
:
15
:
09 
UTC 
2013 
x86_64 x86_64 x86_64 GNU/Linux
1
2
CentOS release 
6.5 
(Final)
Kernel \r on an \m

二、源码安装

  1.系统开发环境的安装

        通过yum命令来安装开发包组“Server Platform Development”和“Development tools”  

1
2
yum install -y 
"Development tools"
yum install -y 
"Server Platform Development"

  2.解压源码包,会生成一个http-2.2.26的文件夹

1
[root@localhost ~]# tar -xf httpd-
2.2
.
26
.tar.gz

  3.切换到http-2.2.26

1
[root@localhost ~]# cd httpd-
2.2
.
26

  4.查看./configure的选项,可以通过./configure --help 也可以通过查看INSTALL来获取帮助信息,本文主要将的是通过./configure --help来获取,并讲解几个主要选项的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@localhost httpd-
2.2
.
26
]# ./configure --help
`configure' configures 
this 
package 
to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
Installation directories:
  
--prefix=PREFIX         install architecture-independent files 
in 
PREFIX
                          
[/usr/local/apache2]
  
--exec-prefix=EPREFIX   install architecture-dependent files 
in 
EPREFIX
                          
[PREFIX]
Fine tuning of the installation directories:
  
--bindir=DIR            user executables [EPREFIX/bin]
  
--sbindir=DIR           system admin executables [EPREFIX/sbin]
  
--libexecdir=DIR        program executables [EPREFIX/libexec]
  
--sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  
--sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  
--localstatedir=DIR     modifiable single-machine data [PREFIX/
var
]
  
--libdir=DIR            object code libraries [EPREFIX/lib]
  
--includedir=DIR        C header files [PREFIX/
include
]
  
--oldincludedir=DIR     C header files 
for 
non-gcc [/usr/
include
]
  
--datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  
--datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  
--infodir=DIR           info documentation [DATAROOTDIR/info]
  
--localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  
--mandir=DIR            man documentation [DATAROOTDIR/man]
  
--docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
  
--htmldir=DIR           html documentation [DOCDIR]
  
--dvidir=DIR            dvi documentation [DOCDIR]
  
--pdfdir=DIR            pdf documentation [DOCDIR]
  
--psdir=DIR             ps documentation [DOCDIR]

   其中:

     --perfix表示文件的安装目录

     --bindir和--sbindir表示二进制文件的安装路径

     --sysconfdir表示配置文件的安装路径

     --libdir表示库文件安装路径

     --includedir表示头文件的安装路径

     --mandir表示帮助文件的安装路径

     --htmldir表示网页文件的存放路径

  4.编译源码包,本文只设置文件的安装路径为/use/local/httpd,配置文件的安装路径为/etc/httpd/conf,其余选项为默认安装

1
[root@localhost httpd-
2.2
.
26
]# ./configure --prefix=/usr/local/httpd --sysconfdir=/etc/httpd/conf

  由于过程时间太长,本处不粘贴编译过程,如果没有出现error表示编译成功,如果出现error,请根据详细信息进行安装依赖包

  5.编译源码包生成的makefile文件

1
[root@localhost httpd-
2.2
.
26
]# make

  由于过程时间太长,本处不粘贴过程

 6.安装,即在指定的目录中生成指定的文件。

1
[root@localhost httpd-
2.2
.
26
]# make install

 7.启动httpd服务

1
2
[root@localhost bin]# ./apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain 
for 
ServerName

  安装完成以后,系统会在/usr/local/httpd/bin/apachectl文件,可以通过启动该文件来启动文件

三、验证

  1.通过查看80端口是否打开

1
2
[root@localhost ~]# netstat -ntl |grep 
80
tcp        
0      
0 
:::
80                       
:::*                        LISTEN

  2.通过网页的形式来查看,在httpd服务安装成功系统会指定生成一个网页文件

四、修改一些配置文件

1.修改环境变量,可以不进入httpd的安装文件即可通过apachectl来启动或关闭httpd

 1)只是当前系统生效  

1
[root@localhost ~]# PATH=$PATH:/usr/local/httpd/bin

 2) 重启以后也可生效,在/etc/profile.d/httpd.sh插入如下代码

1
2
3
4
5
[root@localhost bin]# vi /etc/profile.d/httpd.sh
PATH=$PATH:/usr/local/httpd/bin
export PATH
使配置文件立即生效
[root@localhost ~]# source /etc/profile.d/httpd.sh

  现在可以在任何目录下可通过apachectl来启动或关闭httpd

1
2
3
4
[root@localhost ~]# apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain 
for 
ServerName
[root@localhost ~]# apachectl stop
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain 
for 
ServerName

2.修改帮助文档,使可以通过man文档查看httpd的帮助,在/etc/man.config插入

1
2
[root@localhost ~]# vi /etc/man.config
MANPATH /usr/local/httpd/man

3.修改库文件,添加/etc/ld.so.conf.d/httpd.conf添加如下内容

1
2
[root@localhost ~]# vi /etc/ld.so.conf.d/http.conf
/usr/local/httpd/lib

 可以通过ldconfig更新库的缓存文件

4.修改系统的头文件,为http的头文件在/usr/include做软连接即可

1
[root@localhost ~]# ln -sv /usr/local/apache/
include 
/usr/
include
/httpd

 由于本人水平有限,如有错误,欢迎批评指正

本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1362406,如需转载请自行联系原作者

你可能感兴趣的文章
CheckBox:屏蔽setChecked方法对OnCheckedChangeListener的影
查看>>
java线程池
查看>>
UI面试内容
查看>>
Linux之RPM详解
查看>>
Windows Azure 常见问题及测试题
查看>>
flex DateChooser
查看>>
天天晚上打车--我对滴滴打车的想法
查看>>
由于MTU值设置不当造成的某些网站无法登录解决
查看>>
线程池
查看>>
聊聊高并发之隔离术
查看>>
JenKins 构建Github项目
查看>>
MySQL中from_unixtime与unix_timestamp差别
查看>>
LVS+KEEPALIVED实现高可用负载均衡架构
查看>>
Armadillo之行向量(row vector)
查看>>
搭建一个master对应2个slave
查看>>
Java 线程池的使用好处
查看>>
MySQL 双主 + keepalived 实现 HA
查看>>
FbinstTool最简单制作U盘启动ISO格式(金测)
查看>>
Android反射机制实现与原理
查看>>
浅谈大数据的标签管理
查看>>