技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

开源Apache服务器安全防护技术精要及实战(1)

Apache 服务简介Web服务器也称为WWW服务器或HTTP服务器(HTTPServer),它是Internet上最常见也是使用最频繁的服务器之一,Web服务器能够为用户提供网页浏览、论坛访问等等服务。... 全文

Apache服务器安全 Apache服务器

如何加强Apache Web服务器的安全防范?(1)

【51CTO.com 独家译稿】在Linux上安装安全的Web服务器并加以维护并非易事。这需要深入了解Linux、Apache和PHP服务器端的选项。主要问题之一是,如何在安全性、生产力和易用性三者之间求得平衡。最好的解决办法取决于项目的具体需求,但是安装的所有服务器都有某些共同的特点。下面是为LAMP服务器保驾护航的一些最佳实践,涵盖服务器配置到PHP设置微调的诸多方面。为Web服务器保驾护航的任务应从加固Linux操作系统入手。加固Linux这个话题本身就可以写整整一篇文章,但是某些概念在提供Web内容方面显得特别重要:... 全文

Apache Web服务器 Web服务器 服务器安全

Apache服务器配置文件详解

apache2.0,apache2.2,apache2.2.2,httpd.conf 详尽中文解释,如何配置设置,非常详细 转自:http://linux-down.kmip.net/ # # 基于 NCSA 服务的配置文件。 # #这是Apache服务器主要配置文件。 #它包含服务器的影响服务器运行的配置指令。 #参见<URL:http://httpd.ache.org/doc-2.0/>以取得关于这些指令的详细信息 # #不要只是简单的阅读这些指令信息而不去理解它。 #这里只是做了简单的说明,如果你没有参考在线文件,你就会被警告。 # #这些配置指令被分为下面三个部分: #1. 控制整个Apache服务器行为的部分(即全局环境变量) #2. 定义主要或者默认服务参数的指令,也为所有虚拟主机提供默认的设置参数 #3. 虚拟主机的设置参数 # #配置和日志文件名:如果你指定的文件名以“/”开始(win32下以“dirver:/”), #服务器将使用绝对路径,如果文件名不是以“/”开始的,那么它将把ServerRoot #的值附加在文件名的前面,例如,对“logs/foo.log",如果ServerRoot的值 #为“/usr/local/apache2”,则该文件应为“/usr/local/apache2/logs/foo.log” # ##第一区:全局环境参数 # #这里设置的参数将影响整个Apache服务器的行为; #例如Apache能够处理的并发请求的数量等。 # #ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。 # #注意!如果你想要将它指定为NFS或其它网络上的位置, #请一定要去阅读与LockFile有关的文档(可能在 #<URL:http://httpd.apache.org/docs-2.0 ... .html#lockfile>)。 #这将会使你自己也能解决很多问题。 # #路径的结尾不要添加斜线。 # ServerRoot "/usr/loacl/apache2" # #串行访问的锁文件必须保存在本地磁盘上 # <IfModule !mpm_winnt.c> <IfModule !mpm_neware.c> #LockFile logs/accept.lock </IfModule> </IfModule> #ScoreBoardFile:用来保存内部服务进程信息的文件。 #如果未指明(默认),记分板(scoreboard)将被保存在一个匿名的共享内存段中, #并且它不能被第三方软件所使用。 #如果指定了,要确保不能使用两个Apache使用同一个记分板文件, #这个记分板文件必须保存在本地磁盘上。 # <IfModule !mpm_netware.c> <IfModule !perchild.c> #ScoreBoardFile logs/apache_runtime_status <IfModule> <IfModule> # #PidFile:记录服务器启动进程号的文件。 # <IfModule !mpm_neware.c> PidFile logs/httpd.pid </IfModule> # #Timeout:接收和发送前超时秒数 # Timeout 300 # #KeepAlive:是否允许稳固的连接(每个连接有多个请求), #设为"Off"则停用。 # KeepAlive On # #MaxKeepAliveRequests:在稳固连接期间允许的最大请求数, #设为0表示无限制接入。 #我们推荐你将其设为一个较大的值,以便提高性能 MaxKeepAliveRequests 100 # #KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数 # KeepAliveTimeout 15 ## ##Server-Pool大小设定(针对MPM的) ## # prefork MPM # StartServers:启动时服务器启动的进程数 # MinSpareServers:保有的备用进程的最小数目 # MaxSpareServers:保有的备用进程的最大数目 # MaxClients:服务器允许启动的最大进程数 # MaxRequestsPerChild:一个服务进程允许的最大请求数 <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestPerChild 0 </IfModule> # worker MPM # StartServers:服务器启动时的服务进程数目 # MaxClients:允许同时连接的最大用户数目 # MinSpareThreads:保有的最小工作线程数目 # MaxSpareThreads:允许保有的最大工作线程数目 # ThreadsPerChild:每个服务进程中的工作线程常数 # MaxRequestsPerChild:服务进程中允许的最大请求数目 <IfModule worker.c> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> # perchild MPM # NumServers:服务进程数量 # StartThreads:每个服务进程中的起始线程数量 # MinSpareThreads:保有的最小线程数量 # MaxSpareThreads:保有的最大线程数量 # MaxThreadsPerChild:每个服务进程允许的最大线程数 # MaxRequestsPerChild:每个服务进程允许连接的最大数量 <IfModule perchild.c> NumServers 5 StartThreads 5 MinSpareThreads 5 MaxSpareThreads 10 MaxThreadsPerChild 20 MaxRequestsPerChild 0 </IfModule> # WinNT MPM # ThreadsPerChild:服务进程中工作线程常数 # MaxRequestsPerChild:服务进程允许的最大请求数 <IfModule mpm_winnt.c> ThreadsPerChild 250 MaxRequestsPerChild 0 </IfModule> # BeOS MPM # StartThreads:服务器启动时启动的线程数 # MaxClients:可以启动的最大线程数(一个线程等于一个用户) # MaxRequestsPerThread:每个线程允许的最大请求数 <IfModule beos.c> StartThreads 10 MaxClients 50 MaxRequestsPerThread 10000 </IfModule> # NetWare MPM # ThreadStachSize:为每个工作线程分配的堆栈尺寸 # StartThreads:服务器启动时启动的线程数 # MinSpareThreads:用于处理实发请求的空闲线程数 # MaxSpareThreads:空闲线程的最大数量 # MaxThreads:在同一时间活动的最大线程数 # MaxRequestPerChild:一个线程服务请求的最大数量, # 推荐将其设置为0,以实现无限制的接入 <IfModule mpm_netware.c> ThreadStackSize 65536 StartThreads 250 MinSpareThreads 25 MaxSpareThreads 250 MaxThreads 1000 MaxRequestPerChild 0 </IfModule> # OS/2 MPM # StartServers:启动的服务进程数量 # MinSpareThreads:每个进程允许的最小空闲线程 # MaxSpareThreads:每个进程允许的最大空闲线程 # MaxRequestsPerChild:每个服务进程允许的最大连接数 <IfModule mpmt_os2.c> StartServers 2 MinSpareThreads 5 MaxSpareThreads 10 MaxRequestsPerChild 0 </IfModule> # # Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值 # 参见<VirtualHost>指令 # 使用如下命令使Apache只在指定的IP地址上监听, # 以防止它在IP地址0.0.0.0上监听 # # Listen 12.34.56.78:80 Listen 80 # # 动态共享支持(DSO) # # 为了能够使用那些以DSO模式编译的模块中的函数,你必须有相应的“LoadModule”行, # 因此,在这里包含了这些指令,以便能在使用它之前激活。 # 那些静态编译的模块不需要在这里列出 (即以“httpd -l”列出的模块) # # 示例: # LoadModule foo_module modules/mod_foo.so # # # ExtendedStatus:当调用“server-status”时,控制Apache是产生“全”状态 # 信息(ExtendedStatus On),还是产生基本信息(ExtendedStatus Off)。 # 默认为off # # ExtendedStatus On ### 第二区:“主”服务配置 # # 这一区建立被 “主” 服务器用的指令值,以回应那些不被 <VirtualHost> # 定义处理的任何请求。 # 这些数值也提供默认值给后面定义的<VirtualHost>容器。 # 如果<VirtualHost>中有定义,那么这里定义的指令值将被 # <VirtualHost>中的定义所覆盖。 # <IfModule !mpm_winnt.c> <IfModule !mpm_neware.c> # # 如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动 # 然后再将它切换为你想要使用的用户或组。 # # User/Group:运行httpd的用户和组 # 在SCO (ODT3)上使用“User nouser”和“Group nogroup” # 在HPUX上,你可能不能以nobody身份使用共享内存,建议创建一个www用户。 # 注意一些核心(kernel)在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET), #节在这些系统上不要使用“Group #-1”。 # User nobody Group #-1 </IfModule> </IfModule> # # ServerAdmin:你的邮件地址,当发生问题时Apache将向你发出邮件。 # 作为一个出错文档,这个地址显示在server-generated页上, # 例如:admin@your-domain.com # ServerAdmin kreny@sina.com # # ServerName指定Apache用于识别自身的名字和端口号。 # 通常这个值是自动指定的,但是我们推荐你显式的指定它以防止启动时出错 # # 如果你为你的主机指定了一个无效的DNS名,server-generated重定向将不能工作。 # 参见UseCanonicalName指令 # # 如果你的主机没有注册DNS名,在这里键入它的IP地址 # 无论如何,你必须使用它的IP地址来提供服务, # 这里使用一种容易理解的方式重定向服务 ServerName www.dalouis.com:80 # # UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令。 # 当设置为 “Off”时,Apache会使用用户端提供的主机名和端口号。 # 当设置为“On”,Apache会使用ServerName指令的值。 # UseCanonicalName Off # # DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。 # 但是可以使用符号链接和别名来指向到其他的位置。 # DocumentRoot "/home/redhat/public_html" # # Apache可以存取的每个目录都可以配置存取权限(包括它的子目录)。 # # 首先,我们配置一个高限制的特征。 # 这将禁止访问文件系统所在的目录,并添加你希望允许访问的目录块。 # 如下所示 <Directory /> Order Deny,Allow Deny from all </Directory> # # 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用。 # - 所以,如果Apache没有象你所期待的那样工作的话, # 请检查你是否在下面明确的指定它可用。 # # # 这将改变到你设置的DocumentRoot # <Directory "/home/redhat/public_html"> # # Options:这个指令的值可以是“None”,“All”,或者下列选项的任意组合: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # 注意,“MultiViews”必须被显式的指定,“Options All”不能为你提供这个特性。 # # 这个指令既复杂又重要,请参见 #“http://httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的信息。 # Options FollowSymLinks # # AllowOverride控制那些被放置在.htaccess文件中的指令。 # 它可以是“All”,“None”,或者下列指令的组合: # Options FileInfo AuthConfig Limit # AllowOverride None # # 控制谁可以获得服务。 # Order allow,deny Allow from all </Directory> # # UserDir:指定在得到一个~user请求时将会添加到用户home目录后的目录名。 # UserDir public_html # 为防止在UserDir指令上的漏洞,对root用户设置 # 象“./”这样的UserDir是非常有用的。 # 如果你使用Apache 1.3或以上版本,我们强烈建议你 # 在你的服务器配置文件中包含下面的行 UserDir disabled root # # 下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例: # # <Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit Indexes # Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec # <Limit GET POST OPTIONS PROPFIND> # Order allow,deny # Allow from all # </Limit> # <LimitExcept GET POST OPTIONS PROPFIND> # Order deny,allow # Deny from all # </LimitExcept> # </Directory> # # DirectoryIndex:定义请求是一个目录时,Apache向用户提供服务的文件名 # # index.html.var文件(一个类型映象文件)用于提供一个文档处理列表, # 出于同样的目的,也可以使用MultiViews选项,但是它会非常慢。 # DirectoryIndex index.php index.html index.html.var # # AccessFileName:在每个目录中查询为目录提供附加配置指令的文件的文件名。 # 参见AllowOverride指令。 # AccessFileName .htaccess # # 下面的行防止.htaccess和.htpasswd文件被Web客户查看。 # <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> # # Typeconfig:定义在哪里查询mime.types文件。 # TypeConfig conf/mime.types # # DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型。 # 如果你的服务主要包含text或HTML文档,“text/plain”是一个好的选择; # 如果大多是二进制文档,诸如软件或图像,你应使用 # “application/octer-stream”来防止浏览器象显示文本那样显示二进制文件。 # DefaultType text/plain # # mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索(hints), # 这个MIMEMagicFile指令定义hints定义所在的文件。 # <IfModule mod_mime_magic.c> MIMEMagicFile conf/magic </IfModule> # # HostnameLookups:指定记录用户端的名字还是IP地址,例如,本指令为on时 # 记录主机名,如www.apache.org;为off时记录IP地址,204.62.129.132。 # 默认值为off,这要比设为on好得多,因为如果设为on则每个用户端请求都将会 # 至少造成对 nameserver 进行一次查询。 # HostnameLookups Off # # EnableMMAP:控制是否进行内存转储(如果操作系统支持的话)。 # 默认为on,如果你的服务器安装在网络文件系统上(NFS),请关闭它。 # 在一些系统上,关闭它会提升系统性能(与文件系统类型无关); # 具体情况请参阅http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap # # EnableMMAP off # # EnableSendfile:控制是否使用sendfile kernel支持发送文件 # (如果操作系统支持的话)。默认为on,如果你的服务器安装在网络文件系统 # (NFS)上,请你关闭它。 # 参见http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile # # EnableSendfile off # # ErrorLog:错误日志文件定位。 # 如果你没有在<VirtualHost>内定义ErrorLog指令,这个虚拟主机的错误信息 # 将记录在这里。如果你在那儿定义了ErrorLog,这些错误信息将记录在你所 # 定义的文件里,而不是这儿定义的文件。 # ErrorLog logs/error_log # # LogLevel:控制记录在错误日志文件中的日志信息数量。 # 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg。 # LogLevel warn # # 下面的指令为CustomLog指令定义格式别名。 # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # 你需要安装了mod_logio.c模块才能使用%I和%O。 # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio # # 指定接入日志文件的定位和格式(一般日志格式)。 # 如果你没有在<VirtualHost>内定义这个指令,传输信息将记录在这里, # 如果你定义了这个指令,则记录在你指定的位置,而不是这儿定义的位置。 # CustomLog logs/access_log common # # 如果你想要记录agent和referer信息,可以使用下面的指令 # # CustomLog logs/referer_log referer # CustomLog logs/agent_log agent # # 如果你想要使用一个文件记录access,agent和referer信息, # 你可以如下定义这个指令: # # CustomLog logs/access_log combined # # ServerTokens # 这个指令定义包含在HTTP回应头中的信息类型。默认为“Full”, # 这表示在回应头中将包含模块中的操作系统类型和编译信息。 # 可以设为列各值中的一个: # Full | OS | Minor | Minimal | Major | Prod # Full传达的信息最多,而Prod最少。 # ServerTokens Full # # 随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中 # (内部错误文档,FTP目录列表,mod_status和mod_info输出等等,除了CGI错误 # 或自定义的错误文档以外)。 # 设为“EMail”将包含一个指向ServerAdmin的mailto:连接。 # 可以为如下值:On | Off | EMail # ServerSignature On # # Aliases:在这时添加你需要的别名,格式如下: # Alias 别名 真实名 # # 注意,如果你在别名的未尾包含了“/”,那么在URL中也需要包含“/”。 # 因此,“/icons”不是这个示例中的别名。 # 如果别名中以“/”结尾,那么真实名也必须以“/”结尾, # 如果别名中省略了结尾的“/”,那么真实名也必须省略。 # # 我们使用别名“/icons/”来表示FancyIndexed目录列表,如果你不使用、 # FancyIndexing,你可以注释掉它。 # # Alias /icons/ "/usr/local/apache2/icons/" # <Directory "/usr/local/apache2/icons"> # Options Indexes MultiViews # AllowOverride None # Order allow,deny ## Allow from all # </Directory> # # 这将改变ServerRoot/manual。这个别名提供了手册页所在的位置, # 即使你改变了你的DocumentRoot。如果你对有无手册页并不在意的话, # 你可以注释掉它。 # Alias /manual "/usr/loacl/apache2/manual" <Directory "/usr/local/apache2/manual"> Options Indexes FollowSymLinks MultiViews IncludesNoExec AddOutputFilter Includes html Order allow,deny Allow from all </Directory> # # ScriptAlias:指定包含服务脚本的目录。 # ScriptAliases 本质上与Aliases一样,除了这里的文档在请求时做为程序处理处理以外。 # 尾部的“/”规则与Alias一样 # ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/" # 这里是添加php 4支持的指令 AddType application/x-httpd-php .php LoadModule php4_module modules/libphp4.so <IfModule mod_cgid.c> # # 添加mod_cgid.c设置,mod_cgid提供使用cgid进行通讯的UNIX套接字的 # 脚本接口路径。 # # Scriptsock logs/cgisock </IfModule> # # 将"/usr/local/apache2/cgi-bin"改为你的ScriptAliased指定的CGI目录, # 如果你配置了的话。 # <Directory "/usr/local/apache2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> # # Redirect允许你告诉客户端使用存在于服务器名字空间中的文档, # 而不是现在的,这帮助客户定位那些改变了位置的文档。 # 例如: # Redirect permanent /foo http://www.example.com/bar # # 控制server-generated目录列表显示的指令 # # # IndexOptions:控制server-generated目录列表显示特征。 # IndexOptions FancyIndexing VersionSort # # AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示, # 只适用于FancyIndexed指令 # AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip AddIconByType (TXT,/icons/text.gif) text/* AddIconByType (IMG,/icons/image2.gif) image/* AddIconByType (SND,/icons/sound2.gif) audio/* AddIconByType (VID,/icons/movie.gif) video/* AddIcon /icons/binary.gif .bin .exe AddIcon /icons/binhex.gif .hqx AddIcon /icons/tar.gif .tar AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip AddIcon /icons/a.gif .ps .ai .eps AddIcon /icons/layout.gif .html .shtml .htm .pdf AddIcon /icons/text.gif .txt AddIcon /icons/c.gif .c AddIcon /icons/p.gif .pl .py AddIcon /icons/f.gif .for AddIcon /icons/dvi.gif .dvi AddIcon /icons/uuencoded.gif .uu AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl AddIcon /icons/tex.gif .tex AddIcon /icons/bomb.gif core AddIcon /icons/back.gif .. AddIcon /icons/hand.right.gif README AddIcon /icons/folder.gif ^^DIRECTORY^^ AddIcon /icons/blank.gif ^^BLANKICON^^ # # DefaultIcon 为那些没有显式定义图标的文件提供处理 # DefaultIcon /icons/unknown.gif # # AddDescription允许你在server-generated索引后放置一个简短的说明。 # 只对FancyIndexed指令有效。 # 格式:AddDescription "说明" 文件名 # # AddDescription "GZIP compressed document" .gz # AddDescription "tar archive" .tar # AddDescription "GZIP compressed tar archive" .tgz # # ReadmeName指定服务器默认查找的README文件的名字,并添加到目录列表中 # # HeaderName指定目录列表前缀文件的文件名 ReadmeName README.html HeaderName HEADER.html # # IndexIgnore指定目录索引忽略并且不包含在列表中的文件名集合, # 支持shell类型的通配符。 # IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t # # AddEncoding允许你在信息传送中使用(Mosaic/X 2.1+)解压缩信息, # 注意:不是所有的浏览器都支持这个选项。 # 尽管名字相似,但是下列的指令与上面的FancyIndexing定制指令不同。 # AddEncoding x-compress Z AddEncoding x-gzip gz tgz # # DefaultLanguage和AddLanguage允许你指定文档的语言。 # 这使你可以让用户用容易理解的语言浏览文档。 # # 指定默认的语言,这意味着所有没有指定语言的包都将使用该语言。 # 多数情况下,你也许并不想设置它,除非你确信这样做是正确的。 # 通常,不使用确定的语言比使用错误的语言要好。 # # DefaultLanguage nl # # 注意1:作为语言关键字的词缀毫无疑问是不能一样的--采用波兰 # 文的文档(网络标准语言代码是pl)将希望使用“AddLanguage pl .po” # 来避免与perl脚本的一般词缀产生二义性。 # # 注意2: 下面的例子举例说明在一些范例中语言的二字符缩写与它的国家 # 的二字符缩写不相同,例如 “Danmark/dk” 和 “Danmark/da” 的比较. # # 注意3: 在 “ltz” 的情况下我们使用三字符词缀,违犯了 RFC的规定, # 运行中将修复它并使用RFC1766标准取得参考数据。 # # Danish (da) - Dutch (nl) - English (en) - Estonian (et) # French (fr) - German (de) - Greek-Modern (el) # Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (ko) # Portugese (pt) - Luxembourgeois* (ltz) # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz) # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja) # Russian (ru) - Croatian (hr) # AddLanguage da .dk AddLanguage nl .nl AddLanguage en .en AddLanguage et .et AddLanguage fr .fr AddLanguage de .de AddLanguage he .he AddLanguage el .el AddLanguage it .it AddLanguage ja .ja AddLanguage pl .po AddLanguage ko .ko AddLanguage pt .pt AddLanguage nn .nn AddLanguage no .no AddLanguage pt-br .pt-br AddLanguage ltz .ltz AddLanguage ca .ca AddLanguage es .es AddLanguage sv .sv AddLanguage cz .cz AddLanguage ru .ru AddLanguage tw .tw AddLanguage zh-tw .tw AddLanguage hr .hr # LanguagePriority允许你在会话过程中优先使用一些语言。 # # 以优先次序递减的方式列出它们。我们或多或少地采用按字母排列顺序的方式 # 排列它们。也许你想要改变这个顺序。 LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw # # ForceLanguagePriority 允许你为MULTIPLE CHOICES(Prefer)[在通讯的情况下] # 或NOT ACCEPTABLE(Fallback)[没有可接受的语言匹配的情况]提供一个结果页。 # ForceLanguagePriority Prefer Fallback # # 为发送出的所有页指定默认的字符集,这总是一个好主意,并且为你的 # web站点的国际化打开了大门,这不正是你曾经想要的吗。同样地,指定 # 默认字符集有一些小的损害,如一个使用iso-8859-1(latin1)标准命令 # 的页面,除非以别的方式指定例如你仅仅以显式方式声明它。 # 也有一些与那些总是鼓励你使用默认字符集的javascropt和URL语法有关 # 的浏览器安全原因。 # #AddDefaultCharset ISO-8859-1 AddDefaultCharse GB2312 # # 一般以文件扩展名的方式使用字符集。也许你想要避免与语言扩展发生 # 碰撞,除非你在每次改变后都做了很好的测试。 # 参见http://www.iana.org/assignments/character-sets以取得字符集 # 的名字列表和它们各自的RFCs。 # AddCharset ISO-8859-1 .iso8859-1 .latin1 AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen AddCharset ISO-8859-3 .iso8859-3 .latin3 AddCharset ISO-8859-4 .iso8859-4 .latin4 AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk AddCharset ISO-2022-JP .iso2022-jp .jis AddCharset ISO-2022-KR .iso2022-kr .kis AddCharset ISO-2022-CN .iso2022-cn .cis AddCharset Big5 .Big5 .big5 # 对于俄语,使用了多个字符集(如何使用主要依靠客户端): AddCharset WINDOWS-1251 .cp-1251 .win-1251 AddCharset CP866 .cp866 AddCharset KOI8-r .koi8-r .koi8-ru AddCharset KOI8-ru .koi8-uk .ua AddCharset ISO-10646-UCS-2 .ucs2 AddCharset ISO-10646-UCS-4 .ucs4 AddCharset UTF-8 .utf8 # 下面的字符集没有映射到一个特定的标准(iso)上,但是它们在浏览器 # 中被广泛的支持。注意那些大写字母。 # (它不应该,但是它是为兼容一些浏览器而做) # # 参见http://www.iana.org/assianments/character-sets以取得 # 它们的列表。但是浏览器支持较少。 # AddCharset GB2312 .gb2312 .gb AddCharset utf-7 .utf7 AddCharset utf-8 .utf8 AddCharset big5 .big5 .b5 AddCharset EUC-TW .euc-tw AddCharset EUC-JP .euc-jp AddCharset EUC-KR .euc-kr AddCharset shift_jis .sjis # # AddType允许你为指定的文件类型添加或覆盖mime.types文件中配置的MIME # AddType application/x-tar .tgz AddType image/x-icon .ico # # AddHandler允许你映射确定的文件扩展名到“handlers”: # 与文件类型无关的行为。这既能编译到服务器中也可以添加到Action指令 # 中(看下面)。 # 为了在ScriptAliased指令指定的以外使用CGI脚本: #(要使它可用,你还需要在Options中添加“ExecCGI”。 # # AddHandler cgi-script .cgi # # 对于那些包含他们自己的HTTP头的文件 # # AddHandler send-as-is asis # # 对于server-parsed imagemap文件: # # AddHandler imap-file map # # agemap 文件: # #AddHandler imap- 文件映像 # # 对于类型映像:(转移资源) #(这是默认的设定以允许Apache的“It Worked”页能多种语言分发)。 # AddHandler type-map var # # 过滤器允许你在将它发送到客户端前进行处理。 # # 为了在服务器端分析包含(SSI)的.shtml文档: # (要执行这个指令,你还需要在Options指令中添加“Includes”。) # # AddType text/html .shtml # AddOutputFilter INCLUDES .shtml # # Action让你定义当调用匹配的媒体文件时将要执行的脚本。这将减少 # 那些经常使用的CGI脚本的URL路径名的重复输入。 # 格式:Action media/type /cgi-script/location # 格式:Action handler-name /cgi-script/location # # # 可配置的错误应答有三种风格: # 1)plain text 2)local redirects 3) external redirects # # 一些示例: # ErrorDocument 500 "The server made a boo boo." # ErrorDocument 404 /missing.html # ErrorDocument 404 "/cgi-bin/missing_handler.pl" # ErrorDocument 402 http://www.example.com/subscription_info.html # # # 综合应用这些指令,我们可以创建一个国际化的出错应答。 # # 我们使用Alias来重定向任意/error/HTTP_<error>.html.var应答到 # 我们的多语言错误消息集合。使用正确的文本替代它。 # # 通过加入下面的行,你就能够改变这些消息的显示,而不必改变 # HTTP_<error>.html.var文件。 # # Alias /error/include/ "/your/include/path/" # # 以将/usr/local/apache2/error/include/下的文件拷贝到/your/inclue/path/下 # 开始,你可以创建你自己的文件集合,甚至是其于每个虚拟主机的。 # 不管你的ServerSignature如何设置,默认的包含文件将显示你的 # Aapche版本号和你的ServerAdmin邮件地址 # # 国际化的错误文档需要mod_alias,mod_include和mod_negotiation三个 # 模块。要激活它们,取消下面30行的注释符号 # Alias /error/ "/usr/local/apache2/error/" # # <Directory "/usr/local/apache2/error"> # AllowOverride None # Options IncludesNoExec # AddOutputFilter Includes html # AddHandler type-map var # Order allow,deny # Allow from all # LanguagePriority en de es fr it nl sv # ForceLanguagePriority Prefer Fallback # </Directory> # # ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var # ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var ErrorDocument 403 /error.php # ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var # ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var # ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var # ErrorDocument 410 /error/HTTP_GONE.html.var # ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var # ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var # ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var # ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var # ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var # ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var # ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var # ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var # ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var # ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var # # 下面的命令更改标准的HTTP应答行为以处理己知的浏览器问题。 # BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 # # 下面命令关闭对那些没有尾部“/”的目录的非GET请求的重定向, # 这些命令修复了微软的采用DAV方法不能正确处理重定向的WEB文件夹的问题。 # Apple下的DAV文件系统和Gnome下的VFS对DAV的支持也是采用这样的方法 # 进行处理的。 # BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully BrowserMatch "^gnome-vfs" redirect-carefully # # 允许你使用URL:http://servername/server-status来通过mod_status生 # 成并报告服务器状态信息。改变.example.com为你自己的域名。 # # <Location /server-status> # SetHandler server-status # Order deny,allow # Deny from all # Allow from .example.com # </Location> # # 允许使用URL:http://servername/server-info来远程报告服务器配置信息 # (需要mod_info.c支持)。改变“.example.com”为你自己的域名。 # # <Location /server-info> # SetHandler server-info # Order deny,allow # Deny from all # Allow from .example.com # </Location> # # 代理服务器命令,去掉下面的行使代理服务可用。 # # <IfModule mod_proxy.c> # ProxyRequests On # <Proxy *> # Order deny,allow # Deny from all # Allow from .example.com # </Proxy> # # 安装或关闭HTTP/1.1“通道”头处理。 # (“Full”添加服务器版本信息,“Block”移掉所有输出“通道”头信息。 # 可以设为下面各选项之一:Off | On | Full | Block # # ProxyVia On # 最好为代理服务安装高速缓冲,去掉下面几行的注释符号: # (没有CacheRoot则不缓冲) # # CacheRoot "/usr/local/apache2/proxy" # CacheSize 5 # CacheGcInterval 4 # CacheMaxExpire 24 # CacheLastModifiedFactor 01 # CacheDefaultExpire 1 # NoCache a-domain.com another-domain.edu joes.garage-sale.com # </IfModule> # 代理命令结束。 # # 附加的特定模块配置。 # <IfModule mod_ssl.c> Include conf/ssl.conf </IfModule> ## 第三区:虚拟主机 # # VirtualHost:你可以通过设置虚拟主机容器以实现在你的主机上保有多个 # 域名/主机名。大多数配置信息只使用基于名字的虚拟主机,因此服务器 # 不必担心IP地址的问题,下面的命令以*号代替虚拟主机名。 # # 在你试着配置你的虚拟主机以前,请参见 # URL:http://httpd.apache.org/docs-2.0/vhosts/>以取得更多的信息。 # # 你可以使用命令行选项“-S”来检验你的虚拟主机配置。 # # 使用基于名字的虚拟主机。 # # NameVirtualHost * # # 虚拟主机示例: # 几乎所有的Apache命令都可以在虚拟主机容器中使用。 # 第一个虚拟主机区是用于向服务名未知的请求进行应答的配置。 # # <VirtualHost *> # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log commom # </virtualHost>... 全文

