anpache

简介:

############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文件内容

wKiom1kcezGQM7YkAAC0ru5Q-4M788.png-wh_50

wKiom1kcevKQly3OAABia4YPxbs971.png-wh_50

wKiom1kcezGQDkG3AABSLuZtKw4218.png-wh_50

wKioL1kcevODTjOOAABgzdpXAQk776.png-wh_50


wKiom1kcevOx3_49AACBZL43tLk359.png-wh_50

二  修改默认发布目录
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
wKioL1kcevSAfhHwAADsLqBTobM084.png-wh_50
   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
wKiom1kcezLxzgcvAAE6IApL1C0509.png-wh_50

三  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>
wKioL1kcfNTSyxFPAADMv6RgJWA100.png-wh_50

wKiom1kcfNWi7Js_AACU34cUZ-4921.png-wh_50

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>

wKiom1kcfNaAQ0zKAACGVbW2rt8636.png-wh_50

wKioL1kcfNXRU8qeAABrD-ewR10490.png-wh_50

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>
wKioL1kcfNew-qsQAACtHplt5Dk082.png-wh_50

   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

wKiom1kcfNbw3_SAAADxVB_WpoA245.png-wh_50



wKioL1kcfNbjLcb1AABKxFcqRj4124.png-wh_50




wKiom1kcfNfTvmEkAABhlW34wRU425.png-wh_50

wKioL1kcfNiALO30AAEVn4fcFdA695.png-wh_50


四 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
wKioL1kcfjPSduVeAAFi_Z5fPHo692.png-wh_50   

  

    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
wKiom1kcfjOw7MZPAACGnbGAMeM604.png-wh_50
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.

wKioL1kcfjSQnFk7AACVa7cYWLg764.png-wh_50

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

wKiom1kcfjTBxa8qAACmi9aQYvo693.png-wh_50

[root@localhost ~]# systemctl restart httpd


wKioL1kcfjWwLSxLAAB0nKECPJY581.png-wh_50

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

   虚拟主机允许您从一个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

wKiom1kcgHjAB0ObAAC7PsDzpCM262.png-wh_50


二 创建虚拟主机配置文件

[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>   

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

wKioL1kcgHjAPaItAAA9ga6OWck476.png-wh_50

[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>

wKiom1kcgHjzK-zNAABmOkAvZQE492.png-wh_50

[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>

wKioL1kcgHqwd0sEAABnNvA2Z8o427.png-wh_50

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

wKioL1kcgHrBm2QpAACnFpkIJWk753.png-wh_50

三 测试

在浏览器主机中

vim /etc/hosts

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

访问www/news/money.westos.com

wKioL1kcgHngXzfqAABcLl4EINs104.png-wh_50

wKiom1kcgHmR7t7bAABcmCwkxyE133.png-wh_50


wKioL1kcgHvTRAnhAABau8Jv1iI027.png-wh_50


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

wKiom1kcgjCDtLeGAAEyt_1XPFg349.png-wh_50

一 自定义自签名证书

   如果加密的通信非常重要,而经过验证的身份不重要,管理员可以通过生成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)的位置

wKiom1kcgjGik7m1AACpFiZQZL4903.png-wh_50


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

wKioL1kcgjHRCDmiAACz6YMbr04858.png-wh_50

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

wKiom1kcgjKAbtq4AABau8Xg1yw793.png-wh_50

wKioL1kcg6CAPhdFAABmAegs19Y787.png-wh_50

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

wKiom1kcgjKTKi-TAACsmu9dg_U010.png-wh_50

      (5)拒绝加密私钥

wKioL1kcgjLypBiYAACeXYr6B2I908.png-wh_50

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

wKioL1kcgjTzob70AAClIn3xxrc404.png-wh_50


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

wKiom1kcg6CCHGGsAAC36qxriiA175.png-wh_50

   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

wKiom1kcg6DRGE9PAADLkgxIhMM422.png-wh_50

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

wKioL1kcgjTSiQXNAAE_gIMCdJo886.png-wh_50

   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


wKioL1kcg5_i1GETAAETZjWS2ng338.png-wh_50


对于Firefox,

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

“Add Exception” [ 添加例外]

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











本文转自 如何何如  51CTO博客,原文链接:http://blog.51cto.com/12778805/1926845,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
应用服务中间件 Shell PHP
Apache
Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
162 0
|
8月前
|
Shell Apache 开发工具
|
Apache
Apache Plusar社区资源总结
Apache Plusar社区资源总结
88 0
|
前端开发 Shell Apache
|
Apache 数据安全/隐私保护 网络协议
|
消息中间件 Apache
|
Apache 数据安全/隐私保护 Python

热门文章

最新文章