《linux就该这么学》第十二节课:第10章,Apache网站服务

第十章

10.1、网站服务程序

        (让用户能够通过网站访问服务器上的资源)

        目前提供的网站服务有IIS,Nginx,Apache等,IIS是windows中默认的web服务程序。

        Nginx是后起之秀,有多种优势,但RHEL7中默认的是Apache,市场大部门还是Apache,所以我们学习Apache。

        Apache是老牌服务,具有庞大的市场,Nginx则是新兴的服务

                

        1、挂载系统镜像    

        mount  /dev/cdrom    /media/cdrom

        2、配置yum仓库

        [rhel]                            //识别码   

        name=rhel                  //名字

        baseurl=file:///media/cdrom        //路径

        enabled=1                                  //开启

        gpgcheck=0                               //不校验

        3、安装Apache,yum  install  httpd

        //Apache的软件包名称为httpd

        4、启用httpd服务,并加入到开机启动项中

        systemctl  restart httpd

        systemctl enable  httpd

        然后我们打开浏览器输入本机的地址,会显示下面界面,证明网站服务成功运行:

            

        当看到上述页面后,有两个原因:

        1、网站内没有目录

        2、权限不足

10.2、配置服务文件参数

        httpd的服务文件的位置:

        服务目录:                  /etc/httpd

        主配置文件:              /etc/httpd/conf/httpd.conf       //最重要的配置参数

        网站数据目录:          /var/www/html

        访问日志:                 /var/log/httpd/access_log

        错误日志:                /var/log/httpd/error_log

            

        以下是配置文件中各字段的解释:    

        ServerRoot                          //服务目录

        ServerAdmin                       //管理员邮箱

        User                                    //运行服务的用户

        Group                                 //运行服务的用户组

        ServerName                       //网站服务器的域名

        DocumentRoot                   // 网站数据目录

        Listen                                 //监听的IP地址与端口号

        DirectoryIndex                    //默认的索引页页面

        ErrorLog                            //错误日志文件

        CustomLog                        //访问日志文件

        Timeout                             //网页超时时间,默认为300秒

        当上述字段更改时,我们可能会触及到安全的限制,就是selinux

10.3、SElinux安全子系统

        selinux安全子系统,是保障服务都只进行自己的本质工作,而杜绝做其他的不属于自己的工作。

        selinux:对服务程序的功能进行限制(域限制),对文件资源的访问限制(安全上下文)

        域:管理服务的功能

        安全上下文:让服务只能访问该访问的文件

        selinux有三种配置模式:

        enforcing:强制启用安全策略模式,拦截服务不合法请求。

        permissive:遇到服务越权访问时,只发警告不拦截。

        disabled:对越权行为不警告不拦截。

        以下是selinux相关的命令:

        getenforce和setenforce相当于selinux的总开关,0为关,1为开

        getenfoece       //查询selinux的状态

        setenforce       //修改selinux的状态,例如:setenforce  0

            

        针对selinux的安全上下文:

        可使用  ls  -Z  来查询文件的安全上下文

        semanage    修改和查询selinux的安全上下文。semanage  【选项】【文件】

        -l    //参数用于查询                                        -a   //用于添加

        -m   //用于修改                                              -d   //用于删除

        -t   //类型                                                       fcontext    表示修改安全上下文

        例:  semanage  -a  -t  httpd_sys_content_t    /home/wwwroot

            

        restorecon    用于修改的上下文立即生效

        -R   //递归操作,针对目录                            -i   //忽略不存在的目录

        -e   //排除目录                                              -v  //显示详细过程

        -F  //强制恢复

        针对selinux的域:

        getsebool   查询selinux的布尔值

        -a    //所有的服务

        setsebool   修改布尔值

        -P   参数用于永久且立即生效

            

10.4、个人主页功能

        需要在配置文件中启用功能:vim  /etc/httpd/conf.d/userdir.conf

        1、把userdir  disable  和  userdir   public_html  给注释起来(前面加#号)

        2、把网站的目录设置为755权限

        3、修改selinux的域:setsebool  -P httpd_enable_homedirs=on

        4、重启服务

        个人主页的密码功能:

        1、生成密码数据库:htpasswd -c /etc/httpd/passwd linuxprobe    //-c代表第一次生成

        2、编辑配置文件:vim /etc/httpd/conf.d/userdir.conf

            <Directory "/home/*/public_html">

            AllowOverride all

            authuserfile "/etc/httpd/passwd"          //密码文件的保存路径

            authname "My privately website"        //网站的提示信息

            authtype basic

            require user linuxprobe                      //密码登录时需要验证的账户名称

            </Directory>

        3、重启服务

10.5、虚拟主机功能

        基于ip地址

        1、分别配置三个IP地址

            

        2、在配置文件中写入:vim /etc/httpd/conf/httpd.conf       

            <VirtualHost 192.168.10.10>                 //地址变化,其他相同的配置,再写入其他地址配置信息,这里就写入一个

            DocumentRoot /home/wwwroot/10

            ServerName www.linuxprobe.com

            <Directory /home/wwwroot/10 >

            AllowOverride None

            Require all granted

            </Directory>

            </VirtualHost>

        3、设置安全上下文:例:semanage fcontext -a -t httpd_sys_content_t /home/wwwroot

        4、重启服务并打开浏览器输入不同的ip地址观察

        基于主机名

        1、在vim  /etc/hosts  中定义域名解析:192.168.10.10 www.linuxprobe.com bbs.linuxprobe.com tech.linuxprobe.com

        2、设置网站首页文件

        例:echo "hahaha" > /home/wwwroot/www

        3、写入配置文件  vim /etc/httpd/conf/httpd.conf

            <VirtualHost 192.168.10.10>

            DocumentRoot "/home/wwwroot/www"

            ServerName "www.linuxprobe.com"            //就域名改变,其他的信息不变,再写入另外两个域名的信息,这里之写入了一个

            <Directory "/home/wwwroot/www">

            AllowOverride None

            Require all granted

            </directory>

            </VirtualHost>

        4、设置安全上下文

        5、重启服务并打开浏览器,输入不同的域名测试

        基本端口号

        1、写入网站的首页目录:echo "port:6111" > /home/wwwroot/6111/index.html

        2、在  vim /etc/httpd/conf/httpd.conf 中写入  监听的端口号: 

            listen  6111

            listen  6222

        3、写入配置文件:vim /etc/httpd/conf/httpd.conf

            <VirtualHost 192.168.10.10:6111>                             //就端口号不同,其他都相同,再写入其他端口号的配置信息,这里只写入了一个

            DocumentRoot "/home/wwwroot/6111"

            ServerName www.linuxprobe.com

            <Directory "/home/wwwroot/6111">

            AllowOverride None

            Require all granted

            </Directory>

            </VirtualHost>

        4、设置安全上下文

        5、设置selinux,使其允许端口号:semanage port -a -t http_port_t -p tcp 6111

        6、重启服务并浏览器访问实验

10.6、Apache的访问控制

        Apache通过指令Allow  允许某主机访问服务器上的网站资源

                    通过指令 deny 禁止某主机访问服务器上的网站资源

         order指令用于定义allow和deny指令起作用的顺序,例如:order  allow  deny     :先匹配允许,若允许则成功访问,反之则拒绝。

 

 

复习:基于端口号虚拟机

12.7:第十一章,第十二章

12.8:第十三章

12.9:第十四章,第十五章

转载于:https://www.cnblogs.com/charelee/p/10027529.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值