设为首页 收藏本站
查看: 712|回复: 0

[经验分享] Apache服务【手工编译安装】

[复制链接]

尚未签到

发表于 2018-11-21 10:36:00 | 显示全部楼层 |阅读模式
  

  简介:
  Apache HTTP Server 是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在web服务器领域中长期保持着超过半数的份额。Apache服务器可以运行在Linux 、Unix、Windows等多种平台。
  
  Apache的主要特点:
  1.开放源代码
  2.跨平台服务
  3.支持各种网页编程语言
  4.模块化设计
  5.运行非常稳定
  6.良好的安全性
  
  环境:RHEL6.2、
  一.Apache服务总览:
  1.端口:80(http) https(443)
  2.主配置文件(/etc/httpd/)
  3.主页存放路径为  /usr/local/apache/htdocs/index.html
  准备工作:
  关闭防火墙、SELinux,并能够和宿主机互联互通。
  

  

  二、配置思路:
  1.在宿主机创建文件夹,并把相关的压缩包放进去,进行共享;
  2.使用tar进行解压缩;
  3.将解压缩过的包,放入固定的目录中;
  4.所需要的软件包:gcc 、 gcc-c++  、 make  、 、pcre-devel
  5.使用手工编译安装;
  6.修改主配置文件;
  
  ##关闭防火墙和SELinux,并测试与宿主机的连通性。
  [root@server02 ~]# service iptables stop
  iptables:清除防火墙规则:                                 [确定]
  iptables:将链设置为政策 ACCEPT:filter                    [确定]
  iptables:正在卸载模块:                                   [确定]
  [root@server02 ~]# setenforce 0
  [root@server02 ~]# ping 192.168.100.111
  PING 192.168.100.111 (192.168.100.111) 56(84) bytes of data.
  64 bytes from 192.168.100.111: icmp_seq=1 ttl=64 time=0.167 ms
  64 bytes from 192.168.100.111: icmp_seq=2 ttl=64 time=0.321 ms
  
  ##在宿主机的桌面上创建文件夹LAMP,右击属性-单击共享,输入everyone,单击添加,给予权限读取、写入
DSC0000.jpg

  

  ##右击属性,选择高级共享-权限-添加-输入everyone-检查名称-单击确定-给予完全控制权限,就OK 了
DSC0001.jpg

  

  ##运行secpol.msc,打开本地安装策略,用户权限分配-拒绝从网络访问这台计算机中-删除来宾用户。
  ##注:(在此之前要开启来宾用户)
DSC0002.jpg

  

  ##在安全选择中,网络访问中,选择仅来宾。以上步骤完成后,就可以在Linux上进行访问了,
