关于APACHE的配置文件httpd.conf[转](一)

 更新时间:2016年11月25日 15:17  点击:1922
Apache服务器配置全攻略
推荐:bamboo     发表日期:2001年1月9日     阅读次数:1949
  Apache服务器的设置文件位于/usr/local/apache/conf/目录下,传统上使用三个配置文件httpd.conf,access.conf和srm.conf,来配置Apache服务器的行为。
httpd.conf提供了最基本的服务器配置,是对守护程序httpd如何运行的技术描述;srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件;access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制;这三个配置文件控制着服务器的各个方面的特性,因此为了正常运行服务器便需要设置好这三个文件。
  除了这三个设置文件之外,Apache还使用mime.types文件用于标识不同文件
对应的MIME类型, magic文件设置不同MIME类型文件的一些特殊标识,使得Apache 服务器从文档后缀不能判断出文件的MIME 类型时,能通过文件内容中的这些特殊标记来判断文档的MIME类型。
bash-2.02$ ls -l /usr/local/apache/conf
total 100
-rw-r--r-- 1 root wheel 348 Apr 16 16:01 access.conf
-rw-r--r-- 1 root wheel 348 Feb 13 13:33 access.conf.default
-rw-r--r-- 1 root wheel 30331 May 26 08:55 httpd.conf
-rw-r--r-- 1 root wheel 29953 Feb 13 13:33 httpd.conf.default
-rw-r--r-- 1 root wheel 12441 Apr 19 15:42 magic
-rw-r--r-- 1 root wheel 12441 Feb 13 13:33 magic.default
-rw-r--r-- 1 root wheel 7334 Feb 13 13:33 mime.types
-rw-r--r-- 1 root wheel 383 May 13 17:01 srm.conf
-rw-r--r-- 1 root wheel 357 Feb 13 13:33 srm.conf.default
  事实上当前版本的Apache将原来httpd.conf、srm.conf与access.conf中的所有配置参数均放在了一个配置文件httpd.conf中,只是为了与以前的版本兼容的原因(使用这三个设置文件的方式来源于NCSA-httpd),才使用三个配置文件。而提供的access.conf和srm.conf文件中没有具体的设置。
  由于在新版本的Apache中,所有的设置都被放在了httpd.conf中,因此只需要调整这个文件中的设置。以下使用缺省提供的httpd.conf为例,解释Apache服