休闲 Apache服务器 服务器配置文件 职场

windows下安装apache web服务器

随着互联网普及程度的日益提高,越来越多的实体和个人投入到了网络的怀抱。而拥有自己的网站,也成为越来越多的人的目标。而一个高效率的WEB服务器则是对一个网站的强有力的支持!下面,我将根据自己的学习和实际操作经验来和大家讨论一下WEB服务器的架设,不妥之处,敬请指正!(本文所讲的内容,也适用于单机!想用自己的机器作WEB服务器的朋友也可以参考)本文所有环境是基于Windows 2000系统,其他环境下的服务器配置可以参考本文的部分内容!  本文所讲的WEB服务器,是以Windows2000作为操作系统(Windows2000最好不要安装IIS5.0),以Apache(阿帕奇)作服务器软件,在此基础上配置PHP,Mysql和Perl。从而构成一个界面友好,稳定性和抗负荷性良好,功能十分强大的WEB服务器系统。但是对于高负荷的大型网站来说,本文所讨论的服务器配置还显得比较“单薄”。  现在,我们开始讨论服务器的配置过程:(一)安装配置Apache1.3.17  Apache是全世界范围内使用范围最广的WEB服务软件,超过50%的网站都在使用Apache,它以高效、稳定、安全、免费(最重要的一点)而成为了最受欢迎的服务器软件!目前的最新版本为1.3.17,大家可以访问[url]http://www.apache.org[/url]下载。请下载for win32的无原码版本(Apache_1.3.17-win32-no_src.msi).最新版的Apache for win32开始使用MSI的形式发布。从而使windows环境下安装Apache变得非常简单。下面就说说它的具体安装过程:  1、双击Apache的安装文件,和普通windows程序安装一样,一路点“Next”就可以。  2、安装程序要求你输入你的Network Domain(网络域名:形如xxx.com);Server Domain(服务器域名:形如http:/www.xxx.com)和网站管理员的e-mail。有的话就按实填写,个人用户若没有的话可以按格式随便填一下。  3、到了选择安装路径,本人强烈建议你将安装路径改为“C:\”,因为这样可以省去好多的配置麻烦。  4、一路“Next”直至“Finish”。安装就结束了。  这时,你的Apache已经启动了,你可以在IE地址栏里输入:http:/localhost/或http:/127.0.0.1看看。在“管理工具”的“服务”项中,也可以找到Apache服务的身影了,以后Apache就可以作为一项Windows2000服务,随着机器的启动而运行了!  以上讲了Apache的安装,下面接着来讨论Apache的配置,使其工作的更好!  Apache的核心配置文件是httpd.conf,存放路径为“Apache的安装路径\conf\”,在1.3.17版中,它的作用更加明显了。用记事本打开它,开始修改配置!限于篇幅,这里只讲一些重要的、必须的配置修改!(说明一点:“#”为Apache的注释符号)  1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它。  2、寻找到ServerAdmin。这里输入你的E-Mail地址。  (以上两条在安装时应该已经配置好了,所以不必改动,这里介绍一下,主要是为了日后的修改)  3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!A大写,两个l小写。下同。);接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。  4、寻找到DocumentRoot。这个语句指定你的网站路径,也就是你主页放置的目录。你可以使用默认的,也可以自己指定一个,但记住,这句末尾不要加“/”。此外注意,路径的分隔符在Apache Server里写成“/”(用惯了windows的朋友是不是觉得有些别扭呢?)。  5、寻找到DirectoryIndex。这就是你站点第一个显示的主页,在index.html的后面加入index.htm index.php index.php3 index.cgi index.pl。注意,每种类型之间都要留一空格!这里添加好了,以后就不用再麻烦了。  6、特别说明一点就是port(端口号),如果没安装IIS的话,就保持80不要变,否则,就要改一下(因为IIS的WEB服务占据了80),可以改成81等等,或者干脆改IIS的默认端口号!随你高兴。但我个人认为,ASP没什么好的,某些方面根本比不过PHP。所以建议IIS就不要装了,更何况IIS的安全性本人实在是不敢恭维!!  好了,Apache安装配置完成,至于怎么让它支持PHP,CGI,请看后面的专门介绍。接下来,我们来安装一下MySQL。(二)安装MySQL3.2.32  MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序Mysqld和很多不同的客户程序和库组成。  SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。  MySQL的官方发音是“My Ess Que Ell”(不是 MY-SEQUEL )。  在windows中安装MySQL是非常简单的,只需4步:  1、见下载回来的压缩文件解压至任意目录中。  2、点击解压目录中的setup安装。什么都不要改,一路“Next”至“Finish”(不推荐修改安装路径)。  3、在“运行”中输入:“c:\mysql\bin\mysqld-nt -install,运行!  4、在“管理工具”中的“服务”项里找到“Mysql”服务,启动它,然后Restart Your Computer!  到此,Mysql数据库系统安装完成,下面我们开始安装配置PHP!(三)安装配置PHP  PHP是一种服务器端解释的脚本语言。如果你接触过ASP的话,那么您对于在HTML页面中嵌入代码应该是比较熟悉了。PHP代码在服务器一端被解释转变成普通的HTML页面内容,送给浏览器一端。这种模式使得我们可以用它来完成相当复杂的功能。  PHP支持Internet开发的一些前沿技术。这些技术包括身份认证、XML、动态图象生成、WDDX、共享内存,以及动态PDF文档等等,(更重要的一点是:这些全部都是免费的)不一而足。如果您还不满意的话,PHP是很容易扩展的,所以只要您有编程能力,您尽可以自己大展身手一番.  OK!介绍完了!下面开始我们的PHP旅程!  1、关闭Apache服务  2、将PHP的压缩文件解压至“c:\php”中(别改路径了!否则以后的配置....哼哼)。  3、把 c:\PHP\php4ts.dll 拷到 c:\winnt\system32 下,覆盖任何原有文件。  4、把 c:\php.ini-dist改名为php.ini,拷贝到c:\winnt下。  5、下面介绍两种安装模式:Apache模块法和CGI法    5.1、Apache模块法:在 httpd.conf 中加入如下几行:(随便什么地方都可以,但要单独成行)  LoadModule php4_module c:/php/sapi/php4apache.dll  AddType application/x-httpd-php .php php3    5.2、CGI法:在 httpd.conf 中加入如下几行:  ScriptAlias /php/ "C:/php/"  Action application/x-httpd-php4 "/php/php.exe"  AddType application/x-httpd-php4 .php  笔者在这里强烈建议您选择Apache模块法,因为这样能使您获得更好的性能和安全性!!!CGI法只需要了解就可以了!  6、重启Apache  PHP也安装调试完毕!下面编写一段代码:  〈html〉  〈body〉  〈?  phpinfo();  ?〉  〈/body〉  〈/html〉  存为test.php,放到你的Apache默认文档中,在IE中输入http:/127.0.0.1/test.php偷着乐去吧!!(可以看到php的运行模式为Apache)  有的朋友会问:为何没有php.ini的修改介绍呀?这是因为:如果你按默认方式安装的PHP4的话,那么php.ini的设置已经完全没有问题了,而优化php.ini也不是几张纸能讲完的。所以,普通用户在这里就不需要修改php.ini了。  紧接着,我们在下一章继续配置Apache,使其能够支持Perl编写的CGI程序!(四)安装配置Perl  Perl是目前最流行的几种web脚本编写语言之一,它的文本处理能力和安全性无人能及(PHP也只能望其项背),细心的朋友可能早就发现,PHP和Perl有很多相似的地方,那时因为PHP在产生的时候受到了Perl的很大影响,甚至PHP的雏形就是使用Perl编写的!现在,网上有很多关于Perl的讨论,说CGI太慢,Perl过时了等等,我个人认为,Perl没有过时,它一直在努力的发展!它仍然是世界上不可替代的web脚本编写语言!!  好了,废话少说!下面,让我们一起来讨论Perl的安装配置。Come On!!  1、双击Perl5.6的安装程序,(默认路径不要改)完成安装。  2、寻找,往下面第9行有一句Options,把后面的参数全去掉,加一个All,(注意大小写)。再往下有一句AllowOverride,也把后面的None换成All。  3、寻找到ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/"。删除前面的#,将""中的路径指向你存放CGI脚本的目录,也就是,这个目录中的CGI脚本可以被执行。  4、寻找到。将""中的路径指向你存放CGI脚本的目录,要与上面的相同。更改下面的Options、Allow Override的参数为All(注意大小写)。  5、寻找到AddHandler cgi-script .cgi。删除前面的#,在后面加上 .pl。变为AddHandler cgi-script .cgi .pl  6、特别特别需要注意的是:你的perl脚本中的perl解释路径,应改为: #!c:/perl/bin/perl。否则的话会出现500错误!  Perl的安装配置也介绍完了,至此,你就拥有了一个性能非常不错的WEB服务器!它支持PHP,CGI以及MySQL!已经完全能够满足一般中型站点的需要了!(五)PHP的优化  安装Zend Optimizer(Zend优化器)  Zend Optimizer(以下简称ZO)用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。  一般情况下,执行使用ZO的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。  1、终止Apache服务,并且一定要使用ZO的windows版(一定要记住)  2、 把ZendOptimizer.dll拷贝到这个目录  c:\ZendOptimizer  3、把下列行加入php.ini,不要加入任何空格  zend_optimizer.optimization_level=15  zend_extension_ts="ZO的安装目录\ZendOptimizer.dll"  4、重启Apache。  重新运行刚才已编好的test.php程序!可以发现多了一行:  with Zend Optimizer v1.0.0, Copyright (c) 1998-2000, by Zend Technologies  这表示ZO已经安装成功!!  如果你担心自己辛辛苦苦编写的PHP代码外泻的话!可以考虑使用Zend Encoder,它可以将PHP程序加以编码後执行,但是2400美元的软件费用也实在是太高!!(不过可以免费试用30天)... 全文