DSC0003.jpg

  

  [root@server02 ~]# smbclient -L //192.168.100.111  ##在Linux上查看Windows所共享的文件目录/LAMP
  Enter root's password:
  session request to 192.168.100.111 failed (Called name not present)
  Domain=[QIAN-PC] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]
  
  Sharename       Type      Comment
  ---------       ----      -------
  123             Disk      
  ADMIN$          Disk      远程管理
  C$              Disk      默认共享
  D$              Disk      默认共享
  E$              Disk      默认共享
  F$              Disk      默认共享
  G$              Disk      默认共享
  IPC$            IPC       远程 IPC
  LAMP            Disk      
  
  Users           Disk      
  session request to 192.168.100.111 failed (Called name not present)
  session request to 192 failed (Called name not present)
  session request to *SMBSERVER failed (Called name not present)
  NetBIOS over TCP disabled -- no workgroup available
  
  ##创建一个空目录名为lamp ,将Windows所共享的目录挂载到lamp目录中
  [root@server02 ~]# mkdir /lamp
  [root@server02 ~]# mount.cifs //192.168.100.111/LAMP /lamp
  Password:
  [root@server02 ~]#
  
  ##切换到lamp目录下,可以看到安装Apache所必须的压缩包,
  ##注:(压缩包放在LAMP中一起共享出去的)
  [root@server02 ~]# cd /lamp/
  [root@server02 lamp]# ls
  apr-1.4.6.tar.gz  apr-util-1.4.1.tar.gz  httpd-2.4.2.tar.gz
  
  ##使用命令tar进行解压缩,并指定解压后的路径为/opt下
  [root@server02 lamp]# tar zxvf apr-1.4.6.tar.gz -C /opt
  [root@server02 lamp]# tar zxvf httpd-2.4.2.tar.gz -C /opt
  [root@server02 lamp]# tar zxvf apr-util-1.4.1.tar.gz -C /opt
  [root@server02 lamp]# cd /opt
  [root@server02 opt]# ls
  apr-1.4.6  apr-util-1.4.1  httpd-2.4.2
  
  ##将apr和apr-util以解压过后的文件拷贝到httpd-2.4.2/srclib/,在进行编译
  [root@server02 opt]# cp -R apr-1.4.6/ /opt/httpd-2.4.2/srclib/apr
  [root@server02 opt]# cp -R apr-util-1.4.1/ /opt/httpd-2.4.2/srclib/apr-util
  [root@server02 opt]#
  
  ##挂载光盘到mnt目录下,
  [root@server02 opt]# mount /dev/sr0 /mnt  
  mount: block device /dev/sr0 is write-protected, mounting read-only
  ##使用命令切换到yum.repo.d/下,编辑abc.repo ,
  [root@server02 opt]# cd /etc/yum.repos.d/
  [root@server02 yum.repos.d]# vi abc.repo
  [abc]
  name=test
  baseurl=file:///mnt
  enabled=1
  gpgcheck=0
  
  ##完成后输入命令yum list,验证yum有没有安装成功,以下就是安装成功的模板,这字复制了一部分,仅供参考。
  [root@server02 yum.repos.d]# yum list
  Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
  Updating certificate-based repositories.
  abc                                                                      | 4.0 kB     00:00 ...
  abc/primary_db                                                           | 3.1 MB     
  00:00 ...
  
  ##在手工编译之前,首先要安装gcc gcc-c++ 环境,这里安装需要依赖性关系,所以使用yum 进行安装
  [root@server02 yum.repos.d]# yum install gcc -y
  [root@server02 yum.repos.d]# yum install gcc-c++ -y
  
  ##安装make包,系统一般都带你安装好的,可以是rpm 进行查看,如果没有进行安装,你懂得。
  [root@server02 yum.repos.d]# rpm -q make
  make-3.81-19.el6.x86_64
  ##安装pcre-devel包,这个包是根据系统的,比如系统是64位的,就安装64位的包
  [root@server02 yum.repos.d]# rpm -ivh /mnt/Packages/pcre-devel-7.8-3.1.el6.x86_64.rpm
  warning: /mnt/Packages/pcre-devel-7.8-3.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
  Preparing...                ########################################### [100%]
     1:pcre-devel             ########################################### [100%]
  [root@server02 yum.repos.d]#
  
  ##切换到opt下的http-2.4.2/,使用./configure 进行配置
  [root@server02 yum.repos.d]# cd /opt/httpd-2.4.2/
  [root@server02 httpd-2.4.2]# ./configure \
  > --prefix=/usr/local/apache \  ##指定将httpd服务程序安装到那个目录,如/usr/local/apache;
  > --enable-so \   ##启用动态加载模块支持,使httpd具备进一步扩展功能的能力;
  > --enable-rewrite \  ##启用网页地址重写功能,用于网站优化及目录迁移维护;
  > --enable-mods-shared=most \  ## 明确指明要以DSO方式编译的模块,为空格分隔的模块名列表、all或者mostall表示包含所有模块most表示包含大部分模块
  > --with-mpm=worker \  ##先择Apache多路处理模块,={beos|event|worker|prefork|mpmt_os2}preforkUnix系统下默认处理模块,它将运行一个非线程型的、预派生的Web服务器,适合于没有线程安全库,需要避免线程兼容性问题的系统,它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。
  > --disable-cgid \
  > --disable-cgi  ##启用CGI脚本程序支持,便于扩展网站的应用访问能力。
  
  ## 完成配置后,执行“make”进行编译,将源代码转换为可执行的程序;然后执行“make install”完成最后的安装过程。(其中make的过程可能需要较长的时间)
  [root@server02 httpd-2.4.2]# make
  [root@server02 httpd-2.4.2]# make install
  
  
  ## 这里请注意一下!如果Linux服务器上默认安装了httpd的话(rpm -qa|grep httpd查看)
  ## 会有 /etc/init.d/httpd 这个脚本文件的,所以你也可以用以下方法直接生成这个文件来覆盖它
  ## 那么下次就可以用 service httpd start 来启动了
  ## 如果需要区分开来的话就使用下面的方式
  ## 首先以apachectl脚本为模板生成httpd服务控制脚本:
  [root@server02 httpd-2.4.2]# grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd
    ##vi编辑Apache服务控制脚本/etc/init.d/httpd
  [root@server02 httpd-2.4.2]# cd /etc/init.d/
  [root@server02 init.d]# vi httpd
   ## 在文件最前面插入下面的行,使其支持chkconfig命令:
  #!/bin/sh
      # chkconfig:2345 85 15
# description:Apache is a World Wide Web server.


## 保存后退出vi编辑器,执行下面的命令增加httpd服务控制脚本执行权限
[root@server02 init.d]# chmod +x /etc/init.d/httpd
## 执行下面的命令将http的服务加入到系统服务:
[root@server02 init.d]# chkconfig --add httpd
##  执行下面的命令检查httpd服务的状态
[root@server02 init.d]# chkconfig --list httpd
httpd          0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭
## 执行下列命令将开启http的3、5级别
[root@server02 init.d]# chkconfig --level 35 httpd on
[root@server02 init.d]# cd /usr/local/apache/conf/
[root@server02 conf]# vim httpd.conf

Listen 192.168.100.20:80 ##设置服务器监听的IP和端口
#Listen 80

ServerName server02.benet.com  ##设置服务器用于辨识自己的主机名和端口号(用IP代替)。
ServerName server02.benet.com:80 [root@server02 conf]# service httpd start   ##启动httpd服务

  
##完成后在宿主机上进行访问:
  

DSC0004.jpg

[root@server02 conf]# cat /usr/local/apache/htdocs/index.html  ##主页存放路径
It works!
  

  

  有脚本哦!


附件:http://down.51cto.com/data/2365814


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-637669-1-1.html 上篇帖子: lamp学习备忘1 下篇帖子: svn+apache配置多版本库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表