码迷,mamicode.com
首页 > 其他好文 > 详细

anpache

时间:2017-05-18 09:45:38      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:http

############anpache的安装##########
 
yum install httpd -y                        ##安装 httpd 安装包
systemctl start httpd.service              ##开启httpd服务
systemctl enable httpd
systemctl stop firewalld.service             ##关闭火墙
systemctl disable firewalld
############anpache的信息##########
1 anpache的默认发布文件
  index.html
2 anpache的配置文件
  (1)/etc/httpd/conf/httpd.conf ##主配置文件

  Apache主配置文件:/etc/httpd/conf/httpd.conf
           ServerRoot"/etc/httpd" 用于指定Apache的运行目录
           Listen 80 监听端口
           User apache 运行apache程序的用户和组
           Group apache
           ServerAdmin root@localhost 管理员邮箱
           DocumentRoot"/var/www/html" 网页文件的存放目录
           <Directory"/var/www/html"> <Directory>语句块自定义目录权限
            Require all granted
           </Directory>
          ErrorLog "logs/error_log" 错误日志存放位置
           AddDefaultCharset UTF-8 默认支持的语言
           IncludeOptional conf.d/*.conf 加载其它配置文件
           DirectoryIndex index.html 默认主页名称
  (2)/etc/httpd/conf/*.conf     ##子配置文件
3 anpache的默认发布目录
  /var/www/html
4 anpache的默认端口
  80

############anpache的基本配置##########
 
一  修改默认发布文件
  (1)vim /etc/httpd/conf/httpd.conf
 
    164     DirectoryIndex westos.html  ##修改默认发布文件
  (2) systemctl restart httpd

   81 cd /var/www/html  ##进入 /var/www/html 
   82 vim index.html    ##写默认发布文件内容
   83 ls                
   84 vim westos.html   ##写westoe文件内容
   85  vim /etc/httpd/conf/httpd.conf ###修改默认发布文件
   86 systemctl restart httpd   ###重启httpd服务
   87 ls
   88 ll
   89 rm -fr westos.html    ##删除westos文件内容

技术分享

技术分享

技术分享

技术分享


技术分享

二  修改默认发布目录
1   ####当selinux是disabled状态

  (1) vim /etc/httpd/conf/httpd.conf  ###修改默认发布目录
    
     120 DocumentRoot"/westos/www/test"
     121 <Directory"/westos/www/test">
     122         require all granted
     123 </Directory>
   (2) systemctl restart httpd
技术分享
   90 cd
   91 mkdir /westos/www/test -p  ###建立新目录
   92 vim /westos/www/test/westos.html##在新目录下创建新文件
   93  vim /etc/httpd/conf/httpd.conf ###修改默认发布目录及文件
   94 systemctl restart httpd   ###重启httpd服务
   95 getenforce                ###查看selinux状态

2  ###当selinux是disabled状态

(1) vim  /etc/httpd/conf/httpd.conf  ###修改默认发布目录
    
     120 DocumentRoot"/westos/www/test"
     121 <Directory"/westos/www/test">
     122         require all granted
     123 </Directory>
 (2) systemctl restart httpd
 (3) semanage fcontext -a -thttpd_sys_content_t ‘/westos(/.*)?‘
    ###修改安全上下文
 (4)restorecon -RvvF /westos
    ####更新安全上下文


   12 getenforce   ###查看selinux状态
   13 mkdir /westos/www/test -p
   14 vim /westos/www/test/westos.html
   15 vim /etc/httpd/conf/httpd.conf
   16 systemctl restart httpd
   17 cd /westos/www/test/
   18 ls -z
   19 ls -Z
   20 semanage fcontext -a -t httpd_sys_content_t ‘/westos(/.*)?‘
   21 restorecon -RvvF /westos
   22 ls -Z
技术分享

三  anpache的访问控制
1 vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">  ###允许所有人访问sdmin,但拒绝144主机
     Order Allow,deny
     Allow from All
     deny from 172.25.254.144
</Directory>
技术分享

技术分享

2 vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">  ###只允许144主机访问
     Order deny,Allow
     Allow from 172.25.254.144
     deny from All
</Directory>

技术分享

技术分享

3 设定用户访问
 htpasswd -cm /etc/httpd/accessuseradmin  ###设定用户访问
 vim /etc/httpd/conf/httpd.conf       
<Directory "/var/www/html/admin">
     AuthUserFile/etc/httpd/accessuser   ##用户认证文件
     AuthName "please input your name andpassword !!"##用户认证提示信息
     AuthType basic  ###用户类型
     Require valid-user ###认证用户,认证文件中所有用户可以访问
    [Require user admin]  ###只允许认证文件中的admin用户访问,
    二写一(最后两行)
</Directory>
技术分享

   35 cd /etc/httpd
   36 ls
   37 htpasswd -cm /etc/httpd/accessuser admin
   38 cat  /etc/httpd/accessuser
   39 htpasswd -cm /etc/httpd/accessuser tom
   40 cat  /etc/httpd/accessuser
   41 vim /etc/httpd/conf/httpd.conf
   42 systemctl restart httpd

技术分享



技术分享




技术分享

技术分享


四 anpache语言支持 ---php html cgi
1 html语言 默认支持
2 php语言

   (1)vim index.php   

    <?php
            phpinfo();
    ?>
  (2)yum install php -y
  (3)systemctl restart httpd
 
测试
    访问http://172.25.254.144/index.php
技术分享   

  

    9 cd /var/www/html
   10 vim index.php
   11 cd /etc/httpd/conf.d/
   12 ls
   13 vim php.conf
   14 yum install php -y
   15 history
技术分享
3 cgi语言
[root@localhost ~]# mkdir /var/www/html/cgi
[root@localhost ~]# cd /var/www/html/cgi
[root@localhost cgi]# ls
[root@localhost cgi]# vim index.cgi
         #!/usr/bin/perl
        print "content-type: text/html\n\n";
         print "hello,word.";


[root@localhost cgi]# perl index.cgi
content-type: text/html

hello, word.
[root@localhost cgi]# vim index.cgi
[root@localhost cgi]# chmod +x index.cgi
[root@localhost cgi]# ./index.cgi
content-type: text/html

hello, word.

技术分享

[root@localhost cgi]# cd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
       <Directory"/var/www/html/cgi">
            options +ExecCGI
            AddHandler cgi-script.cgi
       </Directory> 

技术分享

[root@localhost ~]# systemctl restart httpd


技术分享

 ############# 虚拟主机###############

   虚拟主机允许您从一个httpd服务器同时为多个网站提供服务。在本节中,我们将了解基于名称的虚拟主机其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不同内容的不同网站。


一 建立网页发布目录

    1  cd /var/www

    2  mkdir virtual

    3  ls

    4  mkdir virtual/news.westos.com -p

    5  mkdir virtual/money.westos.com -p

    6  mkdir virtual/money.westos.com/html -p

    7  mkdir virtual/news.westos.com/html -p

    9  echo "news" > virtual/news.westos.com/html/index.html 

   10  echo "money" > virtual/money.westos.com/html/index.html 

   11  history

技术分享


二 创建虚拟主机配置文件

[root@localhost www]# cd /etc/httpd/conf.d/ ###进入配置文件的上级目录

[root@localhost conf.d]# vim default.conf   ###未指定域名的访问都访问default


      <Virtualhost   _default_:80> ##虚拟主机开启的端口

            DocumentRoot "/var/www/html" ##虚拟主机的默认发布目录

            CustomLog "logs/default.log" combined ##虚拟主机日志

      </Virtualhost>   

    (没有默认发布目录的访问授权: 主配置文件已经授权)

技术分享

[root@localhost conf.d]# vim news.conf ##指定域名news.westos.com的访问到指定默认发布目录


       <Virtualhost  *:80> ##虚拟主机开启的端口

            ServerName "news.westos.com"  ##服务器域名

            DocumentRoot "/var/www/virtual/news.westos.com/html"

               ##虚拟主机的默认发布目录

            CustomLog "logs/news.log" combined ##虚拟主机日志  

       </Virtualhost>

       <Directory "/var/www/virtual/news.westos.com/html">

                   默认发布目录的访问授权

            Require all granted

       </Directory>

技术分享

[root@localhost conf.d]# cp news.conf money.conf

[root@localhost conf.d]# vim money.conf

 

   <Virtualhost  *:80>

            ServerName "money.westos.com"

            DocumentRoot "/var/www/virtual/money.westos.com/html"

            CustomLog "logs/money.log" combined

</Virtualhost>

<Directory "/var/www/virtual/money.westos.com/html">

          Require all granted

</Directory>

技术分享

[root@localhost conf.d]# systemctl restart httpd

技术分享

三 测试

在浏览器主机中

vim /etc/hosts

172.25.254.144 www.westos.com news.westos.com money.westos.com

访问www/news/money.westos.com

技术分享

技术分享


技术分享


############配置HTTPS#################

技术分享

一 自定义自签名证书

   如果加密的通信非常重要,而经过验证的身份不重要,管理员可以通过生成self-

signed certificate来避免与认证机构进行交互所带来的复杂性。

   使用genkey实用程序(通过crypto-utils软件包分发),生成自签名证书及其关联的

私钥。为了简化起见,genkey将在“正确”的位置(/etc/pki/tls目录)创建证书及其关联的密钥。相应地,必须以授权用户(root)身份运行该实用程序。

   ####生成自签名证书####

1. 确保已安装crypto-utils软件包。

[root@server0 ~]# yum install crypto-utils mod_ssl

2. 调用genkey,同时为生成的文件指定唯一名称(例如,服务器的主机全名)。

--days可以指定证书有效期

[root@server0 ~]# genkey server0.example.com

      (1)记录生成的证书(server0.example.com.crt)和关联的私钥(server0.example.com.key)的位置

技术分享


      (2)继续使用对话框,并选择合适的密钥大小。

技术分享

      (3)在生成随机数时比较慢,敲键盘和移动鼠标可以加速

技术分享

技术分享

      (4)拒绝向认证机构(CA)发送证书请求(CSR)。

技术分享

      (5)拒绝加密私钥

技术分享

      (6)为服务器提供合适的身份。Common Name必须与服务器的主机全名完全匹  配。(注意,任何逗号都应使用前导反斜线[\]进行转义)

技术分享


   1 yum install mod_ssl -y  ## 安装mod_ssl软件包生成自签名证书

技术分享

   2 yum install crypto-utils -y ##安装crypto-utils软件包

   3 genkey www.westos.com  ##调用

   4 mkdir /var/www/virtual/login.westos.com/html -p ###建立目录

   5 vim /var/www/virtual/login.westos.com/html/index.html

   6 vim /etc/httpd/conf/login.conf

技术分享

   7 vim /etc/httpd/conf/ssl.conf

技术分享

   8 systemctl restart httpd


vim /etc/httpd/conf/login.conf

 <Virtualhost *:443>

    ServerName login.westos.com

    DocumentRoot "/var/www/virtual/login.westos.com/html"

    CustomLog "logs/login.log" combined

    SSLEngine on  ###开始https功能

    SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt##证书

    SSLCertificateKeyFile /etc/pki/tls/certs/www.westos.com.key###密钥

</Virtualhost>

<Directory "/var/www/virtual/login.westos.com/html">

        Require all granted

</Directory>

<Virtualhost *:80>  ###网页重写实现自动访问https

            ServerName login.westos.com

            RewriteEngine on

            RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

</Virtualhost>   

^(/.*)$   ##客户主机在地址栏中的的所有字符

 https:// ##定向成为的访问协议

%{HTTP_HOST} ###客户请求主机

$1          ##^(/.*)$ 的值

[redirect=301] ###临时重定向 302永久重定向

测试:

   在客户主机中添加解析

   vim /etc/hosts

172.25.254.144 login.westos.com

访问:http://login.westos.com

https://login.westos.com


技术分享


对于Firefox,

请选择“I Understand the Risks” [我了解风险]、

“Add Exception” [ 添加例外]

“Confirm Security Exception”[确认安全例外]


anpache

标签:http

原文地址:http://12778805.blog.51cto.com/12768805/1926845

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!