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

[经验分享] apache服务的高级配置

[复制链接]

尚未签到

发表于 2018-11-27 07:26:23 | 显示全部楼层 |阅读模式
apache服务是一个最常用的服务之一,以为现在人们获取信息的主要方式主要是通过
浏览网页,因此apache服务是服务中主要的一个应用。
首先apache服务主要的安装
源码安装或者rpm包安装
一下使用的是rpm安装的方式:
我这里使用本地的yum源安装
一、简单的安装和配置
#yum install httpd
#service httpd start //启动http服务
# echo "hello" > /var/www/html/index.html
然后在浏览器中输入http://IP地址就能看到一个默认的页面了
如果你做了一个本地缓存DNS的话,也可以使用域名直接访问
或者使用一下命令也能访问
#curl http://IP or #curl http://domain
#service httpd status //查看httpd的运行状态
#netstat -tnl | grep :80 //查看使用的端口号
#httpd -t or service httpd configtest 测试

apache多道处理模块
   perfork(进程模式:每一个用户独立的进程)
   worker(线程模式:开两个进程,用户在进程区域中开辟新的线程)
   redhat常使用prefirk
二、UserDir,用户可以访问自己家目录下的网站
   在家目录上给apache用户执行的权限,然后访问
   http://domain/~USERNAME就可以访问自己的家目录下的网站了
   #vim /etc/httpd/conf/httpd.conf
      UserDir enable redhat,student
      UserDir  public_html
   #mkdir /home/redhat/public_html
   #mkdir /home/student/public_html
   #echo "redhat userdir page test" >/home/redhat/public_html/index.html
   #echo "student userdir page test" >/home/student/public_html/index.html
   #setfacl -m u:apache:x /home/redhat
   #setfacl -m u:apache:x /home/student
   #setenforce 0 //关闭selinux
   在浏览器中输入http://domain/~redhat就可以访问redhat用户家目录下的网页了
三、Alias路径下的别名
   Alias /aa "/PATH/index.html"   
   然后通过http://domain/aa来访问网页
   #vim /etc/httpd/conf/httpd.conf
    Alias /ro "/www/web/"
   #mkdir -pv /www/web
   #echo "alias test page" >/www/web/index.html
   #setenforce0
   #service httpd restart
   在浏览器中输入http://domain/ro就能通过别名的方式访问
四、基于用户名认证的网站
   web认证的方式:文本文件,表单,mysql,ldap;加密方式有basic,md5
   通过设置认证网站,来增强网站的安全性,只有通过认证的的用户才有权限访问
   网站。
   具体步骤如下:
   #vim /etc/httpd/conf/httpd.conf
    添加如下内容
     
       AllowOverride Authconfig
       AuthName "Auth web"                     //提示信息
       AuthType basic                          //加密方式
       AuthUserFile /etc/httpd/conf/.webuser   //认证用户文件
       Require User user1                      //允许认证的用户
     
   #htpasswd -c -m /etc/httpd/conf/.webuser user1  //创建.webuser文件,添加用户
   输如新密码
   #htpasswd -m /etc/httpd/conf/.webuser user2  //添加用户
   输入新密码
   #setenforce 0
   如果想设置组认证,需要在文件中添加如下内容
    #vim /etc/httpd/conf/.webgrps
      mygrp: user1 user2 。。。
    #groupadd mygrp
      
       AllowOverride Authconfig
       AuthName "Auth web"                     //提示信息
       AuthType basic                          //加密方式
       AuthUserFile /etc/httpd/conf/.webuser   //认证用户文件
       AuthGroupFile /etc/httpd/conf/.webgrps
       Require group mygrp                      //允许认证的用户组
        
   由于我是借用上面的别名网站,所以直接在浏览器中输入http://domain/ro就会
   提示用户输入帐号和密码
   关于htpasswd的用法:
     htpasswd   创建apache认证用户的帐号和密码
         -c 创建
         -m 使用MD5加密
         -D 删除用户