Web服务器 Apache 服务器 windows web

Linux快速构建apache web服务器

作者:田逸(sery@163.com) apache服务器的最新稳定发布版本是httpd-2.2..0,官方下载地址是:http://httpd.apache.org/download.cgi。我们通过下面的步骤来快速的搭建一个web服务器。 1、 下载源码文件httpd-2.2.0.tar.gz 到linux服务器的某个目录。 2、 解压文件 # tar zxvf httpd-2.2.0.tar.gz . 3、 配置 # ./c ╟refix=/usr/local/apache //指定安装目录,以后要删除安装就只需删除这个目录。 4、 编译和安装。 # make ; make install . 5、 编写启动脚本,把它放到目录 /etc/rc.d/init.d/里,这里取名为httpd,其内容如下: #!/bin/bash #descripti server #chkc 235 98 98 case "$1" in start) echo "starting apache daemon..." /usr/local/apache2/bin/apachectl -k start ;; stop) echo "stopping apache daemon..." /usr/local/apache2/bin/apachectl -k stop ;; restart) echo "restarting apache daemon..." /usr/local/apache2/bin/apachectl -k restart ;; status) statusproc /usr/local/apache2/bin/httpd ;; *) echo "usage: $0 {start|stop|restart|status}" exit 1 ;; esac 注意:#descripti server 这一行必须加上,否则在执行命令 # chkc ╟add httpd 时会出现“service apache does not support chkc 2345 98 98 表示在执行命令 # chkc ╟add httpd 时会在目录 /etc/rc2.d/ 、/etc/rc3.d/ /etc/rc5.d 分别生成文件 s98httpd和 k98httpd。这个数字可以是别的。 6、 执行命令 # chkc ╟add httpd ,进入目录/etc/rc3.d/检查是否生成文件 s98httpd及k98httpd. 7、 启动服务 # service httpd start . ... 全文

