首页 > 代码库 > Apache

Apache

1.安装

   yum install httpd -y 

   systemctl start httpd

   systemctl enable httpd

   systemctl stop firewalld

   systemctl disable firewalld

技术分享

  2.Apache信息

   index.html  ##默认发布文件

   /etc/httpd/conf/httpd.conf  ##默认配置文件

   /etc/httpd/conf/*.conf 

   /var/www/html  ##默认发布目录

   80    ##Apache默认端口

  3.基本配置

  (1)vim /etc/httpd/conf/httpd.conf ##修改默认发布文件

技术分享

  4.修改默认发布目录

     **selinux状态为disabled

     vim /etc/httpd/conf/httpd.conf ##修改默认发布目录

技术分享

     **selinux状态为enforcing

     vim /etc/httpd/conf/httpd.conf ##修改默认发布目录

技术分享 

  

    semanage fcontext -a -t httpd_sys_content_t ‘/westos(/.*)?‘  ##配置安全上下文

    restorecon -RvvF /westos/

    systemctl restart httpd.service   ##重启服务



     mkdir  /westos/www/tset -p   ##新建默认发布目录

     vim /westos/www/tset/westos.html  ##新建默认发布文件


    **测试


  5.控制访问

    vim /etc/httpd/conf/httpd.conf

   **允许除了74主机的任何主机访问

技术分享

  

    测试

   74主机


   其他主机


   **只允许74主机访问

技术分享


   测试

    74主机


   其他主机


   设定用户访问

   htpasswd -cm /etc/httpd/accessuser admin  ##设置用户admin和密码

技术分享

   vim /etc/httpd/conf/httpd.conf   ##修改配置文件

技术分享

技术分享

  <Directory "/var/www/html/admin">

         AuthUserFile /etc/httpd/accessuser  ##用户认证文件

         AuthName "input name and password"  ##用户认证提示信息

         Authtype basic              ##认证类型

         Require valid-user   ##用户认证,认证文件里所有用户都可以访问

           [ Require user admin ]  ##只允许admin用户

 </Directory>


    测试



   6.Apache语言支持

     *HTML语言默认支持

     *PHP语言

      yum install php -y  ##安装PHP服务


      vim /var/www/html/index.php  ##写PHP测试


  测试


   *CGI语言

     mkdir /var/www/html/cgi ##创建默认发布目录

     vim  index.cgi    ##编写默认发布文件

技术分享

   内容

技术分享

     chmod +x index.cgi   ##给文件可执行权限

技术分享

     vim /etc/httpd/conf/httpd.conf

技术分享

  

    systemctl restart httpd   ##重启服务

    selinux 设置为disabled

    测试


   7.Apache虚拟主机

    *可以让一台Apache服务器在访问不同域名的时候显示不同主页

    *建立测试页

技术分享

    *配置

    (1)vim /etc/httpd/conf.d/default.conf  ##未指定的域名访问default

技术分享 

    **内容

技术分享

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

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

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

   </Virtualhost>

    (2)vim /etc/httpd/conf.d/new.conf  ##指定域名new.westos.com访问指定默认目录

     vim /etc/httpd/conf.d/money.conf  ##指定域名money.westos.com访问指定默认目录

    **内容

技术分享

技术分享

   

   * <Virtualhost *:80>

       ServerName "new.westos.com"

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

       CustomLog "logs/new.log" combined

     </Virtualhost>

     <Directory  "/var/www/virtual/new.westos.com/html">   ##默认发布目录访问

      Require all granted

     </Directory>

   测试

   vim /etc/hosts  ##配置解析



   8.HTTPS

    (1)Hyper Text Transfer Protocol over Secure Socket Layer HTTP下加入SSL层

          (2)配置

           yum install mod_ssl crypto-utils -y  ##安装服务

    genkey www.westos.com  ##生成密钥和密匙

技术分享

技术分享

   *生成证书位置

技术分享

   **选择密钥大小

技术分享

技术分享

   **生成随机数

技术分享

   **拒绝向ca发送CSR

技术分享

   **拒绝加密私钥

技术分享

   **为服务器提供合适身份

   (3)vim /etc/httpd/conf.d/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/private/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>

     * ^(/.*)$    客户主机在地址栏中写入所有字符 测试中的login.westos.com

     * https://    定向成为访问协议

     *%{HTTP_HOST}  客户请求主机

     *$1         表示^(/.*)$ 

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

    测试

    mkdir /var/www/virtual/login.westos.com/html -p  ##新建测试目录

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

技术分享

    vim /etc/hosts  ##配置解析

技术分享

Apache