Linux实验报告-源代码编译安装Apache(Tarball文件安装)

Linux实验报告-源代码编译安装ApacheTarball文件安装)

实验背景:

通常GNU组织提供的程序包都是源代码格式,即将软件的所有源码文件先以tar打包,然后再使用gizp或是bzip2压缩,生成一个.tar.gz或是.tar.bz2结尾的软件包,也称为Tarball文件。

简单地说,Tarball文件即程序源代码编译安装通常需要如下三个步骤:./configure à make à make install

第一步:执行源代码路径下的configure脚本

        此步骤的目的是:a,检查编译环境是否完备;b,通过configure脚本选项使用户可以定制编译配置, --prefix=PATH 指定程序安装路径

第二步:make命令    # 自动执行编译

第三步:make install命令    #将编译好的程序放入指定的路径或默认路径下

实验目的:

了解Tarball文件安装步骤。

通过源代码编译安装Apache,并开启此服务。最后测试web服务是否开启。

实验环境:

VmwareWorkstation 9CentOS 6.4httpd-2.4.7.tar.gz

实验准备:

1,编译安装前需先确保系统的开发环境是否已配置,即需先安装如下三个包组:Development tools、Server Platform Development和Desktop Platform Development

2, httpd依赖于pcre的开发功能,所以需要事先安装上pcre-devel包

3,httpd还依赖于交心版本的apr和apr-util,所以实验前也需事先安装上此哼哈二将。否则,即会遇到本文最后的一些问题。

实验步骤:

1,下载Apache的主程序包httpd

(官网http://httpd.apache.org或是其它镜像网站下载)

2,解压出源程序,并进入源程序目录

wKiom1MKtkejW2AxAADzE9D0_lI765.jpg

在源程序目录下通常有INSTALLREADME等文件,在安装之前可以先查看一下这些文件。比如INSTALL文件记录了此程序的安装步骤,告知了完整的编译安装步骤参考网址:http://httpd.apache.org/docs/2.4/install.html

wKioL1MKtoajtXEJAAGusncSJ-g370.jpg

3,执行configure脚本,开始检查编译环境

wKiom1MKtvmBIbYBAAF9lcEQ-Vk084.jpg

正常执行结束,没有error信息即可

4,自动执行编译

[root@localhost httpd-2.4.7]# make

5,安装已编译完成的程序

[root@localhost httpd-2.4.7]# make install

默认是安装在 /usr/local/apache2/bin目录下

6,开启Apache服务

[root@localhost httpd-2.4.7]#/usr/local/apache2/bin/apachectl start

wKiom1MKt16ykIt_AAESu2UsQIo379.jpg

7,测试成功

wKioL1MKuL7C8gFOAABxEgLg8ZI661.jpg

web page的路径通常在 PREFIX/htdocs/.

实验中遇到的问题:

1Q:执行configure脚本时,异常退出,报错信息:configure: error: APR not found.Please read the documentation.

     A:查看Apache的编译安装说明(http://httpd.apache.org/docs/2.4/install.html),其中Requirements中指出安装Apache之前,系统上需安装APRAPR-Util。按照操作说明,下载APRAPR-Until源程序包,并解压缩至Apache源程序目录下的./srclib/apr  ./srclib/apr-util目录下。再次执行configure脚本即可顺利通过。(或者分别编译安装APRAPR-Util源程序包后也可以正常执行configure脚本)

2Q:执行configure脚本时,异常退出,报错信息:configure: error: pcre-config for libpcre not found. PCRE isrequired and availbe from http://pcre.org/

    A:同理,下载pcre源程序包,编译安装后,即可解决。

3Q:编译安装完成Apache并开启服务后,浏览器中输入http://locahost可验证成功,但是 http://本机IP 无法访问。

wKioL1MKuQnwZ2PhAACzSZ6JRRc271.jpg

    A:通过命令 serviceiptables stop临时禁用防火墙,即可正常访问。

(但是接下来即使再start iptables, 甚至apachectl stop此网页仍可访问,像是访问的是缓存,如何清除?)

 

你可能感兴趣的:(apache,源代码,web服务器,Tarball)