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服务的更多相关文章

  1. Apache服务停止:信号灯超时时间已到,指定的网络名不再可用

    环境说明:Apache2.4.10,Windows Server 2008 R2 问题说明: apache服务用于下载文件,但是在运行一段时间后,突然挂了. 其错误提示如下所示: [error] (7 ...

  2. Mac下配置Apache服务

    这篇文章主要是针对Mac用户,第一次搭建本地开发环境的同学,已经搭建过的同学可以忽略. Mac自带的Apache还是XAMPP? That is a question. 其实自带的apache也够用了 ...

  3. ubuntu关于apache服务命令

    一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 start 二. ...

  4. WampServer Apache 服务无法启动解决办法

    问题:WampServer 安装后mysql服务可以启动,但Apache服务启动不了(前提是已经安装Apache Server) 解决办法: 1.端口冲突,改Apache里httpd.conf中的端口 ...

  5. Android开发--Apache服务器安装,解决Apache服务无法启动的问题

    昨天学习Android XML解析的时候,想在自己的电脑上搭建一个最简单的Web服务器来存放一段XML文本,然后在Android程序中解析,查找了一些资料后,看到Apache服务器比较容易上手,使用范 ...

  6. 第10章 使用Apache服务部署静态网站

    章节简述: 本章节中通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节. 了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setseb ...

  7. RHEL7-使用Apache服务部署静态网站

    1. 安装Apache服务程序 1.1 在虚拟机中选中光盘镜像,并设置连接 1.2 将光盘设备挂载到/media/cdrom目录 [root@localhost ~]# mkdir -p /media ...

  8. 《Apache服务之php/perl/cgi语言的支持》RHEL6——服务的优先级

    安装php软件包: 安装文本浏览器 安装apache的帮助文档: 测试下是否ok 启动Apache服务关闭火墙: 编辑一个php测试页测试下: perl语言包默认系统已经安装了,直接测试下: Apac ...

  9. 《Apache服务用户身份验证管理》RHEL6.3

    1.安装apache软件包 Yum install httpd 2.启动apache服务 /etc/init.d/httpd restart 3.创建一个目录,内编辑一个index.html文件 4. ...

随机推荐

  1. PS Studio调用.exe输出错误信息的解决办法

    在一个button_click下调用了如下外部可执行文件: $button1_Click = { #TODO: Place custom script here .\PsExec.exe \\192. ...

  2. NodeJs + gm图片缩略图

    我的另一篇文章: Nginx/Apache图片缩略图技术 gm官网 1, 软件环境 nodejs npm GraphicsMagick or ImageMagick 貌似ImageMagick在处理大 ...

  3. [Practical Git] Diagnose which commit broke something with git bisect

    Sometimes you find a bug in your project that has been around for a while without being noticed; it ...

  4. [React Native + Firebase] React Native: Real time database with Firebase -- setup & CRUD

    Install: npm i --save firebase // v3.2.1 Config Firebase: First we need to require Firebase: import ...

  5. javascript 递归之阶乘

    阶乘,即5! = 5*4*3*2*1, 先看传统的做法,利用while循环实现: function factorial(num){ var result = num; if(num<0){ re ...

  6. js倒计时功能

    <input id="countdown" type="text" value="140时50分20秒"> <script ...

  7. Qt数据库(sqlite) — 总结

    #include <QtSql>QT += sql QSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录 第一: ...

  8. OC中-数组是如何遍历的?

    #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool ...

  9. 你真的会用UIButton吗? UIButton详细介绍

    本节知识点: 什么是UIButton UIButton的状态 UIButton的属性设置 UIButton基本使用步骤 UIButton的代码创建与常用属性设置 重写按钮的某个状态属性的 setter ...

  10. Android 自学之基本界面组件(下)

    按钮(Button)与图片按钮(ImageButton)组件的功能和用法 Button继承了TextView,ImageButton继承了Button.不管是Button还是ImageButton,他 ...