更换网站主页目录

1.在httpd.conf文件中更改documentroot为新的路径,并为其相应的路径给与相应的权限。

Documentroot "/www/http"
<Directory "/www/http">
        Allowoverride None
        Require all granted
</Directory>

2.创建上面的相应路径

[root@localhost ~]# mkdir /www/http/

3.在相应的路径中创建一个主页文件,主页文件名格式与主配置文件中给出的格式相对应,或者在主配置文件中添加也可以

<IfModule dir_module>     #这个是主配置文件中匹配网站首页的模块
    DirectoryIndex index.html index.htm #这个index.htm是我后来加的
</IfModule>

[root@localhost ~]# echo "中心主机配置" > /www/http/index.html

4.网站更换完首页打不开或者还是显示欢迎页的话要关闭selinux

[root@localhost ~]# setenforce 0

开放个人主页

1.在主配置文件中添加相对应的模块

<IfModule mod_userdir.c>       #添加这个模块配置信息
        UserDir enable               #开启个人网页功能
        UserDir public         #这个是个人网页存放在每个人家目录下哪个文件夹内
</IfModule>
<Directory "/home/*/public">   #对个人网页的限制
        AllowOverride None
        Require all granted
</Directory>

2.对应上面的路径,在每个人的家目录下创建public文件夹,并添加一个相应的首页

[root@localhost ~]# mkdir /home/admin/public
[root@localhost ~]# echo "admin主页" > /home/admin/public/index.html

 对某目录增加密码访问

1.建立密码文件

[root@localhost conf]# htpasswd -c /etc/httpd/password admin   #-c代表新建
New password:
Re-type new password:
Adding password for user admin
[root@localhost conf]# htpasswd /etc/httpd/password lee    #再建一个用户
New password:
Re-type new password:
Adding password for user lee

2. 编辑配置文件

<Directory "/var/www/public">                #在某个限制文件内添加
    Options None
    AllowOverride None
    authuserfile "/etc/httpd/password"     #指定密码文件
    authname "need password"              #密码框提示内容
    authtype basic                         #基本认证类型
    require user admin                    #刚刚添加的两个用户,这里只允许admin登陆
</Directory>

 基于主机名的虚拟主机

1.在conf.d目录下新建一个虚拟主机的文件,以.conf结尾

<virtualhost 172.17.148.255>
       Documentroot "/www/a"
       servername www.a.com
<directory "/www/a">
       allowoverride none
       require all granted
</directory>
</virtualhost>

<virtualhost 172.17.148.255>
        Documentroot "/www/b"
        servername www.b.com
<directory "/www/b">
        allowoverride none
        require all granted
</directory>
</virtualhost>

<virtualhost 172.17.148.255>
        Documentroot "/www/c"
        servername www.c.com
<directory "/www/c">
        allowoverride none
        require all granted
</directory>
</virtualhost>

2.新建对应的目录及首页

[root@localhost httpd]# ls /www/{a,b,c}
/www/a:
index.html

/www/b:
index.html

/www/c:
index.html

 基于端口号的虚拟主机

1.同样在conf.d目录下创建虚拟主机文件,以.conf结尾

<virtualhost 172.17.148.255:8088>
        Documentroot "/www/b"
        servername www.b.com
<directory "/www/b">
        allowoverride none
        require all granted
</directory>
</virtualhost>

<virtualhost 172.17.148.255:8089>
        Documentroot "/www/c"
        servername www.c.com
<directory "/www/c">
        allowoverride none
        require all granted
</directory>
</virtualhost>

2.在主配置文件conf/http.conf中添加监听端口

Listen 80
Listen 8088
Listen 8089

 网页的访问控制

在需要限制访问的页面路径下添加策略

<Directory "/www/http/acl">                #针对这个目录的限制
        Allowoverride NONE
        options NONE
        require all denied                      #拒绝所有人
        require all granted                     #允许所有人
        require ip 172.17.148.112          #允许单个ip
        require ip 172.16 172.18            #允许172.16和172.18地址段
        require no ip 172.17.148.112      #拒绝单个ip
<Files "xianzhi.htm">                         #针对上面那个目录内,限制这个文件的访问
        require all denied
       require ip 172.17.148.112
</Files>
<Files "*.avi">                                 #针对上面那个目录,限制以.avi结尾的文件
        require all denied
</Files>
</Directory>

<Files "xianzhi.htm">                       #因为不在目录的限制内,所以这是限制任何目录下的这个文件
       require all denied
       require ip 172.17.148.112
</Files>

显示Apache服务器状态

在主配置文件中添加

<Location /server-status>                    #代表在根下添加server-status,这里的字符串是随意的,在网页中打开时相对应路径就行
        sethandler server-status
        require all denied                        #因为状态信息属于重要文件
        require ip 172.17.148.112            #所以只能有权限的人才能访问
</Location>

开始https服务

1.向CA申请证书,方便起见在httpd下新建个ssl目录,将证书和私钥都放在ssl里。申请证书参考https://www.cnblogs.com/forlive/p/9134486.html

[root@localhost httpd]# ls /etc/httpd/ssl/
httpd.crt  httpd.key

2.安装ssl模块

[root@localhost httpd]# yum install mod_ssl -y

3.安装完成后,会在conf.d下生成一个ssl.conf的子配置文件

[root@localhost httpd]# ls /etc/httpd/conf.d/
autoindex.conf  php.conf  README  ssl.conf  userdir.conf  welcome.conf

