源码安装程序包

简介:

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

一、环境准备

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

   源码包下载:可以通过wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.2.26.tar.gz

   系统环境:可以通过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服务安装成功系统会指定生成一个网页文件

wKiom1MJ_FbSTswMAAGrlpPa4lA794.bmp

四、修改一些配置文件

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,如需转载请自行联系原作者

相关文章
|
网络安全 数据安全/隐私保护
Cloudify-安装(4.5.0)
Cloudify安装文档
362 0
Cloudify-安装(4.5.0)
|
1月前
|
Shell 网络安全 开发工具
gitbash 安装与使用
gitbash 安装教程
27 1
|
5月前
|
Linux Go iOS开发
安装 Wails
安装 Wails
|
6月前
|
Apache Windows
MapServer安装
MapServer安装
74 1
|
6月前
|
Kubernetes Linux Docker
k8s安装
kubeadm 方式安装K8S集群
282 0
|
11月前
|
Kubernetes 搜索推荐 Ubuntu
002_安装k8s
002_安装k8s
139 0
WinDriver 安装
WinDriver 安装
131 0
|
Windows
安装
安装
132 0
|
弹性计算 Shell 开发工具
RODPS介绍以及安装
RODPS介绍以及安装
2112 0
下一篇
无影云桌面