五、虚拟主机
   1、基于端口的虚拟主机
      #vim /etc/httpd/conf/httpd.conf
        添加如下内容:
         
          DocumentRoot "/www/web/web1"
          ServerName  www.luowei.com
         
         
          DocumentRoot "/www/web/web2"
          ServerName  www.luowei.com
                    
       同时把DocumentRoot "/var/www/html"给注释掉
       #mkdir -vp /www/web/web{1,2}
       #echo "web1" > /www/web/web1/index.html
       #echo "web2" >/www/web/web2/index.html
       然后在浏览器中访问http://www.luowei.com:80和http://www.luowei.com:8080进行
       测试(注:我这做了DNS服务器,解析www.luowei.com)
   2、基于IP的虚拟主机
       #vim /etc/httpd/conf/httpd.conf
        添加如下内容:
         
          DocumentRoot "/www/web/web1"
          ServerName  www.luowei.com
         
         
          DocumentRoot "/www/web/web2"
          ServerName  www.luowei.com
                    
       同时把DocumentRoot "/var/www/html"给注释掉
       #mkdir -vp /www/web/web{1,2}
       #echo "web1" > /www/web/web1/index.html
       #echo "web2" >/www/web/web2/index.html
       #ifconfig eth0:0 192.168.1.103/24
       #ifconfig eth0:1 192.168.1.104/24
       然后在浏览器中输入http://192.168.1.103和http://192.168.1.104进行测试
   3、基于域名的虚拟主机
      假如我这里使用luowei.com和luowei.cn两个主机名
      那么一下的配置如下:
      NameServer *:80
       #vim /etc/httpd/conf/httpd.conf
        添加如下内容:
         
          DocumentRoot "/www/web/web1"
          ServerName  web1.luowei.com
         
         
          DocumentRoot "/www/web/web2"
          ServerName  web2.luowei.com
                    
       同时把DocumentRoot "/var/www/html"给注释掉
       #mkdir -vp /www/web/web{1,2}
       #echo "web1" > /www/web/web1/index.html
       #echo "web2" >/www/web/web2/index.html      
       #service httpd reload
      这样在浏览其中分别输入http://web1.luowei.com和http://web2.luowei.com进行测试
      如果你没有DNS服务器的话,可以在C:\Windows\System32\drivers\etc 添加解析名字
      格式如下:
      IP DOMAINNAME
      192.168.1.103 web1.luowei.com
      192.168.1.103 web2.luowei.com
      #httpd -S 查看使用的虚拟主机情况
六、cgi 通用网关接口  
      #vim /etc/httpd/conf/httpd.conf
      找到ScriptAlias  /cgi-bin/ "/var/www/cgi-bin/" 这是系统默认定义好的
      一个,cgi的位置。
      接下来就在上面的目录中创建一个a.cgi的脚本
      #cd /var/www/cgi-bin/
      #vim a.cgi
        #!/bin/bash
        echo -e "Content-type: text/html\n\n"
        
        echo "The current time is:`date`"
      #chmoe +x a.cgi
      然后在浏览器中输入http://192.168.1.103/cgi-bin/a.cgi测试
七、ssl实现https
      ssl机制应用到http支持https
      要想支持ssl现状模块mod_ssl
      #yum install mod_ssl
      创建一个ca
      #cd /etc/pki/CA
      #openssl genrsa 1024 > private/cakey.pem
      #chmoe 700 !$
      #vim /etc/pki/tls/openssl.cnf修改如下
       dir             = /etc/pki/CA  
      #openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
      #mkdir certs newcerts crl
      #touch index.txt
      #echo 01 > serial
      #cd /etc/httpd/conf/
      #mkdir ssl
      #cd ssl
      #(umask 077;openssl genrsa 1024 > httpd.key)
      #openssl req -new -key httpd.key -out httpd.csr  证书请求
      #
      #openssl ca -in httpd.csr -out httpd.crt -days 3650
      把上面生成的cacert.pem改名为cacert.crt并导入浏览器中
      “工具”-->Internet选项-->内容-->证书-->受信任的根证书颁发机构-->导入就行了
      #cd /etc/httpd/conf.d/
      #vim ssl.conf修改一下几项
        DocumentRoot "/www/web/web1"
        ServerName web1.luowei.com:443
        SSLCertificateFile /etc/httpd/ssl/httpd.crt
        SSLCertificateKeyFile /etc/httpd/ssl/httpd.key
      保存就可以了
      #httpd -S
      #netstat -ntul |grep :443查看端口是否启用
      然后在浏览器中输入https://www.luowei.com就可以访问网页了,可以看到网页上有 一个小锁,呵呵,这就是效果,如果不把ca的证书导入到浏览器中,在你打开网页的时候 会有个提示的。   




运维网声明 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-640026-1-1.html 上篇帖子: apache+tomcat集群 下篇帖子: CentOS 5.5下安装apache
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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