linux 服务器 Apache Web服务器 web

Apache与Tomcat的区别

Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache是Web服务器而Tomcat是Java应用服务器。Apache:是C语言实现的,专门用来提供HTTP服务。特性:简单、速度快、性能稳定、可配置(代理) 1、主要用于解析静态文本,并发性能高,侧重于HTTP服务; 2、支持静态页(HTML),不支持动态请求如:CGI、Servlet/JSP、PHP、ASP等; 3、具有很强的可扩展性,可以通过插件支持PHP,还可以单向Apache连接Tomcat实现连通; 4、Apache是世界使用排名第一的Web服务器。... 全文

tomcat apache http服务器 应用服务器 web服务器

如何在Ubuntu上搭建一台安全的Apache Web服务器?

本教程假设你已有一台在运行的Ubuntu服务器,网络方面已设置好,而且可以通过SSH进行访问。Apache2是许多安装的Linux发行版使用的默认Web服务器。它不是对所有环境来说唯一可用的Web服务器,也不是最佳的Web服务器,但是它适合许多使用场景。在安装过程中,系统可能会询问你哪个Web服务器要自动重新配置。选择“apache2”即可。安装Apache2使用下面这个命令,安装Apache2及其他库。... 全文

Apache 服务器 服务器安全

企业级Apache服务器安全防护要点剖析(1)

