首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
ajax
正则
listview
firebug
dialog
icons
js
hybrid
json
chart
yarn
chart.js
checkbox
scroll
jquery
webkit
css3
vue.js
上传
charts
textview
v8
postman
jq
svg
react
layout
console
overflow
scheme
javascript
build
label
cookies
firefox
button
html
微信开发
hover
dom
base64
chrome
css
html5
node.js
view
bootstrap
focus
requirejs
vue
npm
当前位置:
开发笔记
>
前端
> 正文
CentOS系统安装配置Apache配置过程图解
作者:一坛苦水_179 | 来源:互联网 | 2014-05-28 10:53
⒈源码包安装httpd。⑴、静态默认安装,命令如下:完成后,先查询安装了那些模块命令如下:再看模块是否激活,如下图:可见模块没有被激活,若想添加模块了,可用如下命令加载:接着可看到模块被加载激活了,如下:⑵、动态安装且加载所有模块,命令
⒈ 源码包安装httpd。
⑴、静态默认安装,命令如下:
完成后,先查询安装了那些模块命令如下:
再看模块是否激活,如下图:
可见模块没有被激活,若想添加模块了,可用如下命令加载:
接着可看到模块被加载激活了,如下:
⑵、动态安装且加载所有模块,命令如下:
完成后可以看到模块安装加载情况如下:
通过对比,推荐安装时采取动态完全安装。
⒉ apache配置文件参数详解。
这整个解释都是针对系统Cent OS 5.0安装时自带的apache所进行的。
⑴、先了解一下apache的相对结构。
/etc/httpd/conf/httpd.conf
:主配置文件,其主要设定以它为主;
/etc/httpd/conf.d/*.conf
:额外参数配置,如果你不想修改原始配置文件httpd.conf的话,可以将你自己的设置独立出来,如创建为/etc/httpd/conf.d/child.conf,apache启动时就被载入;
/usr/lib/httpd/modules/
:apache支持很多模块,你所想要的模块都放在其中;
/var/www/html/
:默认‘首页’所在目录,当你输入http://localhost时所显示资料所在目录;
/var/www/error/
:配置错误或浏览器要求资料错误时,浏览器上出现的错误讯息以这个目录预设为主;
/var/www/icons/
:它提供 Apache默认给予的一些小图示,你可以随意使用,当你输入http://localhost/icons/时所显示的资料所在;
/var/www/cgi-bin/
:默认给一些可执行的CGI(网页程序)程序放置的目录;
/var/log/httpd/
:默认的apache登录信息都放在这里,对流量较大的网站,这个目录要小心设置;
/usr/sbin/apachectl
:apache的主要启动文件,其实是shell script;
/usr/sbin/httpd
:apache的二进制启动文件。
⑵、主配置文件httpd.conf详解。
其基本设定格式如下,如例子对目录/var/www/html/的设定:
①、httpd.conf设置分三部分,首先针对全局环境参数(Global Environment):
ServerTokens OS
告知用户端WWW服务器的版本与操作系统
ServerRoot "/etc/httpd"
Apache安装路径
PidFile run/httpd.pid
放置PID的目录,方便软件管理,是相对路径
Timeout 120
持续连接如果等待超过120秒则连接断开
KeepAlive Off
是否允许持续性的连接,预设为否
MaxKeepAliveRequests 100
保持的连接的人数,改成0就是说没有人数的限制
KeepAliveTimeout 15
在允许KeepAlive条件下,保持连接的超出时间
上面是两组与服务器连接资源有关的设置,分为worker与prefork,两组的设定都是相似的,httpd启动时只采用一组设定,/usr/sbin/httpd执行的是prefork组、/usr/sbin/httpd.worker执行的是worker组,预设为prefork组,可在/etc/sysconfig/httpd中查询使用那个组。
Listen 80
监听的端口号
LoadModule access_module modules/mod_access.so
……(下面省略)
显示载入的模块组
Include conf.d/*.conf
使得目录/etc/httpd/conf.d/下的配置文件*.conf都会被读入
User apache
Group apache
由谁启动Apache服务器
②、接着是针对“主”服务配置(’Main’ server configuration):
ServerAdmin root@localhost
网页出错给谁发信通知
UseCanonicalName Off
是否使用标准主机名称,预设为否
DocumentRoot "/var/www/html"
网页存放的路径,文档的根目录
是针对目录权限的设定。上面前一组是针对httpd的预设环境而来的,是“/”的设定,设置很严格;后一组是针对根目录/var/www/html的设定。几个设置的解释如下:
Options表示目录内能进行的动作,设置有None、All或Indexes、FollowSymLinks、ExecCGI、Includes、MultiViews选项的任意组合。None表示只能浏览;All则可以做任何事,但不包括MultiViews;Indexes表示在无首页档案时,显示整个目录下的档案名称;FollowSymLinks让此目录下的链接文件可链接出此目录外;ExecCGI让次目录具有执行CGI程序的权限;Includes让一些Server-Side Include程序可以执行;MultiViews与语系资料(language priority)有关。
AllowOverride表示是否允许额外配置文件.htaccess的权限启用,覆盖httpd.conf相关的设置,设置有ALL、AuthConfig、Indexes、Limits、None。ALL表示完全启用;AuthConfig仅有网页认证时启用;Indexes允许index方面的启用;Limits允许使用者利用Allow、Deny与Order管理可浏览的权限;None表示文件.htaccess失效。
Order决定是否可被浏览的权限设定,分deny,allow与allow, deny,deny,allow以deny优先处理,无写入规则时预设为allow;allow, deny则相反。Allow from all则开放所有浏览权限。
这是配置个人用户主目录的设定,预设关闭
把所有以.ht开头的文件做限制,阻止Web客户查看
TypeConfig conf/mime.types
定义在哪里查询mime.types文件
DefaultType text/plain
定义当不能确定MIME类型时服务器提供的默认MIME类型,当服务主要包含text或HTML文档,“text/plain”是一个好的选择,如果大多是二进制文档,诸如软件或图像,应使用 “application/octer-stream”
模块mod_mime_magic允许服务器从自己定义类型的文件中使用不同的线索(hints),这个MIMEMagicFile指令定义hints定义所在的文件
HostnameLookups Off
指定记录用户端是名字还是IP地址,默认值为off,记录IP地址
ErrorLog logs/error_log
记录错误的日志文件位置
LogLevel warn
控制记录在错误日志文件中的日志信息数量,可能值有debug、info、notice、warn、error、crit、alert、emerg
定义日志格式
CustomLog logs/access_log common
指定接入日志文件的定位和格式,如果没有在
内定义这个指令,传输信息将记录在这里,若定义了这个指令,则记录在你指定的位置
ServerSignature On
随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中
Alias /icons/ "/ var/www/icons/"
使用别名
设置目录/var/www/icons权限
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
本质上与Aliases一样,除了这里的文档在请求时做为程序处理处理以外
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable
控制server-generated目录列表显示特征
AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示,只适用于FancyIndexed指令
DefaultIcon /icons/unknown.gif
为那些没有显式定义图标的文件提供处理
ReadmeName README.html
指定服务器默认查找的README文件的名字,并添加到目录列表中
HeaderName HEADER.html
指定目录列表前缀文件的文件名
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
指定目录索引忽略的和不包含在列表中的文件名集合,支持shell类型的通配符
指定文档的语言
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
以优先次序递减的方式排列语言
ForceLanguagePriority Prefer Fallback
在通讯的情况下或没有可接受的语言匹配的情况下提供一个结果页
AddDefaultCharset UTF-8
为发送出的所有页指定默认的字符集
AddType允许你为指定的文件类型添加或覆盖mime.types文件中配置的MIME,AddHandler允许你映射确定的文件扩展名到“handlers”,与文件类型无关的行为,这既能编译到服务器中也可以添加到Action指令中。
AddHandler type-map var
这是默认的设定以允许Apache的“It Worked”页能多种语言分发
使得能在在服务器端分析包含(SSI)的.shtml文档
这是一个国际化的出错应答设置
更改标准的HTTP应答行为以处理己知的浏览器问题
③、虚拟机配置(Virtual Hosts):
这是一个虚拟机设置实例配置,没启用。
3、apache的应用。
⑴、apache的启动。
启动httpd有两种方式,如下图所示,可以查询日志看到是否成功启动:
启动后,在浏览器中输入本机地址显示如图:
这是一个apache的欢迎界面,因为根目录/var/www/html为空,当我在根目录里创建一个html文件后,如下图:
此时网页内容变了,如下:
⑵、配置个人用户主页。
先修改配置文件找到配置改为。
记得重启,如图:
接着创建个人用户目录,添加测试内容,注意权限修改(很重要),如图:
连接测试,发现打不开,如图:
原来SELinux没开启对httpd的支持,作如下改变:
此时测试成功,如图:
由于首页的Options内有FollowSymLinks参数,因此也可以直接使用链接文件连接到其他目录,如图所示:
测试如图:
⑶、启动某个目录的CGI程序执行权限。
Apache默认目录/var/www/cgi-bin放置要执行的CGI程序,其目录权限配置如下:
将其改为:
,再找到
#AddHandler cgi-script .cgi
一行,修改为:AddHandler cgi-script .cgi .pl,配置完成,重启httpd。
接着创建测试CGI程序test.cgi且修改权限,如图:
输入地址成http://218.108.235.78/cgi-bin/test.cgi功测试如图:
⑷、.htaccess与网页认证设置。
Apache提供有认证功能,使得能轻松设定要保护的网页。
①、先创建要保护的目录及资料,如图:
②、修改配置文件,确保存在如下配置:
这是把所有以.ht开头的文件做限制,阻止Web客户查看,然后添加配置如下:
③、接着在受保护目录下建立.htaccess文件,如图:
这些红线参数解释为:AuthName显示提示字样;AuthType是认证类型,选择默认的‘Basic’;AuthUserFile确定所要使用的账号密码文件;require接可用的账号。
④、建立密码文件apache.passwd,如图:
注意文件名称要与.htaccess文件里的AuthUserFile一致。
⑤、测试,成功如图:
⑸、设置虚拟主机
这里的虚拟主机,指的是在一部主机上有多个‘主网页’存在,实际这些网址都指向同一个IP。
①、先创建所需要的目录,如图:
②、配置虚拟主机,直接在目录/etc/httpd/conf.d下建立单独的配置文件virtual.conf,如图:
注意,使用虚拟主机后,原本主机名称也要写入,图上红线标示的就是原本主机。记得重启apache。
③、测试,修改C:\WINDOWS\system32\drivers\etc\hosts文件,添加内容如下:
,
使得域名能解析成IP地址。配置成功如下:
apache
html
服务器
linux
windows
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
windows
Docker的安全基准
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2024-12-28 13:00:24
windows
新浪笔试题
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
windows
解决Hive启动时权限被拒问题
本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ...
[详细]
蜡笔小新 2024-12-26 19:14:29
js
深入探讨JSP技术的优缺点
本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ...
[详细]
蜡笔小新 2024-12-28 11:00:33
js
PyCharm下载与安装指南
本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ...
[详细]
蜡笔小新 2024-12-28 09:42:41
js
四载相伴,与51CTO学院共成长
在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ...
[详细]
蜡笔小新 2024-12-28 08:20:07
js
信息安全小组第一周工作总结
本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ...
[详细]
蜡笔小新 2024-12-28 05:52:22
js
Linux 系统启动故障排除指南:MBR 和 GRUB 问题
本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ...
[详细]
蜡笔小新 2024-12-27 20:40:29
js
深入理解Cookie与Session会话管理
本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ...
[详细]
蜡笔小新 2024-12-27 18:20:43
js
Linux 自动化安装脚本详解
本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ...
[详细]
蜡笔小新 2024-12-27 16:33:32
js
在Linux系统中配置并启动ActiveMQ
本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ...
[详细]
蜡笔小新 2024-12-27 14:38:54
上传
如何配置Unturned服务器及其消息设置
本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ...
[详细]
蜡笔小新 2024-12-27 13:47:38
上传
优化Kafka流状态存储查询的最佳实践
本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ...
[详细]
蜡笔小新 2024-12-26 18:17:14
react
Windows 10 系统中禁用 F1 至 F12 功能键的方法
在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ...
[详细]
蜡笔小新 2024-12-28 09:13:44
react
在Ubuntu 16.04 LTS上配置Qt Creator开发环境
本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ...
[详细]
蜡笔小新 2024-12-27 13:19:53
一坛苦水_179
这个家伙很懒,什么也没留下!
Tags | 热门标签
ajax
正则
listview
firebug
dialog
icons
js
hybrid
json
chart
yarn
chart.js
checkbox
scroll
jquery
webkit
css3
vue.js
上传
charts
textview
v8
postman
jq
svg
react
layout
console
overflow
scheme
RankList | 热门文章
1
如何在WebStorm官网下载历史版本
2
解决小程序 Navigator 组件点击反馈问题
3
MyBatis中SQL查询参数传递方法详解
4
如何在使用 array_combine 时处理重复键名的问题
5
Implementing and Testing Ext Ajax Calls with Promises
6
Dreamweaver网页设计与制作100例——HTML5期末考核大作业——票务网站整套网页
7
开发笔记:每篇半小时1天入门MongoDB——3.MongoDB可视化及shell详解
8
理解休眠状态下的会话机制
9
创建适用于UEFI系统的Windows Server 2008 R2安装U盘
10
Java实现凯撒密码的简易加解密程序
11
Python 计算两个时间戳之间的毫秒差
12
Oracle 11g 新特性:密码错误验证延迟功能验证
13
java datarow_DataSet DataTable DataRow 深入浅出
14
深入理解命名空间与作用域
15
树剖||树链剖分||线段树||BZOJ4034||Luogu3178||[HAOI2015]树上操作
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有