4.编辑ssl.conf文件,最简单需要修改的地方就是下面几个,其他都默认即可

DocumentRoot "/var/www/html"           #设置主目录
ServerName www.example.com:443     #设定主机名
SSLEngine on                           #开启ssl功能
SSLCertificateFile /etc/httpd/ssl/httpd.crt    #指明刚刚申请的证书
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key   #指明证书的私钥

5.浏览器测试https即可

httpd2.4的更多相关文章

  1. 基于centOS6.7搭建LAMP(httpd-2.4.18+mysql-5.5.47+php-5.6.16)环境

    首先确保系统可以联网.设置IP地址以及虚拟机安装linux在此略过.本文采用centos6.7 64位minimal版.php5.6.16.httpd-2.4.18.mysql-5.5.47版搭建la ...

  2. httpd-2.2 配置及用法完全攻略

    导读 apache是一款稳定的流行的web软件,是linux操作系统中默认的web管理软件.在RHEL/Centos系列中可以用rpm直接进行安装,服务名为httpd.apache有很多设置和调优 的 ...

  3. Lamp 安装(CentOS6.6, php-5.4.39, httpd-2.4.12, mysql-5.6.24)

    软件版本: pcre-8.36.tar.gzapr-1.5.1.tar.gzapr-util-1.5.4.tar.gzhttpd-2.4.12.tar.bz2 mysql-5.6.24.tar.gz ...

  4. 在CentOS6.7操作系统上编译安装httpd2.4

    功能描述: 在CentOS6.7操作系统上,编译安装apache服务,实现定制功能等 一.安装前提 1)安装编译httpd需要的软件包 [root@bqe6tewv41kx ~]#  yum -y i ...

  5. window7 下 安装 apache24(httpd-2.4.10-x86-r2)加 php5.6(php-5.6.4-Win32-VC11-x86)加yaf(php_yaf-2.3.3-5.6-ts-vc11-x86)整合

    window7 下 安装 apache24(httpd-2.4.10-x86-r2)加 php5.6(php-5.6.4-Win32-VC11-x86)加yaf(php_yaf-2.3.3-5.6-t ...

  6. Windows2012中安装PHP-5.6.20+Apache httpd2.4.18+Composer+Laravel+MySQL5.7

    下载软件包 PHP:  http://windows.php.net/downloads/releases/php-5.6.20-Win32-VC11-x64.zip Apache httpd:  h ...

  7. CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27

    CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27   说明:   操作系统:CentOS 6.8 32位 准备篇: 一.系统约定    软件源代码包存放位 ...

  8. centos 6 编译安装httpd-2.4

    centos6 yum安装的apr版本已经不适用httpd-2.4版本了.所以,需要源码编译apr以及apr-util 1. 下载源码: cd /usr/local/src/ wget http:// ...

  9. PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战

    原文 PHP-5.5.10+Apache httpd-2.4.9在Windows系统下配置实战 环境配置:   程序准备: PHP windows版本下载地址: http://windows.php. ...

  10. Linux 安装 httpd2.4.16

    假设: apr安装在: /opt/httpd/apr apr-util安装在 /opt/httpd/apr-suite/apr-util apr-iconv安装在/opt/httpd/apr-suit ...

随机推荐

  1. Mac下搭建go和beego开发环境

     go安装 首先到golang的官网下载 直接双击安装包,安装 ,下一步,下一步....完成既可 验证安装是否成功 打开终端执行 输出 go version go1.11.5 darwin/amd64 ...

  2. C语言打印图形

    //输出图形 * * * * * * * * * * * * * * * * * * * * * * * * * //每行5个* void test1(){ //    外层负责行,外层执行一次,内层 ...

  3. POJ-3686 The Windy's KM算法 拆点题

    参考:https://blog.csdn.net/sr_19930829/article/details/40680053 题意: 有n个订单,m个工厂,第i个订单在第j个工厂生产的时间为t[i][j ...

  4. andriod开发--使用Http的Get和Post方式与网络交互通信

    package com.example.a350773523.myapplication; import android.os.AsyncTask; import android.support.v7 ...

  5. Codeforces Round #484 (Div. 2) B. Bus of Characters(STL+贪心)982B

    原博主:https://blog.csdn.net/amovement/article/details/80358962 B. Bus of Characters time limit per tes ...

  6. Gym 101482 题解

    B:Biking Duck 题意:现在有一个人要从(x1,y1)点走到(x2,y2)点, 现在走路的速度为v. 还有骑自行车的速度v2,自行车要从某个自行车站到另一个自行车站,现在我们可以视地图的边界 ...

  7. "ANDROID" 支持的KEYCODE

      例子: adb shell input text keyevent 4 0 -->  "KEYCODE_UNKNOWN" 1 -->  "KEYCODE_ ...

  8. spring aop 的一个思考

    问题: spring  aop 默认使用jdk代理织入. 也就是我们常这样配置:<aop:aspectj-autoproxy /> 通过aop命名空间的<aop:aspectj-au ...

  9. 一文看懂java的IO流

    废话不多说,直接上代码 import com.fasterxml.jackson.databind.ObjectMapper; import java.io.*; import java.nio.ch ...

  10. Oracle 实用SQL

    start with connect by prior 递归查询用法 select * from 表名 aa start with aa.id = 'xxx' connect by prior aa. ...