Apache一直是世界上使用率排名前三的Web服务器软件。企业使用其构建Web应用,从很大程度上都需要对其安全性进行综合考虑,以保证能够应对拒绝服务攻击、流量窃听、数据泄漏等网络威胁,从而保证企业门户网站的安全。... 全文

Apache服务器安全 服务器安全设置 目录权限

搭建Web服务器Apache

相信使用过计算机的人,都应该有过访问Web服务器的经历。在网站浏览新闻、登录邮件服务器收发邮件、通过网络购物、以浏览器方式配置防火墙等,无一例外都有一个Web服务器在为访问者提供服务。尽管有其他方式来实现对设备或服务的访问(如配置卫星调制解调器),但以Web方式提供访问的策略依然是最受欢迎的,因为它更直观,也更方便,因此,使得Web服务器得以更广泛的流行。Apache是Linux主流的服务器,为Linux的迅速繁荣立下汗马功劳。根据资料显示,截至2005年12月,在Internet上,Apache服务器以绝对优势雄居Web服务器之首。在这节内容中,我们讨论Linux下大名鼎鼎的Web服务器Apache。请初学者注意,不要花费心思去搜寻名字为Apache这样的软件包,它现在的名字是httpd。Apache服务器的安装有两种时候可以安装Apache服务器:安装Linux操作系统的时候安装Web服务器和安装完系统后安装Apache服务器。 提示:可以用命令#rpm-qa|grep httpd检查一个系统是否安装了Apache服务器,如果没有输出,则表明没有安装。图1为某个安装了Apache服务器输出的一个范例。如果是以源码安装的Apache服务器,则此种方法无效,需要用find工具查找httpd文件是否存在。如果在安装Linux操作系统期间没有安装Apache,这就需要使用包文件来安装。1.RPM包的安装。从Linux的安装光盘和互联网上,都可以得到Apache的RPM安装包,然后把安装包复制到硬盘,并切换到安装包文件所在的目录。本文以httpd-2.0.52-9.ent.rpm为例。执行命令:... 全文

