实验要求:手工编译安装Apache
实验步骤:
服务器(Redhat6)地址:192.168.4.2
客户机(Win7)地址:192.168.4.5
客户机设置LAMP文件夹共享,安装文件在LAMP文件夹中
mount.cifs //192.168.4.5/LAMP /opt/lamp //将LAMP文件夹挂载到服务器中的lamp目录中
smbclient -L 192.168.4.5 查看已经共享到的LAMP文件夹
tar xzvf httpd-2.4.2.tar.gz -C /opt/http 将主程序httpd解压到http目录中
tar xzvf apr-1.4.6.tar.gz -C /opt/http 将附加程序解压到http中
tar xzvf apr-util-1.4.1.tar.gz -C /opt/http
cp -R apr-1.4.6.tar.gz /opt/http/httpd-2.4.2/srclib/apr 将归档包复制到相应的目录下
cp -R apr-util-1.4.1.tar.gz /opt/http/httpd-2.4.2/srclib/apr-util
安装httpd之前要安装apr和apr-util否则会报错not found
cd /opt/http/apr-1.4.6 一定要切换到该程序的源代码目录中执行配置否则报错
./configure --prefix=/usr/local/apr 指定安装路径(这个路径一定要已存在的)
make
make install
cd /opt/http/apr-util-1.4.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
cd /opt/http/httpd-2.4.2
./configure \
--prefix=/usr/local/apache \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr-util/bin/apu-1-config \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi
如果检查安装的时候会提示error,原因可能是缺少gcc,gcc-c++,pcre(pcre有2个包,一个基本包还有一个devel包,都要安装)
创建yum仓库
cd /etc/yum.repo.d/
vi httpd.repo 为安装缺少的软件创建一个新的yum
[httpd] #文件名
name=httpd #仓库命名描述
baseurl=file:///mnt #定义安装包路径
enabled=1 #开启用户仓库
gpgcheck=0 #不检查软件KEY
:wq #保存退出
进入/mnt/Packages中yum install XXX(gcc等) -y安装(摆脱依赖性关系的安装)
这些都安装成功之后,再次进入httpd-2.4.2目录下继续上一步检查安装,没有error则可以继续make,make install
验证安装成功可以ls /usr/local/Itapache可以看到各种已经安装好的子目录
添加httpd系统服务
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd 将apachectl脚本复制为/etc/init.d/httpd
vi /etc/init.d/httpd 在文件最前面插入下面的行
#!/bin/sh
# chkconfig:35 85 15 设置服务启动级别,3,5中启动
# description:Apache is a World 保存退出
ls -ld /etc/init.d/httpd 查看这个文件的权限,如果没有执行权限,则需要添加
chmod +x /etc/init.d/httpd
chkconfig --add httpd 添加httpd系统服务
chkconfig --list httpd 可以看到httpd服务的启动状态,3,5开启
vi /usr/local/apache/conf/httpd.conf 配置httpd服务
找到并设置以下两行内容
Listen:80
Servername:www.benet.com
service httpd start 启动httpd服务
netstat -anpt 可看到已监听80端口
在客户机(192.168.4.5)浏览器中输入服务器网址,则会显示web站点的页面内容It works!
如果输入www.benet.com则还需要对服务器的DNS服务做配置:配置/etc/hosts,/etc/resolv.conf,/var/named/benet.com.zone文件
另外还需要配置关闭防火墙service iptables stop和setenforce 0 将客户机的首选DNS配置为192.168.4.2
关于怎样配置DNS网络服务将在另外一篇文档中详细描述。
ps:在安装Apache的过程中有可能会出现各种意想不到的错误,一定要沉着冷静的分析错误提示,并且查看系统日志寻求解决方法