Apache服务
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服务的更多相关文章
- Apache服务停止:信号灯超时时间已到,指定的网络名不再可用
环境说明:Apache2.4.10,Windows Server 2008 R2 问题说明: apache服务用于下载文件,但是在运行一段时间后,突然挂了. 其错误提示如下所示: [error] (7 ...
- Mac下配置Apache服务
这篇文章主要是针对Mac用户,第一次搭建本地开发环境的同学,已经搭建过的同学可以忽略. Mac自带的Apache还是XAMPP? That is a question. 其实自带的apache也够用了 ...
- ubuntu关于apache服务命令
一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 startor$ sudo /etc/init.d/apache2 start 二. ...
- WampServer Apache 服务无法启动解决办法
问题:WampServer 安装后mysql服务可以启动,但Apache服务启动不了(前提是已经安装Apache Server) 解决办法: 1.端口冲突,改Apache里httpd.conf中的端口 ...
- Android开发--Apache服务器安装,解决Apache服务无法启动的问题
昨天学习Android XML解析的时候,想在自己的电脑上搭建一个最简单的Web服务器来存放一段XML文本,然后在Android程序中解析,查找了一些资料后,看到Apache服务器比较容易上手,使用范 ...
- 第10章 使用Apache服务部署静态网站
章节简述: 本章节中通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节. 了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setseb ...
- RHEL7-使用Apache服务部署静态网站
1. 安装Apache服务程序 1.1 在虚拟机中选中光盘镜像,并设置连接 1.2 将光盘设备挂载到/media/cdrom目录 [root@localhost ~]# mkdir -p /media ...
- 《Apache服务之php/perl/cgi语言的支持》RHEL6——服务的优先级
安装php软件包: 安装文本浏览器 安装apache的帮助文档: 测试下是否ok 启动Apache服务关闭火墙: 编辑一个php测试页测试下: perl语言包默认系统已经安装了,直接测试下: Apac ...
- 《Apache服务用户身份验证管理》RHEL6.3
1.安装apache软件包 Yum install httpd 2.启动apache服务 /etc/init.d/httpd restart 3.创建一个目录,内编辑一个index.html文件 4. ...
随机推荐
- linq to sql 扩展方法
老赵的博客:http://blog.zhaojie.me/2008/02/using-translate-method-and-modify-command-text-before-query-in- ...
- js中substr,substring,indexOf,lastIndexOf,split用法
1.substr substr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png"; aler ...
- Swipe2.1更新——移动Web内容滑块
Swipe JS 是一个轻量级(3.7 kb) mobile slider,支持 1:1 触摸移动(基于精确的触摸位置的内容滑动). 但是我使用一段时间后发现两个bug,所以在官方2.0(官网http ...
- 并查集类的c++封装,比較union_find algorithm四种实现方法之间的性能区别
问题描写叙述: 在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题.有一个联合-查找算法(union-find algorithm ...
- Android下得到已安装Application信息
在上一篇blog中,谈到如何利用APK archive文件得到相应信息.(当时发现例如ProcessName,DataDir等信息,其实是无法得到的). 当前咱们看看如何通过系统取得已经安装的Appl ...
- json处理复杂对象jsonConfig
我们通常的Json字符串和java当对象互转.经常有选择性地过滤掉一些属性值,和json-lib包JsonConfig为我们提供了这样一个 特征,有几种方法实施细则. (1)建立JsonConf ...
- InSAR在地面沉降监测中的应用及发展前景
合成孔径雷达(Synthetic Aperture Radar,SAR)的概念始于20世纪50年代,是正在发展中的极具潜力的微波遥感技术.SAR具有全天时.全天候的工作能力,能够穿透云层,对某些地物具 ...
- [COCOS2DX]COCOS命令新建项目+编译安卓项目并成功运行
全程搭建过程参考网址: http://blog.csdn.net/lengxue789/article/details/38116475 http://blog.csdn.net/cbbbc/arti ...
- 【转】使用Beaglebone Black的I2C (二)——使用C语言和i2c-dev驱动
在本博客的<使用Beaglebone Black的I2C(一)>中,介绍了BBB上无需编程对i2c总线进行读写操作的方法,本文将介绍如何在c语言程序中使用i2c-dev驱动来操作i2c设备 ...
- 【转】SQL Server 2012 配置AlwaysOn(三)
转载自:http://www.cnblogs.com/lyhabc/p/4682986.html 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http:/ ...