Web 虚拟机Apache 服务器

Apache服务器配置FAQ

httpd.conf配置文件中有一个 AddDefautCharset UTF8此选项的意思是无论网页采用何种编码,Apache都按照UTF8的标准来输出,这个当把GB2312编码的html文件也当做UTF8来输出的时候,就出现乱码了。应该关闭这个功能,让Apache根据html文件里的charset=xxx指示来选择合适的编码方式来输出文档。修该方法是 把上述一行改为: AddDefaultCharset off然后重新启动httpd服务即可。... 全文

apache 服务器 html 文档

apache服务器安装配置启停[CentOS]

老生长谈,只是为记录下,基本命令,以备后便忘了,可以看看。系统:CentOSapache-httpd版本:2.2查看httpd(网络情况):yum search httpd安装httpd:yum install httpd配置:查看配置:vim /etc/httpd/conf/httpd.conf            将静态资源放置的目录:/var/www/html/   (默认)启动:/etc/init.d/httpd start停止:/etc/init.d/httpd stop测试:访问外网 默认80端口 即可访问到apache页面附加命令:cat /etc/issue 查看服务器版本... 全文

服务器 apache

Apache服务器搭建和部署AWStats日志分析系统

环境:根据公司的信息化建设要求,需要构建一台独立配置的网站服务器。考虑到站点的运行效率,稳定性及可扩展性等因素,要求在RHEL5系统中构建httpd服务器,并使用较新的httpd-2.2.17源码版进行编译安装要求:编译安装httpd服务器,要求支持动态模块扩展,地址重写,多字符集配置并启动httpd服务,将安装目录中的manual手册文档部署到web根目录下最后需要安装并配置AWStats日志分析系统,并查看网站访问情况apache的简介:... 全文