务器的各个设置选项。然而不必因为它提供设置的参数太多而烦恼,基本上这些
参数都很明确,也可以不加改动运行Apache服务器。但如果需要调整Apache服务
本文作者:原奥索网用户 herodong    OICQ:6678705
/* 孤狼:原文实在太大了,36K多。我选择重要部分贴上,如果需要原文可以MAILTO:wolflx@263.net
我们的目标是安装一个允许我们托管多个网站的web服务器,其中一些是针对电子商务的安全解决方案,而大部分网站是通过连接一个数据库服务器并且提取其数据的脚本驱动的。
为了这个任务所需的工具是:
Apache-一个网站服务器
Mod_SSL-一个安全套接字层(SSL)的模块
OpenSSL-开放源代码工具箱(mod_ssl所需)
RSARef-仅对美国用户
MySQL-一个数据库服务器
PHP-一种脚本语言
“条条大路通罗马”……因此这只是很多能达到我们要求的配置之一。我选择这样的配置,是因为它是最简单和最快的一种。选择Mod_SSL/OpenSSL的原因是因为我有它的先前经验,是最快配置和最容易安装的一种。为了彼此方便地与Apache集成,我选择了PHP和MySQL。记住,Perl能做到你想要做任何工作,然而,PHP对任何想学习它地程序员来说简单并且容易。
希望你将在结束这个简单的指南后能成功地完成下列目标。
安装并设置MySQL数据库服务器
安装并设置具备SSL的Apache网站服务器
安装并配置服务器端脚本的PHP 4.0超文本预处理器
创造一些样本证书用于Apache SSL
本文假设你已经把下列软件安装在你的系统上了。
Perl (最好是ver 5+)
gzip或gunzip
gcc 和 GNU make
准备
Apache (Web服务器)-http://www.apache.org
Mod_SSL (安全服务器层)-http://www.modssl.org
OpenSSL (SSL工具箱)-http://www.openssl.org
PHP (脚本语言)-http://www.php.net
MySQL (SQL数据库服务器 )-http://www.mysql.com
下载所有(tar文件)源代码到一个临时目录下。保证你把他们放在有很多空间的地方……你应该以root身份下载他们以避免权限问题。
我们的计划
我们的计划是首先安装MySQL服务器并保证它工作,然后我们将安装PHP和Mod_SSL,最后我们将安装Apache网站服务器。在我们安装了Apache以后,我们可以测试PHP和Mod_SSL支持是否起作用了。
MySQL源代码安装(UNIX)
你必须用来执行安装MySQL源代码分发的基本命令是(自一个没解开“tar”文件):
通过使用su成为 root用户。
$su
直接进入你有tar文件的目录。(使用一个临时目录。这里使用 /tmp/download/ )
一、使用软件:
apache_2.0.52-win32-x86-no_ssl
php-5.0.2-Win32
mysql-4.0.21-win
phpMyAdmin-2.6.0
配置环境:Windows Xp sp2
二、具体步骤
注意事项:安装过程,任何目录和文件名都不要使用空格,
不要使用D:Program Files 而要使用D:ProgramFiles
1. apache_2.0.52-win32-x86-no_ssl
apache服务器软件,我下载的是win版本,2.0系列的配置都是相似的。
双击安装apache2.0.52,我把它安装到D:ApacheGroup 注意,目录名不要包含空格,否则下面设置php会出错。安装结束后,apache自动运行,在浏览器里输入http://127.0.0.1是不是显示出了默认的网页,如果你不希望看到这个页面,可以到D:ApacheGroupApache2conf 目录下找到 httpd.conf 打开编辑,并查找 DocumentRoot " 在2.0系列的版本中,只会找到一个 DocumentRoot " ,把引号内的路径改为你自己的路径就可以了,比如 DocumentRoot "D:/php" 现在默认的根目录就是 D:/php 注意这里用的是“/”。
2、安装php5.0.2
下载过来的php-5.0.2-Win32一般是个zip格式的压缩包,解压缩到D:ApacheGroup 目录下,并使文件都在一个文件夹下,改文件夹名为php5 ,这样方便接下来的工作。现在我们看到 D:ApacheGroup 下面已经有两个文件夹了, 一个是 apache2(安装apache2.0.52自动生成的一个文件夹) 另一个是 php5 我的方式是每一个软件一个文件夹,并且这些文件夹在同一目录下, 这样便于查找。
 好了,我们现在开始配置apache 使它支持php5 .
首先,找到 D:ApacheGroupphp5 目录下的php.ini-dist 重命名为php.ini 并复制到C:WINDOWS 目录下,
然后,复制 D:ApacheGroupphp5 目录下的php5ts.dll,libmysql.dll 到C:windowssystem
接下去,我们开始配置 D:ApacheGroupApache2conf 下的 httpd.conf文件,打开httpd.conf (可用记事本打开)
①找到 AddDefaultCharset ISO-8859-1 将其改为 AddDefaultCharset GB2312 (让默认语言编码为简体中文)
②找到DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php index.php3
--------------模块化安装配置------------------------------------
找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行
LoadModule php5_module D:/ApacheGroup/Apache2/php5/php5apache2.dll
其中D:/ApacheGroup/Apache2/php5/ 为你php目录,找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
variables_order        =    "EGPCS"    ; 这条指示描述了PHP 记录
                 ; GET, POST, Cookie, Environment and Built-in 这些变量的顺序。
                 ; (以 G, P, C, E & S 代表,通常以 EGPCS 或 GPC 的方式引用)。
                 ; 按从左到右记录,新值取代旧值。
register_globals    =    On        ; 是否将这些 EGPCS 变量注册为全局变量。
                 ; 若你不想让用户数据不在全局范围内混乱的话,你可能想关闭它。
                 ; 这和 track_vars 连起来用更有意义 — 这样你可以通过
                 ; $HTTP_*_VARS[] 数组访问所有的GPC变量。
register_argc_argv    =    On        ; 这条指示告诉 PHP 是否声明 argv和argc 变量
; (注:这里argv为数组,argc为变量数)
                 ; (其中包含用GET方法传来的数据)。
                 ; 若你不想用这些变量,你应当关掉它以提高性能。
track_vars       =    On        ; 使$HTTP_*_VARS[]数组有效,这里*在使用时用
3.21 Port 指令
语法: Port 数字
预设: Port 80
用於: server config
状态: 核心
这个 Port 指令设定服务器监听的网路端口号。数字是 0 到 65535 的
一个数目;某些端口号(特别是低於 1024 的)保留给特殊的协定。参阅
/etc/services 里定义的一些端口的列表;标准 http 协定使用 80 端口。
Port 80 是 Unix's 的一个特别端口。所有低於 1024 的端口号都是保留给
系统使用的,例如,一般使用者(non-root)不能使用它们;取而代之的
是他们可以使用较高的端口号。
要使用 80 端口你必须以 root 帐号启动服务器。在连接到该端口後,接受
请求之前,阿帕奇将会切换为藉由 User 指令所设定权限较低的使用者
身分。
如果你不能使用 80 端口,选择任何其它没有使用到的端口。非 root 使用
者必须选择高於 1023 的端口号,像是 8000 。
安全: 如果你是以 root 启动服务器,确定不要把 User 设为 root 。
如果你以 root 身分处理连线的话,你的站台可能会暴露在攻击下。
3.22 require 指令
语法: require 项目名称 项目 项目 ...
用於: directory, .htaccess
需求: AuthConfig
状态: 核心
这个指令选择经过验认可以存取目录的使用者。允许使用的语法是:
。require user 使用者辨识码 使用者辨识码 ...
只有注明的使用者能存取该目录。
。require group 群组名称 群组名称 ...
只有在注明群组里的使用者能存取该目录。
。require valid-user
所有合法的使用者都可以存取该目录。
如果 require 出现在 节段里,那麽它会限制所注明的存取
方式,否则它会限制所有的存取方式。例如:
AuthType Basic
AuthName somedomain
AuthUserFile /web/users
AuthGroupFile /web/group
Limit <GET POST>
require group admin
Require 必须藉由 AuthName 以及 AuthType 这些指令,以及配合像是
AuthUserFile 以及 AuthGroupFile 指令(用来定义使用者与群组)
以便正确运作。
3.23 ResourceConfig 指令
语法: ResourceConfig 文件名称
预设: ResourceConfig conf/srm.conf
用於: server config, virtual host
状态: 核心
此服务器读取 httpd.conf 文件之後将会继续读取这个文件以取得更多
[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • C# 向二进制文件进行读写的操作方法

    该例子使用 BinaryStream 和 BinaryWriter 对二进制文件进行读写操作先上代码再根据我理解的所分享给各位朋友...2020-06-25