码迷,mamicode.com
首页 > Web开发 > 详细

Apache服务

时间:2016-04-25 00:25:07      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:

Apache服务的安装:

     Apache服务程序的软件包名称是:httpd

     安装方法: rpm软件包安装、源码编译安装、yum安装

      yum install httpd 

安装完成后启动:

      revice httpd start 

设置开机启动:

         方法一:将启动程序命令添加到/etc/rc.d/rc.local文件中。

         方法二:chkconfig httpd on

配置服务文件参数:

服务目录:      /etc/httpd

配置文件:      /etc/httpd/conf/httpd.conf

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

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

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

Apache服务程序配置文件参数(httpd.conf文件):

服务目录:      ServerRoot

管理员邮箱:     ServerAdmin

运行服务的用户:  User

运行服务的用户组:  Group

网站服务器域名:   ServerName

网站数据目录:    DocumentRoot

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

默认的索引页页面:    DirectoryIndex

错误日志文件:      ErrorLog

访问日志文件:      CustomLog

网页超时时间(默认300秒):    Timeout

需要加载的其他文件:   Include

Apache服务程序的配置文件内容分为三种类型:

         注释行信息:  带# 开头的行

         全局配置:    不带#开头的行 (ServerName  www.Arvinlinux.com)

         区域配置:    <Directory />……</Directory>

默认的网站数据放在/var/www/html目录中,首页名称是index.html

安装完成Apache后,打开的Apache界面的这个文件在/var/www/error下,文件名称是:noindex.html

简单测试:

         写入一个文件替换到默认页面:

                    echo "Welcome to Arvinlinux.com"> /var/www/index.html

   在浏览器输入Apache的IP地址,将看到刚刚输入的内容!!

 

如果要将网站的数据放在/home/arvinlinuxroot目录,将怎么操作!!!

   编辑Apache服务程序的主要配置文件httpd.conf:

              vi /etc/httpd/conf/httpd.conf

         将主文件中的参数进行修改:

                        在修改主文件时,将注释行取消         :g/^#/d

                             将DocumentRoot参数改为 /home/arvinlinuxroot

                             将/var/www改为 /home/arvinlinuxroot

         建立网站数据目录/home/arvinlinuxroot

                          mkdir /home/arvinlinuxroot

           创建首页文件:

                      echo "The New Web Directory" > /home/arvinlinuxroot/index.html

           重启Apache服务:

                      service httpd restart

再次在浏览器中输入Apache服务的IP地址来访问,但是你会发现访问不了…………打开的还是默认的界面,这是什么情况????

 

SELinux    强制访问控制安全子系统

SELinux全称为Security-Enhanced Linux是美国国家安全局在Linux社区帮助下开发的一个强制访问控制的安全子系统,SELinux属于MAC强制访问控制(Mandatory Access Control)——即让系统中的各个服务进程都受到约束,即仅能访问到所需要的文件。

这个子系统在很多的服务器中是直接被禁用的。

SELinux工作模式:

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

      permissive  遇到服务越权访问,只会发出警告而不强制拦截。

      disabled     对于越权行为不警告,也不拦截。

配置文件:/etc/selinux/config

查询当前SELinux服务状态:

           getenfotce

改变SELinux运行状态:

setenforce 0

setenforce 1

SELinux安全策略包括:

SELinux域               对进程资源进行限制(查看方式: ps -Z)

SELinux安全上下文     对系统资源进行限制(查看方式: ls –Z)

使用ls –Z 检测新旧网站数据目录的SELinux安全上下文:

       技术分享

用户段:    root表示root账户身份,user_u表示普通用户身份,system_u表示系统进程身份。

角色段:    object_r是文件目录角色,system_r是一般进程角色。

类型段:    进程和文件都有一个类型用于限制存取权限。

 

     上面提到的网页不能访问,解决办法就是把当前网站目录/home/arvinlinuxroot的安全上下文修改成system_u:object_r:httpd_sys_content_t:s0就好了。

      semanage 用于查询、修改SELinux的安全上下文

                  格式:    semanage 选项  文件

                      #semanage {login|user|port|interface|fcontext|translation} -l

                      #semanage fcontext -{a|d|m} [-frst] file_spec

                  参数:

               -l        查询

               -a       增加

               -m       修改

               -d        删除

       restorecon 用于恢复SELinux文件安全上下文

                   格式:    restorecon 选项  文件

                   参数:

                -i       忽略不存在的文件

                -e      排除目录

                -R      递归处理(针对目录使用)

                -v      显示详细过程

                -F      强制恢复

修改网站数据目录的安全上下文:

              semanage fcontext –a –t httpd_sys_content_t /home/arvinlinuxroot

              semanage fcontext –a –t httpd_sys_content_t /home/arvinlinuxroot/*

              restorecon –Rv /home/arvinlinuxroot/

登录浏览器,可以正常访问!!!

 

个人用户主页功能:

        Apache服务程序中有个默认未开启的个人用户主页功能,能够为所有系统内的用户生成个人网站。

 

      开启个人用户主页功能:

               编辑userdir.conf文件,文件路径:/etc/httpd/conf.d/userdir.conf

               编辑这个文件,将UserDir disabled   和 UserDir public_html 注销掉。

         UserDir参数表示的是需要在用户家目录中创建的网站数据目录的名称(即public_html)

…………………………………………

Apache服务

标签:

原文地址:http://www.cnblogs.com/Arvinlinux/p/5428800.html

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