apache服务器搭建

apache做反向代理服务器

apache做反向代理服务器apache代理分为正向代理和反向代理:1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器)适用于: ①局域网的代理服务器(一般是网关,相当于squid的一般用法)②访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理2 反向代理: 客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目标web一样(此代理对客户端透明,即客户端不用做如何设置,并不知道实际访问的只是代理而已,以为就是访问的目标)适用于: ①idc的某台目标机器只对内开放web,外部的客户端要访问,就让另一台机器做proxy,外部直接访问proxy即相当于访问目标②idc的目标机器的某个特殊的web服务跑在非正常端口如9000,而防火墙上只对外开放了80,此时可在80上做proxy映射到9000,外部访问80即相当于9000简单示意图如下 本例中机器192.168.0.114是我们的reverse proxy serverapache/2.0.63运行在其80端口上面有两个域名的虚拟主机www.a.orgwww.b.org要实现的效果是:访问 www.a.org 即相当于访问另一台机器192.168.0.115访问 www.b.org 即相当于访问本机的9000端口 apache的proxy功能由其proxy模块实现.加载模块有两种方式:静态和动态,现分别说明:一 静态加载静态加载,在编译apache时候编译进去,编译参数如下:"./configure" \"-prefix=/usr/local/apache3" \"--enable-so" \"--enable-rewrite" \"--with-mpm=prefork" \"--enable-proxy" \ (这个参数即是代理模块启用)安装完成后查看模块列表/usr/local/apache3/bin/httpd -l显示Compiled in modules:core.cmod_access.cmod_auth.cmod_include.cmod_log_config.cmod_env.cmod_setenvif.cmod_proxy.cproxy_connect.cproxy_ftp.cproxy_http.cprefork.chttp_core.c.......编辑配置文件 httpd.conf在虚拟主机部分NameVirtualHost *:80<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comServerName www.a.orgProxyRequests Off<Proxy *>Order deny,allowAllow from all</Proxy>ProxyPass / http://192.168.0.115/ProxyPassReverse / http://192.168.0.115/</VirtualHost> <VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comServerName www.b.orgProxyRequests Off<Proxy *>Order deny,allowAllow from all</Proxy>ProxyPass / http://127.0.0.1:9000/ProxyPassReverse / http://127.0.0.1:9000/</VirtualHost> 二 动态加载动态加载:编译进一个已经装好了的apache中(编译为dso模块)已经装好的apache在 /usr/local/apache2进入apache源码的模块目录进行编译cd httpd-2.0.63/modules/proxy//usr/local/apache2/bin/apxs -c -i -a mod_proxy.c proxy_connect.c proxy_http.c proxy_util.c 从输出里面看到apache的modules目录下已经产生了mod_proxy.so,且已经在httpd.conf中激活了cd /usr/local/apache2/conf/ls ../modules/ 看到确实有mod_prxoy.so编辑配置文件vi httpd.conf修改如下加载模块LoadModule proxy_module modules/mod_proxy.so (这句是编译激活时产生的)LoadModule proxy_http_module modules/mod_proxy.so (这句是要手动添加的)虚拟主机的部分加上NameVirtualHost *:80<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comServerName www.a.orgProxyRequests Off<Proxy *>Order deny,allowAllow from all</Proxy>ProxyPass / http://192.168.0.115/ProxyPassReverse / http://192.168.0.115/</VirtualHost> <VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comServerName www.b.orgProxyRequests Off<Proxy *>Order deny,allowAllow from all</Proxy>ProxyPass / http://127.0.0.1:9000/ProxyPassReverse / http://127.0.0.1:9000/</VirtualHost>重启apache生效 注:如果不加LoadModule proxy_http_module modules/mod_proxy.so,则浏览器页面打不开,页面显示ForbiddenYou don't have permission to access / on this server.日志acess_log里面显示192.168.0.28 - - [03/Jun/2009:16:16:27 +0800] "GET /?sessionId=4293567494722637330&rand=1244014624405&CONTEXT=0&page=com.other.AjaxWhoWhatUpdate&xrand=1244016991554&wwRandId=1244014624405&wwBugId=2341&wwType=View HTTP/1.1" 403 315或者192.168.0.28 - - [03/Jun/2009:17:10:32 +0800] "GET / HTTP/1.1" 403 315即403错误日志error_log里面显示[Wed Jun 03 17:08:46 2009] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.本文出自 “yahoon的小屋” 博客,请务必保留此出处http://yahoon.blog.51cto.com/13184/162922... 全文

apache 职场 休闲 代理服务器

Apache服务器性能测试(压力测试)

有两种压力测试工具:ab和http_load(一)Ab的用法:在启动apache时,同时也会生成ab,用man查看ab的用法... 全文

性能测试 Apache服务器

Mac电脑下搭建Apache web服务器

