在虚拟机中手工编译安装httpd

实验目的:通过手工编译方式,在虚拟机中的Red Hat6系统上安装httpd。
1、 将安装所需要的安装包通过共享文件或者其他方式复制一份到虚拟机中。这里我把安装包都放在/abc目录下。

在虚拟机中手工编译安装httpd
2、 将图上三个安装包都解压到/opt目录下。
tar xfvz apr-1.4.6.tar.gz -C /opt
tar xfvz apr-util-1.4.1.tar.gz -C /opt
tar xfvz httpd-2.4.2.tar.gz -C /opt/
在虚拟机中手工编译安装httpd在虚拟机中手工编译安装httpd在虚拟机中手工编译安装httpd

3、 这时候去/mnt文件下就有解压下来的三个文件。
在虚拟机中手工编译安装httpd

4、 将apr-1.4.6和arp-util-1.4.1复制并重新命名到httpd-2.4.2目录下的srclib目录中。
在虚拟机中手工编译安装httpd

5、 安装 gcc 、gcc-c++ 、make 、pcre、pcre-devel 这几个工具包。(前提是yum仓库已经创建好)其中gcc,gcc-c++是编译工具,make是将代码转化为二进制数据工具,pcre和pcre-devel是Perl库,支持正则表达式及开发包

在虚拟机中手工编译安装httpd
6、 然后到/opt/httpd-2.4.2目录中进行配置
./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi

在虚拟机中手工编译安装httpd

7、 配置过程中没有出现error就行,然后使用make工具,将数据转换成二进制数据。
在虚拟机中手工编译安装httpd

8、 转换成功后使用make install命令进行安装,没有报错即可。
在虚拟机中手工编译安装httpd
9、 将/usr/local/apache/bin/apachectl初始化脚本文件过滤掉其中注释信息后重新生成到/etc/init.d/httpd文件中。
在虚拟机中手工编译安装httpd
10、 然后在/etc/init.d/httpd用vim编辑器在开头出插入(这是脚本文件的固定格式)
#!/bin/sh
#chkconfig:2345 85 15
#description:Apache is a World Wide Web server.

在虚拟机中手工编译安装httpd
11、 查看文件的权限,因为这个文件要能够执行(变成绿色即可执行文件)

在虚拟机中手工编译安装httpd

12、 使用chkconfig工具将httpd服务添加到系统服务中,并设置为在级别3和5开机启动,(本机已经默认设置好,若未设置好,使用chkconfig --level 35 httpd on命令设置。)

在虚拟机中手工编译安装httpd

13、 建立软连接便于管理ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf

在虚拟机中手工编译安装httpd
14、 用vi编辑器修改/etc/httpd.conf文件。
Listen:192.168.1.11:80(本机的ip地址)
ServerName:主机名.域名(随意设置,最后可以到宿主机的host文件修改)

在虚拟机中手工编译安装httpd
在虚拟机中手工编译安装httpd
15、 关闭防火墙和SElinux服务,否则无法重启httpd服务。

在虚拟机中手工编译安装httpd

16、 重启httpd服务service httpd restart(在做的过程中可能会遇到80端口已经被占用的情况,可以用netstat -ntap查看80端口进程的PID号,使用kill -9 PID号来终结进程,在重启httpd服务即可)。在宿主机浏览器中输入192.168.1.11查看是否安装成功,如图所示。
在虚拟机中手工编译安装httpd

17、 在宿主机的C:\Windows\System32\drivers\etc目录下有hosts文件,使用记事本打开(也可以在其他目录下创建新的hosts文件将ip和域名加到hosts文件中,即可在浏览器输入域名访问)

在虚拟机中手工编译安装httpd