一、apache最基本的配置有哪些步骤
1,hostname先设置一下,不然 error.log中会有警告,虽然无关紧要但是总归不好看
2,设置 documentroot路径,端口设置一下也
3,配置 directory增加 index index.php index.html项,options项目禁止列目录
4,依然是 directory配置,设置.htaccess及其它文件的 access为 deny
5,配置 log目录及 logformat
6,配置虚拟主机,记得设置 access log指向你设置的 logformat,error log的目录设置好
7,启用 rewrite
8,其它项:采用 include包含的方式包含虚拟机配置文件目录,模块加载目录及模块配置文件目录,对于所有的目录项最好先声明全局变量方便统一修改
9,性能优化项目,配置 max_connect,start server number等相关参数,具体请 google
10,欢迎补充
二、apache服务器如何设置域名和IP地址
1、找到apache安装目录下,conf文件夹下的httpd.conf文件,用记事本或其他文本编辑软件打开。
2、在文件中搜索”Include conf/extra/httpd-vhosts.conf“这一行,去掉前面的”#“,开启虚拟主机功能。
3、找到apache安装目录下,conf/extra文件夹中的httpd-vhosts.conf文件,用记事本或其他文本编辑软件打开。
4、在文件的最后,加上以下代码后保存:
<VirtualHost*:80>
ServerName www.domain.com
DocumentRoot D:/www/domain
<Directory"D:/www/domain">
Options+Indexes+Includes+FollowSymLinks+MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
其中,80是服务器的端口,ServerName后面的是域名,DocumentRoot和Directory后面的是网站程序所在的目录。
5、找到服务器的hosts文件,以Windows系统为例,在C:\windows\system32\drivers\etc目录下,用记事本或其他文本编辑软件打开。
6、在hosts文件的末尾添加一行126.63.36.3 www.domain.com,并保存,重启服务后即可通过域名访问。
三、Apache的配置详细过程
抄的:
-----------
#这是主要的 Apache服务器配置文件。它包含#给服务器它的指
令的配置指令。#为详细的信息关于看见
<URL:http://www.apache.org/docs/>#指令。
#
#不简单地确实没有理解在这里读指令#他们做什么。他们仅仅作
为提示或提示在这里。如果你是不肯定的#请教联机的文档。你被
警告了。
#
#在这个文件被处理以后,服务器将寻找并且处理
# c:/website/apache/conf/srm.conf and then c:/website/apache/conf/access.conf
#除非你与 ResourceConfig制服了这些或#这里的 AccessConfig
指令。
#
#配置指令被组织进 3基本的节:# 1。控制 Apache服务器的操
作的指令处理作为一
#整个("全球的 environment')。
# 2.定义参数的指令“主要”或“缺省”服务器,
#它反应到那没被一台虚拟的主机处理的请求。
#这些指令也为设置提供缺省值
#所有的虚拟的主机。
# 3.为虚拟的主机的设置,它允许网请求被送到
#不同的 IP地址或主机名并且把他们处理了由
#同样的 Apache服务器进程。
#
#配置和日志文件名字:如果你为许多指定的文件名#服务器的控
制文件开始"/"(或为 Win32的“ drive:/”),#服务器将使用
那条显式的路径。如果文件名做*不*开始#与"/",
ServerRoot的值被附在前面--因此“ logs/foo.log”#与
ServerRoot到“/usr/local/apache”的**将被解释由#作为
“/usr/local/apache/logs/foo.log”的服务器。
#
#注意:文件名在哪儿被指定,你必须向前使用猛砍#而不是反斜
线(例如,“ c:/apache”而不是“ c:apache”)。#如果一
个驱动器字母被省略, Apache.exe在其上被定位的驱动器#将被
缺省使用。你总是供应,这被推荐#在绝对的路径的一个显式的驱
动器字母,然而,避免#混乱。
#
###节 1:全球的环境
#
#在这节的指令影响 Apache的全面的操作,#例如并发的请求的数
字它能处理或在哪儿它#能发现它的配置文件。
#
#
# ServerType是 inetd,或独立。 Inetd模式仅仅被支持在上#
Unix平台。
#
独立的 ServerType
#
# ServerRoot:在下面的目录树的顶服务器的#配置,误差,并且
记录文件被坚持。
#
#别增加一在目录路径的结束猛砍。
#
ServerRoot“ c:/网点/apache”
#
# PidFile:服务器应该在其记录它的进程的文件#鉴定数字当它
启动时。
#
PidFile logs/httpd.pid
#
# ScoreBoardFile:文件过去常存储内部的服务器进程信息。#不
所有的体系结构要求这。但是如果你的做(因为,你将知道#当你
运行 Apache时,这个文件将被创造)那么你*必须*保证那#
Apache的没有 2祈祷分享一样的纪分牌文件。
#
ScoreBoardFile元木/apache_status
#
#在标准的配置,服务器将处理 httpd.conf,# srm.conf,并且在
那份订单的 access.conf。后者 2个文件是#现在散布了空,当
被推荐所有的指令#为简洁被放在一个单个的文件。评价外面珍视
#下面是内建的缺省。你能让服务器忽略#这些文件旁边完全使用
“/dev/null”(为 Unix)或#“ nul”(为 Win32)为到
指令的参数。
#
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
#
#超时:秒的数字以前收到并且送超时。
#
超时 300
#
# KeepAlive:是否允许坚持的连接(多于#一个请求每连接)。
设定到“离开”撤销。
#
KeepAlive在上
#
# MaxKeepAliveRequests:允许的请求的最大的数字#在一个坚持
的连接期间。设定到 0允许无限的数量。#我们你让这个数字高的
reccomend,为最大的性能。
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout:秒数字等下一个请求从#在一样的连接上的
同样的顾客。
#
KeepAliveTimeout 15
#
#在 Win32上的 Apache总是创造一子进程处理请求。如果它#死,
另外的子进程自动地被创造。在孩子以内#多重的线程处理到来的
请求的进程。下一 2#指令控制线程和进程的行为。
#
#
# MaxRequestsPerChild:请求各个子进程的数字是#在孩子死以
前,允许了处理。孩子将这样退出#至于当时,在延长的使用以后
避免问题 Apache(并且也许#它使用的图书馆)漏缝存储器或其
它资源。在大多数系统上,这#确实不被需要,但是一些(例如
Solaris)确实有著名的漏缝#在图书馆。为 Win32,将这值放到
零(无限)#除非不那样劝告了。
#
MaxRequestsPerChild 0
#
#并发的线程的数字(即,请求)服务器将允许。#将这值放根据
服务器的应答(更#活跃的请求马上他们都更慢慢地被处理的工具
)并且#你将允许服务器消费的系统资源的数量。
#
ThreadsPerChild 50
#
#听:允许你把 Apache绑在特定的 IP地址或#端口,除了缺省。
也参见<VirtualHost>#指令。
#
#Listen 3000
#Listen 12.34.56.78:80
#
# BindAddress:你能与这选择支持虚拟的主机。这条指令#被用
来告诉服务器哪个听的 IP地址。它能也#包含"*",一个 IP地
址,或充分合格的因特网域名。#也参见<VirtualHost>并且听指
令。
#BindAddress*
#
#动态分享的对象( DSO)支持
#
#能使用作为一 DSO被造的一个模块的功能你#必须放相应的“
LoadModule”这样在这个地点排队#在它被包含了的指令是他们被
使用的实际上可得到的 _before_。#请为更多在 Apache 1.3分发
读文件 README.DSO#关于 DSO机制和跑的细节" apache- l"
为表已经#内建(静态地连接了并且这样总是可得到)在你的
Apache的模块。
#
#注意:模块在其被装载的顺序是重要的。别变化#在没有专家忠
告下面的顺序。
#
#LoadModule anon_auth_module
modules/ApacheModuleAuthAnon.dll#LoadModule
cern_meta_module modules/ApacheModuleCERNMeta.dll
#LoadModule digest_module modules/ApacheModuleDigest.dll
#LoadModule expires_module modules/ApacheModuleExpires.dll
#LoadModule headers_module
modules/ApacheModuleHeaders.dll#LoadModule proxy_module
modules/ApacheModuleProxy.dll#LoadModule rewrite_module
modules/ApacheModuleRewrite.dll#LoadModule speling_module
modules/ApacheModuleSpeling.dll#LoadModule
status_module modules/ApacheModuleStatus.dll#LoadModule
usertrack_module modules/ApacheModuleUserTrack.dll
#
# ExtendedStatus控制 Apache是否将产生“完整”的地位#信息
( ExtendedStatus在上)或就基本的信息( ExtendedStatus#
离开)什么时候处理器被调用的“服务者地位”。缺省关。
#
#ExtendedStatus在上
###节 2:“主要”的服务器配置
#
#在这节的指令安装被使用了由的值“主要”#服务器,它反应到
没被处理由的任何请求一#<VirtualHost>定义。这些值也提供缺省
为#你可以以后在文件定义的任何<VirtualHost>集装箱。
#
#这些指令的所有可以在<VirtualHost>集装箱内出现,#在此情况
这些缺省设置将被制服为#虚拟的主机正在被定义。
#
#
#如果你的 ServerType指令(更早在“全球的环境”设定#节)
被设置到“ inetd”,下一条很少指令没有任何东西#自从他们
的设置的效果被 inetd配置定义。#向前跳过到 ServerAdmin指令。
#
#
#端口:独立的服务器听到其的端口。
#
端口 80
#
# ServerAdmin:你的地址,有服务器的问题应该在此#发电子邮
件。这个地址在一些产生服务者的页上出现,如此的#当误差记录。
#
ServerAdmin you@your.address
#
# ServerName允许你使一台主机命名哪个被送回到顾客为#你的如
果它比一个不同,程序将得到的服务器(即,使用#“ www”而
不是主机的真实的名字)。
#
#注意:你不能就发明主机名字和他们工作的希望。名字你#定义
这必须你的主机有一个有效的 DNS名字。如果你不理解#这,问你
的网络主管。
#如果你的主机没有一个登记的 DNS名字,这里进入它的 IP地址。
#你将必须由它的地址存取它(例如, http://123.45.67.89/)#
不管怎样,并且这将在一个理智的方法使重定向成为工作。
ServerName http://127.0.0.1/
#
# DocumentRoot:你将从其提供的目录你的#文件。由缺省,所有
的请求从这个目录被拿,但是#符号的连接和别名可以被用来指向
另外的地点。
#
DocumentRoot“ c:/网点”
#
#有存取到此 Apache的每个目录,能与方面被设置#到哪个服务
和特征在那被允许或残废#目录(并且它的子目录)。
#
#第一,我们设置“缺省”是一个很限制的**#允许。
#
<Directory/>
选择 FollowSymLinks
AllowOverride没有
</Directory>
#
#向前从这个点你必须具体地说允许的笔记#被启用的特别的特征
-因此如果一些东西的不工作作为#你可能期望,保证你具体地说
启用了它#在下面。
#
#
#这应该被改变到你将 DocumentRoot放到无论什么。
#
<Directory"c:/网点/apache/htdocs">
#
#这可以也是“没有”,“索引”的“所有的”,或任何联合,#“
包括”,“ FollowSymLinks”,“ ExecCGI”,或“ MultiViews
”。
#
#注意“ MultiViews”必须被命名*明确地*---“选择所有”#
别把它给你。
#
选择索引 FollowSymLinks MultiViews
#
#这控制哪个选择在目录罐头的.htaccess文件#制服。能也是“
选择”的“所有的”,或任何联合,“ FileInfo”,#“
AuthConfig”,并且“限制”
#
AllowOverride没有
#
#能得到的控制从这个服务器填满。
#
顺序允许,否认
从所有允许
</Directory>
#
# UserDir:到一个用户的家之上被添加的目录的名字#目录如果
一个~用户请求被收到。
#
#在 Win32下面,我们不当前确实试着决定主目录# Windows登录,
例如那的格式下面这样需要被使用。看#为细节的 UserDir文档。
#
UserDir“ c:/网点/apache/用户/”
#
# DirectoryIndex:文件或文件命名作为一写得前的 HTML使用#
目录索引。有空格的分开的多重的入口。
#
DirectoryIndex index.html index.php index.php3
index.phtml
#
# AccessFileName:在每个目录寻找的文件的名字#为存取控制信
息。
#
AccessFileName.htaccess
#
#下列行阻止.htaccess文件被看由#网顾客。自从.htaccess
文件经常包含授权#信息,存取为安全原因被否认。注释#这些如
果你想要网来宾看见内容,外面排队#.htaccess文件。如果你上
面改变 AccessFileName指令,#肯定这里做相应的变化。
#
<Files.htaccess>
顺序允许,否认
从所有否认
</Files>
#
# CacheNegotiatedDocs:由缺省, Apache送" Pragma:没有缓
存"与各个#在内容的基础上被谈判的文件。这问代理#不缓冲
这个文件的服务器。下列行停用的 Uncommenting#这行为,并且代
理将被允许缓冲文件。
#
#CacheNegotiatedDocs
#
# UseCanonicalName:(新为 1.3)与这设置打开了,无论何
时# Apache需要构造一
引用自我 URL(参考回
来的一 URL#到服务器
反应正在来从)它将使
用 ServerName并且#
形成一个“正规”的名字
的端口。与这出发,
Apache愿望#使用顾客
供应了的 hostname:port
,什么时候可能。这#
也在 CGI手迹影响
SERVER_NAME和
SERVER_PORT。
#
UseCanonicalName在上
#
# TypesConfig描述在哪儿 mime.types文件(或相等)是#被
发现。
#
TypesConfig conf/mime.types
#
# DefaultType是服务器将在一个文件使用的缺省 MIME类型#如
果它不能不那样决定一个,例如从文件名扩展。#如果你的服务器主
要包含,文章或 HTML记录,“普通文本”是#好值。如果你的内
容的大多数是二进制的,例如应用程序#或图象,你可以相反想要
使用“申请/octet-stream”到#阻止浏览器试着显示二进制的文
件好像他们是#文章。
#
DefaultType普通文本
#
#模块允许服务器到各种各样的使用的 mod_mime_magic提示从#
决定它的类型的文件自己的内容。 MIMEMagicFile#指令告诉模块
提示定义在哪儿被定位。# mod_mime_magic不是缺省服务器的部分
(你必须增加#它你自己与一 LoadModule [看见 DSO段在"全
球#环境"节 ],或,因此它在一只<IfModule>集装箱被封装。
#如果, MIMEMagicFile指令将仅仅被处理的这个工具#模块是服
务器的部分。
#
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/魔术
</IfModule>
#
# HostnameLookups:记载顾客或只是他们的 IP地址的名字
#例如, www.apache.org(在上)或 204.62.129.132(离开)。
#因为如果,它将为网络是总的来说好一些的,缺省关人#不得不
会意地打开这个特征,自从启用,它意味着那#每个顾客请求将导
致至少一个查找请求到#名字服务器。
#
HostnameLookups离开
#
# ErrorLog:错误记录文件的地点。
#如果你不在一<VirtualHost>以内指定一条 ErrorLog指令#容
器,联系到那台虚拟的主机的错误消息将是#这里记载了。如果你
**为一<VirtualHost>定义一个错误日志文件#容器,那台主机
的错误将这里被记载在那里并且不。
#
ErrorLog logs/error.log
#
# LogLevel:控制被记载了到 error.log的消息的数字。#可能的
值包括:调试,信息,通知,警告,误差, crit,#警戒, emerg。
#
LogLevel警告
#
#下列指令为使用定义一些格式绰号与#一条 CustomLog指令(
看在下面)。
#
LogFormat"%h%l%u%t"%r"%>s%b"%{Referer}i""%{User-Agent}i"" combined
LogFormat“% h% l% u% t”%r"%> s% b"普通
LogFormat"%{ Referer}我->% U" referer
LogFormat"%{用户代理人}我"代理人
#
#存取日志文件的地点和格式(普通的日志文件格式)。#如果你
不在一<VirtualHost>以内定义任何存取日志文件#容器,他们将
这里被记载。相反地,如果你**#定义每--<VirtualHost>存取日
志文件,交易将是#在那里记载了并且*不*在这个文件。
#
普通的 CustomLog logs/access.log
#
#如果你想有代理人和 referer日志文件, uncomment#跟随指令。
#
#CustomLog logs/referer.log referer
#CustomLog logs/agent.log代理人
#
#如果你与存取比较喜欢一个单个的日志文件,代理人,并且
referer信息#(联合的日志文件格式)你能使用下列指令。
#
#CustomLog logs/access.log联合了
#
#选择性地增加包含服务器版本和虚拟的主机的行#到产生服务者
的页的名字(误差记录, FTP目录目录,# mod_status和 mod_info
等等输出,然而并非 CGI产生了文件)。#到“电子邮件”到的
**也包括一 mailto:连接到 ServerAdmin。#设定到之一:在
上|离开|电子邮件
#
ServerSignature在上
#
#别名:与你需要比,这里增加同样多别名(没有限制)。格式是
#别名 fakename realname
#
#如果你包括一走,注意那/在 fakename上那么服务器愿望#要
求它在 URL在场。因此“/icons”不是在这的 aliased#例子,
仅仅“/icons/”……
#
Alias/icons/"c:/website/apache/icons/"
#
# ScriptAlias:哪个目录包含服务器手迹的这控制。#
ScriptAliases是实质上与别名一样,除了那#在 realname目录
的文件被当作应用程序并且#当请求时而非当文件送了到顾客,由
服务器运行。#关于走的"/"的一样的规则适用于 ScriptAlias指
令至于#别名。
#
ScriptAlias/cgi-bin/"c:/website/apache/cgi-bin/"
#
#“ c:/网点/apache/cgi-bin”应该被改变到无论什么你的
ScriptAliased# CGI目录存在,如果你把那设置。
#
<Directory"c:/网点/apache/cgi-bin"> AllowOverride没有
选择没有
</Directory>
#
#重定向允许你把过去常存在在的文件告诉顾客#你的服务器的
namespace,但是不再做。这允许你告诉#顾客在哪儿寻找重定位
的文件。
#格式化:重定向 old-URI new-URL
#
四、apache配置文件详解(apache设置的基本配置)
Apahce配置指令可以分为两块,核心指令和第三方提供的指令。在apache中,每条指令对应一个模块,而在所有模块中,最重要的是core _ module、so_moudle、http _ module和mpm模块。除了so _ mold,其他模块都不能关闭或禁止。一:httpd.conf
主服务器部分
1.ServerName:定义apache的默认主机名,可以是域名或IP地址。
2.ServerRoot:用于定义服务器所在的目录。在配置过程中,该路径通常由-前缀指定。
3.DocumentRoot:用于指定apache提供页面服务的根目录。该路径必须是绝对路径,而不是相对路径。如果有空格,需要用引号括起来。
4.ServerAdmin:发生错误后服务器向管理员发送电子邮件的地址。
5.ServerAlias和Alias:两者都用于映射目录,只是ServerAlias将映射的目录识别为CGI脚本目录,并将该目录中的所有文件视为CGI脚本。但是Alias只映射到一个普通的目录。
6.用户和组:用于定义用于运行apache子流程的用户和用户组。
7.Listen:用于定义监听apache的端口号。
8.LoadModule指令:用于加载模块或目标文件load module CGI _ module modules/mod _ CGI. so _ module。
9.错误文档:错误文档500 quot未知错误 quot错误文档404 quot自我意义的错误页面信息
/var/server/www/CGI-bin/missing _ 404. pl错误文档402
10.选项:决定在哪些目录中使用这些功能。这些特征如下:
无:选项命令不起作用。
Exec:允许CGI脚本在当前目录中执行。
包括:允许SSI函数。
允许使用IncludesNOEXEC: SSI函数,但禁用exec cgi和exec cmd函数。
索引:打开索引功能。例如,如果在请求目录的URLz中没有由DirectoryIndex指令指定的索引文件,服务器将自动返回请求目录的内容列表。
在当前环境中允许符号连接,但是在位置容器中将被忽略。
All:使用除多视图之外的所有功能,这也是选项的默认参数。
MultiViews:用于启动mod_negotiations模块提供的多视图功能。
1.ServerTokens: OS/Major/Full会影响页脚信息的细节,所以一般不建议使用。
集装箱部分
1.IfModule容器:容器作用于模块,会先判断模块是否加载,再决定是否处理,即只有判断结果为真,才会执行容器中的指令;否则,如果为false,所有指令都将被忽略。可以使用IfModule模块名或IfModule!模块名来确定模块是否已加载。
如果模块mpm_netware_module
index.html目录索引
/IfModule
加载后执行。
IfModule!mpm _ netware _模块
index.html目录索引
/IfModule
如果未加载,则执行。
2 IfDefine容器:它封装了一组只在条件为真时才生效的指令,作用于serverconfig、虚拟主机、目录、htaccess和IfModule。不同的是它判断模块是否加载,而IfDefine判断的是条件。
根据
if定义代理
load module proxy _ module modules/lib proxy. so
/IfDefine
3目录目录匹配容器:
目录:让它封装的指令在它指定的目录或者子目录下工作。该目录必须是完整的路径。当然,也可以使用通配符*?匹配目录,也考虑用来确定字符范围,但是无论哪一个都可以匹配/
目录/var/apache/html
订单拒绝,允许
全部否认
/目录
上面的示例禁止访问/var/apache/html目录。对/var/apache/html的任何请求都将被拒绝。
如果想让目录使用正则表达式,需要加一个~
目录~《^/var/apache{2}/html》
订单拒绝,允许
允许所有人
/目录
DirectoryMatch:类似于directory,只是它可以直接接受常规匹配,不需要添加~符号。
导演匹配《^/var/apache{2}/html》
订单拒绝,允许
允许所有人
/目录匹配
4文件和文件匹配
文件:仅适用于文件。也可以在正则表达式前使用通配符和和~来使用正则表达式。
文件“^.css
订单拒绝,允许
允许所有人
/文件
匹配:没有添加~符号的文件。
文件匹配”。,然后是文件和文件匹配容器,然后是位置和位置匹配容器。
位置/var/apache/html
订单拒绝,允许
允许所有人
/位置
Direcotry/var/apache/html
订单允许、拒绝
允许所有人
否认来自www.jons.com
/Direcotry
在上面的例子中,Apache将首先处理目录容器,最后处理的位置容器将覆盖以前的目录配置,因此www.json.com将被允许用户访问。如果容器相同,将根据字典顺序从短到长进行处理。
王者之心2点击试玩
文章到此结束,希望我们对于Apache的配置与运用_apache配置的问题能够给您带来一些启发和解决方案。如果您需要更多信息或者有其他问题,请随时联系我们。