转自:http://blog.csdn.net/u012945598/article/details/17162039... 全文

web服务器 apache Mac

Web服务器Apache的部署

1.Apache、PHP部署准备一般网站而言,Web服务器的部署要使用源码来进行安装,因为这样这个更好的按需定制,可以大大地增加系统应用的灵活性。无论是Apache还是PHP在编译的过程中都会有许多配置参数,大家可以输入./configure –help来查看,并根据公司业务情况来选择相应的配置参数。我们这里用的是httpd-2.2.4.tar.bz2(Apache版本)、php-5.2.9.tar.gz(PHP版本)。 大家也可以去http://httpd.apache.org/download.cgi以及http://www.php.net/downloads.php 去自行下载最新的版本。 2.源码安装Apache + PHP2.1 编译安装Apache2.1.1 编译安装tar xjvf httpd-2.2.4.tar.bz2Cd httpd-2.2.4./configure --prefix=/usr/local/apache2--enable-mods-share=all --with-config-file-path=/usr/local/apache2/conf --enable-cache --enable-file-cache --enable-static-ab --enable-static-checkgid --enable-ssl --with-ssl=/usr/include/openssl/ --with-mpm=worker --enable-track-vars --enable-rewrite --enable-so --enable-mime-magic --enable-mem-cachemake && make install启动http服务/usr/local/apache2/bin/apachectl start2.2 编译安装PHP2.2.1 编译安装tar xzvf php-5.2.9.tar.gzcd php-5.2.9./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-xml --with-dom --with-iconv --with-gd --with-mime-magic --enable-ftp --enable-track-vars --with-config-file-path=/usr/local/php5/etcmake && make installcp php.ini-dist /usr/local/webserver/php/etc/php.ini2.2.2修改apache配置文件httpd.confvi /usr/local/apache2/conf/httpd.conf找到#AddType application/x-tar .tgz这一行,在下面加一行AddType application/x-httpd-php .php 目的是让apache能解释 php 程序找到 DirectoryIndex index.html 这一行,修改为DirectoryIndex index.html index.php修改完后重启服务器。2.2.3 创建index.phpvi /usr/local/apache2/htdocs/index.php输入<?phpPhpinfo();?>至此服务器已经全部搭建完毕。2.3 测试打开浏览器输入:http://localhost/index.php备注:源码安装Apache是的一些配置选项说明:安装目录这些选项控制着安装目录的结构。安装目录的结构取决于所选择的布局。方括号”[]“内是默认值。--prefix=PREFIX体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。[/usr/local/apache2]--with-mpm=MPM其中,MPM是你想要使用的多路处理模块的名字。如果你不使用这个选项,那么将会使用对应于各平台的默认MPM,可选的MPM如下:beos, mpmt_os2, prefork, worker--enable-static-ab使用静态连接编译ab--enable-static-checkgid使用静态连接编译checkgid--with-ssl=DIR如果启用了mod_ssl ,configure脚本将会自动搜寻已经安装的OpenSSL ,你可以在这里指定OpenSSL SSL/TLS工具包的位置。--disable-threads禁用线程支持,如果不使用线程化的MPM ,可以关闭它以减少系统开销。–enable-threads启用线程支持,在线程型的MPM上必须打开它。本文出自 “奇幻的梦” 博客,转载请与作者联系!... 全文

Web 服务器 Apache 休闲 部署

Apache服务器安装过程详解

安装环境:                  CentOS-5.3-i386                  VMware-workstation-10.0.1源码包:... 全文

apache httpd httpd源码安装 web服务器

apache服务器日志分析程序webalizer

 webalizer是一个高效的、免费的web服务器日志分析程序。其分析结果是HTML文件格式,从而可以很方便的通过web服务器进行浏览。Internet上的很多站点都使用webalizer进行web服务器日志分析。Webalizer具有以下一些特性:1. 是用C写的程序,所以其具有很高的运行效率。在主频为200Mhz的机器上,webalizer每秒钟可以分析10000条记录,所以分析一个40M大小的日志文件只需要15秒。... 全文

服务器 apache webalizer 日志分析程序

Apache配置SSL证书服务器傻瓜步骤

在Linux+Apache+OpenSSL中配置SSL安全证书认证是不难的,我的另一篇工作随记中曾提到[url]http://www.host01.com/article/server/00070002/0621409075193649.htm[/url]中有所有步骤,不过其中的一些描述有点复杂,并且依赖关系也没有这些严格。这里给出一个傻瓜式步骤,供自己和有心人复用。首先确保你的Linux有OpenSSL(ls -l /usr/bin/openssl),如果没有请从[url]http://openssl.org/[/url]下载。mkdir demoCA cp /usr/share/ssl/openssl.cnf ./demoCAvi ./demoCA/openssl.cnf and edit the dir configuration of CA_default from ./demoCA to .mkdir demoCA/certs mkdir demoCA/crl mkdir demoCA/newcertsmkdir demoCA/privateecho "01" > demoCA/serialtouch demoCA/index.txtcd demoCAopenssl req -new -x509 -keyout ./private/cakey.pem -out ./cacert.pem -days 3650(password input twice, 该密码多次用到,HTTPD启动也须用到, 10年有效期)Country Name (2 letter code) [GB]:USState or Province Name (full name) [Berkshire]:CALocality Name (eg, city) [Newbury]:San ClaraOrganization Name (eg, company) [My Company Ltd]:CiscoOrganizational Unit Name (eg, section) []:WebExCommon Name (eg, your name or your server's hostname) []:ServerDNSName(最好跟你SERVER名字一样)Email Address []:openssl genrsa -des3 -out server.key 1024openssl req -new -key server.key -out server.csrCountry Name (2 letter code) [GB]:USState or Province Name (full name) [Berkshire]:CALocality Name (eg, city) [Newbury]:San ClaraOrganization Name (eg, company) [My Company Ltd]:CiscoOrganizational Unit Name (eg, section) []:WebExCommon Name (eg, your name or your server's hostname) []:ServerDNSNameEmail Address []:Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:An optional company name []:Cisco-WebEx Communication Inc.mv server.csr newreq.pemopenssl ca -config ./openssl.cnf -policy policy_anything -out newcert.pem -infiles newreq.pemmv newcert.pem server.crtvi /etc/httpd/conf.d/ssl.conf并改变以下四行并确保没被注释。SSLCertificateFile /etc/httpd/conf.d/demoCA/server.crtSSLCertificateKeyFile /etc/httpd/conf.d/demoCA/server.keySSLCACertificatePath /etc/httpd/conf.d/demoCASSLCACertificateFile /etc/httpd/conf.d/demoCA/cacert.pem#SSLVerifyClient require#SSLVerifyDepth  10#SSLVerifyClient none(by default) 其中上述第五、六行是为client强制需要安装安全证书的设置。如果需要则需按[url]http://www.host01.com/article/server/00070002/0621409075193649.htm[/url]文章后段所述步骤签发client证书。这里不再赘述。 如果需要第三方签你的根证书,需把你的cacert.pem证书交与第三方认证机构进行签证。 与[url]http://www.host01.com/article/server/00070002/0621409075193649.htm[/url]颇多重叠,只是为了简单起已,给自己提一个醒。本文出自 “守望者的技术日记和六味生活” 博客,请务必保留此出处[url]http://dannyyuan.blog.51cto.com/212520/39088[/url]本文出自 51CTO.COM技术博客... 全文

ssl 配置 Apache 服务器 证书

1 2 3 4 5 6 7 8 9 10