xuol001 发表于 2018-11-22 07:43:15

源码编译安装Apache服务

  实验要求:手工编译安装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 -Rapr-1.4.6.tar.gz /opt/http/httpd-2.4.2/srclib/apr 将归档包复制到相应的目录下
  cp -Rapr-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
  

  #文件名
  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的过程中有可能会出现各种意想不到的错误,一定要沉着冷静的分析错误提示,并且查看系统日志寻求解决方法
  




页: [1]
查看完整版本: 源码编译安装Apache服务