亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
首頁 版本說明 從1.3升級(jí)到2.0 編譯時(shí)配置的改變 運(yùn)行時(shí)配置的改變 雜項(xiàng)變化 第三方模塊 從 2.0 升級(jí)到 2.2 編譯時(shí)配置的改變 運(yùn)行時(shí)配置的改變 雜項(xiàng)變化 第三方模塊 Apache 2.1/2.2 版本的新特性 核心增強(qiáng) 模塊增強(qiáng) 程序增強(qiáng) 針對(duì)模塊開發(fā)者的變化 Apache 2.0 版本的新特性 核心的增強(qiáng) 模塊的增強(qiáng) Apache許可證 參考手冊(cè) 編譯與安裝 針對(duì)心急者的概述 要求 下載 解壓 配置源代碼樹 編譯 安裝 配置 測(cè)試 升級(jí) 啟動(dòng) Apache是怎樣啟動(dòng)的 啟動(dòng)時(shí)發(fā)生錯(cuò)誤 隨系統(tǒng)啟動(dòng)時(shí)啟動(dòng) 額外信息 停止與重新啟動(dòng) 簡(jiǎn)介 立即停止 優(yōu)雅重啟 立即重啟 優(yōu)雅停止 附錄:信號(hào)和競(jìng)爭(zhēng)條件 運(yùn)行時(shí)配置指令 主配置文件 配置文件的語法 模塊 指令的作用域 .htaccess文件 配置段 配置段(容器)的類型 文件系統(tǒng)和網(wǎng)絡(luò)空間 虛擬主機(jī) 代理 允許使用哪些指令? 配置段的合并 內(nèi)容緩沖 簡(jiǎn)介 緩沖概述 安全方面的考慮 文件句柄緩沖 內(nèi)存緩沖 磁盤緩沖 服務(wù)器全局配置 服務(wù)器標(biāo)識(shí) 文件定位 限制資源的使用 日志文件 安全警告 錯(cuò)誤日志 訪問日志 日志滾動(dòng) 管道日志 虛擬主機(jī) 其他日志文件 從URL到文件系統(tǒng)的映射 相關(guān)模塊和指令 DocumentRoot DocumentRoot以外的文件 用戶目錄 URL重定向 反向代理 重寫引擎 File Not Found 安全方面的提示 保持不斷更新和升級(jí) ServerRoot目錄的權(quán)限 服務(wù)器端包含 關(guān)于CGI 未指定為腳本的CGI 指定為腳本的CGI 其他動(dòng)態(tài)內(nèi)容的來源 系統(tǒng)設(shè)置的保護(hù) 默認(rèn)配置下服務(wù)器文件的保護(hù) 觀察日志文件 動(dòng)態(tài)共享對(duì)象(DSO) 實(shí)現(xiàn) 用法概要 背景知識(shí) 優(yōu)點(diǎn)和缺點(diǎn) 內(nèi)容協(xié)商 關(guān)于內(nèi)容協(xié)商 Apache中的內(nèi)容協(xié)商 協(xié)商的方法 打亂品質(zhì)值 透明內(nèi)容協(xié)商的擴(kuò)展 超鏈和名稱轉(zhuǎn)換說明 緩沖說明 更多信息 自定義錯(cuò)誤響應(yīng) 行為 配置 自定義錯(cuò)誤響應(yīng)與重定向 地址和端口綁定 概述 針對(duì)IPv6的特殊考慮 怎樣與虛擬主機(jī)協(xié)同工作 多路處理模塊(MPM) 簡(jiǎn)介 選擇一個(gè)MPM 默認(rèn)的MPM 環(huán)境變量 設(shè)置環(huán)境變量 使用環(huán)境變量 用于特殊目的的環(huán)境變量 示例 處理器的使用 什么是處理器? 例子 程序員注意事項(xiàng) 過濾器 Apache2中的過濾器 智能過慮 使用過濾器 CGI腳本的Suexec執(zhí)行 開始之前 suEXEC的安全模型 配置和安裝suEXEC 啟用和禁用suEXEC 使用suEXEC 調(diào)試suEXEC 謹(jǐn)防Jabberwock:警告和舉例 性能調(diào)整 硬件和操作系統(tǒng) 運(yùn)行時(shí)的配置 編譯時(shí)的配置 附錄:蹤跡的詳細(xì)分析 URL重寫指南 mod_rewrite簡(jiǎn)介 實(shí)踐方案 URL的規(guī)劃 內(nèi)容的處理 對(duì)訪問的限制 其他 虛擬主機(jī)文檔 總述 虛擬主機(jī)支持 配置指令 基于主機(jī)名的虛擬主機(jī) 基于域名的虛擬主機(jī)和基于IP的虛擬主機(jī)比較 使用基于域名的虛擬主機(jī) 與舊版瀏覽器的兼容性 基于IP地址的虛擬主機(jī) 系統(tǒng)需求 如何配置Apache 設(shè)置多個(gè)守護(hù)進(jìn)程 配置擁有多個(gè)虛擬主機(jī)的單一守護(hù)進(jìn)程 動(dòng)態(tài)配置大量虛擬主機(jī) 動(dòng)機(jī) 概述 簡(jiǎn)單的動(dòng)態(tài)虛擬主機(jī) 一個(gè)實(shí)際的個(gè)人主頁系統(tǒng) 在同一個(gè)服務(wù)器上架設(shè)多個(gè)主機(jī)的虛擬系統(tǒng) 更為有效的基于IP地址的虛擬主機(jī) 使用老版本的Apache 使用mod_rewrite實(shí)現(xiàn)簡(jiǎn)單的動(dòng)態(tài)虛擬主機(jī) 使用mod_rewrite的個(gè)人主頁系統(tǒng) 使用獨(dú)立的虛擬主機(jī)配置文件 虛擬主機(jī)的普通配置示例 在一個(gè)IP地址上運(yùn)行多個(gè)基于域名的web站點(diǎn) 在多于一個(gè)IP的情況下使用基于域名的虛擬主機(jī) 在不同的IP的地址(比如一個(gè)內(nèi)部和一個(gè)外部地址)上提供相同的內(nèi)容 在不同的端口上運(yùn)行不同的站點(diǎn) 建立基于IP的虛擬主機(jī) 混用基于端口和基于IP的虛擬主機(jī) 混用基于域名和基于IP的虛擬主機(jī) 將虛擬主機(jī)和代理模塊一起使用 使用默認(rèn)虛擬主機(jī) 將一個(gè)基于域名的虛擬主機(jī)移植為一個(gè)基于IP的虛擬主機(jī) 使用ServerPath指令 深入討論虛擬主機(jī)的匹配 解析配置文件 虛擬主機(jī)匹配 小技巧 文件描述符限制 關(guān)于DNS和Apache 一個(gè)簡(jiǎn)單示例 拒絕服務(wù) "主服務(wù)器"地址 避免這些問題的小技巧 附錄:進(jìn)一步的提示 常見問題 概述 SSL/TLS 加密 概述 文檔 mod_ssl 緒論 密碼技術(shù) 證書 安全套接字層(SSL) 參考 兼容性 配置指令 環(huán)境變量 自定義日志功能 如何... 加密方案和強(qiáng)制性高等級(jí)安全 客戶認(rèn)證和訪問控制 常見問題解答 About The Module Installation Configuration Certificates The SSL Protocol mod_ssl Support 如何.../指南 概述 認(rèn)證 相關(guān)模塊和指令 簡(jiǎn)介 先決條件 啟用認(rèn)證 允許多人訪問 可能存在的問題 其他認(rèn)證方法 更多信息 CGI動(dòng)態(tài)頁面 簡(jiǎn)介 配置Apache以允許CGI 編寫CGI程序 程序還是不能運(yùn)行! 幕后是怎樣操作的? CGI模塊/庫 更多信息 服務(wù)器端包含 簡(jiǎn)介 什么是SSI? 配置服務(wù)器以允許SSI 基本SSI指令 附加的例子 我還能設(shè)置其它什么? 執(zhí)行命令 高級(jí)SSI技術(shù) 總結(jié) .htaccess文件 .htaccess文件 工作原理和使用方法 (不)使用.htaccess文件的場(chǎng)合 指令的生效 認(rèn)證舉例 服務(wù)器端包含(SSI)舉例 CGI舉例 疑難解答 用戶網(wǎng)站目錄 用戶網(wǎng)站目錄 用UserDir設(shè)置文件路徑 限定哪些用戶可以使用此功能 啟用對(duì)每個(gè)用戶都有效的cgi目錄 允許用戶改變配置 對(duì)特定平臺(tái)的說明 概述 Microsoft Windows 其他平臺(tái) 在Microsoft Windows中使用Apache 對(duì)操作系統(tǒng)的要求 下載 Apache for Windows 安裝 Apache for Windows 配置 Apache for Windows 以服務(wù)方式運(yùn)行 Apache for Windows 作為控制臺(tái)程序運(yùn)行Apache 測(cè)試安裝 編譯Windows下的Apache 系統(tǒng)要求 命令行編譯 Developer Studio集成開發(fā)環(huán)境的工作區(qū)編譯 項(xiàng)目組件 在Novell NetWare平臺(tái)上使用Apache Requirements Downloading Apache for NetWare Installing Apache for NetWare Running Apache for NetWare Configuring Apache for NetWare Compiling Apache for NetWare 在HP-UX中運(yùn)行Apache The Apache EBCDIC Port Overview of the Apache EBCDIC Port Design Goals Technical Solution Porting Notes Document Storage Notes Apache Modules' Status Third Party Modules' Status 服務(wù)器與支持程序 概述 httpd 語法 選項(xiàng) ab 語法 選項(xiàng) Bugs apachectl 語法 選項(xiàng) apxs 語法 選項(xiàng) 舉例 configure 語法 選項(xiàng) 環(huán)境變量 dbmmanage 語法 選項(xiàng) Bugs htcacheclean 語法 選項(xiàng) 返回值 htdbm 語法 選項(xiàng) Bugs 返回值 舉例 安全方面的考慮 限制 htdigest 語法 選項(xiàng) htpasswd 語法 選項(xiàng) 返回值 舉例 安全方面的考慮 限制 logresolve 語法 選項(xiàng) rotatelogs 語法 選項(xiàng) Portability suexec 語法 選項(xiàng) 其他程序 log_server_status split-logfile 雜項(xiàng)文檔 概述 相關(guān)標(biāo)準(zhǔn) HTTP推薦標(biāo)準(zhǔn) HTML推薦標(biāo)準(zhǔn) 認(rèn)證 語言/國(guó)家代碼 Apache 模塊 描述模塊的術(shù)語 說明 狀態(tài) 源代碼文件 模塊標(biāo)識(shí)符 兼容性 描述指令的術(shù)語 說明 語法 默認(rèn)值(Default) 作用域(Context) 覆蓋項(xiàng)(Override) 狀態(tài) 模塊(Module) 兼容性(Compatibility) Apache核心(Core)特性 AcceptFilter AcceptPathInfo AccessFileName AddDefaultCharset AddOutputFilterByType AllowEncodedSlashes AllowOverride AuthName AuthType CGIMapExtension ContentDigest DefaultType <Directory> <DirectoryMatch> DocumentRoot EnableMMAP EnableSendfile ErrorDocument ErrorLog FileETag <Files> <FilesMatch> ForceType HostnameLookups <IfDefine> <IfModule> Include KeepAlive KeepAliveTimeout <Limit> <LimitExcept> LimitInternalRecursion LimitRequestBody LimitRequestFields LimitRequestFieldSize LimitRequestLine LimitXMLRequestBody <Location> <LocationMatch> LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens SetHandler SetInputFilter SetOutputFilter TimeOut TraceEnable UseCanonicalName UseCanonicalPhysicalPort <VirtualHost> Apache MPM 公共指令 AcceptMutex CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBackLog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild ThreadStackSize User Apache MPM beos MaxRequestsPerThread CoreDumpDirectory Group Listen ListenBacklog MaxClients MaxMemFree MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize StartThreads User Apache MPM event AcceptMutex CoreDumpDirectory EnableExceptionHook Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers ThreadLimit ThreadsPerChild ThreadStackSize User Apache MPM netware MaxThreads Listen ListenBacklog MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads ReceiveBufferSize SendBufferSize StartThreads ThreadStackSize Apache MPM os2 Group Listen ListenBacklog MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize SendBufferSize StartServers User Apache MPM prefork 工作方式 MaxSpareServers MinSpareServers AcceptMutex CoreDumpDirectory EnableExceptionHook Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ServerLimit StartServers User Apache MPM winnt Win32DisableAcceptEx CoreDumpDirectory Listen ListenBacklog MaxMemFree MaxRequestsPerChild PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ThreadLimit ThreadsPerChild ThreadStackSize Apache MPM worker 工作方式 AcceptMutex CoreDumpDirectory EnableExceptionHook Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MinSpareThreads PidFile ReceiveBufferSize ScoreBoardFile SendBufferSize ServerLimit StartServers ThreadLimit ThreadsPerChild ThreadStackSize User Apache Module mod_actions Action指令 Script指令 Apache Module mod_alias 處理順序 Alias AliasMatch Redirect RedirectMatch RedirectPermanent RedirectTemp ScriptAlias ScriptAliasMatch Apache Module mod_asis 用法 Apache Module mod_auth_basic AuthBasicAuthoritative AuthBasicProvider Apache Module mod_auth_digest 使用摘要認(rèn)證 配合 MS Internet Explorer 6 工作 AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize Apache Module mod_authn_alias 示例 <AuthnProviderAlias> Apache Module mod_authn_anon 示例 Anonymous Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail Apache Module mod_authn_dbd 配置示例 AuthDBDUserPWQuery AuthDBDUserRealmQuery Apache Module mod_authn_dbm AuthDBMType AuthDBMUserFile Apache Module mod_authn_default AuthDefaultAuthoritative Apache Module mod_authn_file AuthUserFile Apache Module mod_authnz_ldap Contents Operation The require Directives 舉例 Using TLS Using SSL Using Microsoft FrontPage with mod_authnz_ldap AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative Apache Module mod_authz_dbm AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType Apache Module mod_authz_default AuthzDefaultAuthoritative Apache Module mod_authz_groupfile AuthGroupFile AuthzGroupFileAuthoritative Apache Module mod_authz_host Allow Deny Order Apache Module mod_authz_owner 配置示例 AuthzOwnerAuthoritative Apache Module mod_authz_user AuthzUserAuthoritative Apache Module mod_autoindex Autoindex Request Query Arguments AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault IndexStyleSheet ReadmeName Apache Module mod_cache Related Modules and Directives 配置示例 CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate Apache Module mod_cern_meta MetaDir MetaFiles MetaSuffix Apache Module mod_cgi CGI 環(huán)境變量 CGI 腳本的調(diào)試 ScriptLog ScriptLogBuffer ScriptLogLength Apache Module mod_cgid ScriptSock ScriptLog ScriptLogBuffer ScriptLogLength Apache Module mod_charset_lite Common Problems CharsetDefault CharsetOptions CharsetSourceEnc Apache Module mod_dav Enabling WebDAV Security Issues Complex Configurations Dav DavDepthInfinity DavMinTimeout Apache Module mod_dav_fs DavLockDB Apache Module mod_dav_lock DavGenericLockDB Apache Module mod_dbd Connection Pooling Apache DBD API SQL Prepared Statements DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver Apache Module mod_deflate 配置舉例 啟用壓縮 代理服務(wù)器 DeflateBufferSize DeflateCompressionLevel DeflateFilterNote DeflateMemLevel DeflateWindowSize Apache Module mod_dir DirectoryIndex DirectorySlash Apache Module mod_disk_cache CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot Apache Module mod_dumpio 啟用dumpio支持 DumpIOInput DumpIOOutput Apache Module mod_echo ProtocolEcho Apache Module mod_env PassEnv SetEnv UnsetEnv Apache Module mod_example Compiling the example module Using the mod_example Module Example Apache Module mod_expires 交替間隔語法 ExpiresActive ExpiresByType ExpiresDefault Apache Module mod_ext_filter 舉例 ExtFilterDefine ExtFilterOptions Apache Module mod_file_cache Using mod_file_cache CacheFile MMapFile Apache Module mod_filter Smart Filtering Filter Declarations Configuring the Chain Examples Protocol Handling FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace Apache Module mod_headers 處理順序 前處理和后處理 舉例 Header RequestHeader Apache Module mod_ident IdentityCheck IdentityCheckTimeout Apache Module mod_imagemap New Features Imagemap File Example Mapfile Referencing your mapfile ImapBase ImapDefault ImapMenu Apache Module mod_include Enabling Server-Side Includes PATH_INFO with Server Side Includes Basic Elements Include Variables Variable Substitution Flow Control Elements SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack Apache Module mod_info 安全問題 選擇哪些信息可以被顯示 已知的局限 AddModuleInfo Apache Module mod_isapi 用法 附加注釋 程序員注記 ISAPIAppendLogToErrors ISAPIAppendLogToQuery ISAPICacheFile ISAPIFakeAsync ISAPILogNotSupported ISAPIReadAheadBuffer Apache Module mod_ldap 示例配置 LDAP 連接池 LDAP 緩沖 使用SSL/TLS SSL/TLS 證書 LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert Apache Module mod_log_config 定制日志文件格式 安全考慮 BufferedLogs CookieLog CustomLog LogFormat TransferLog Apache Module mod_log_forensic 定制日志文件格式 安全考慮 ForensicLog Apache Module mod_logio 定制日志文件格式 Apache Module mod_mem_cache MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize Apache Module mod_mime 帶多擴(kuò)展名的文件 內(nèi)容編碼 字符集和語言 AddCharset AddEncoding AddHandler AddInputFilter AddLanguage AddOutputFilter AddType DefaultLanguage ModMimeUsePathInfo MultiviewsMatch RemoveCharset RemoveEncoding RemoveHandler RemoveInputFilter RemoveLanguage RemoveOutputFilter RemoveType TypesConfig Apache Module mod_mime_magic "Magic文件"的格式 性能問題 注意 MimeMagicFile Apache Module mod_negotiation 類型表 MultiViews CacheNegotiatedDocs ForceLanguagePriority LanguagePriority Apache Module mod_nw_ssl NWSSLTrustedCerts NWSSLUpgradeable SecureListen Apache Module mod_proxy 正向和反向代理 簡(jiǎn)單示例 控制對(duì)代理服務(wù)器的訪問 緩慢啟動(dòng) 局域網(wǎng)代理 協(xié)議調(diào)整 請(qǐng)求體 AllowCONNECT NoProxy <Proxy> ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize <ProxyMatch> ProxyMaxForwards ProxyPass ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia Apache Module mod_proxy_ajp Overview of the protocol Basic Packet Structure Request Packet Structure Response Packet Structure Apache Module mod_proxy_balancer Load balancer scheduler algorithm Request Counting Algorithm Weighted Traffic Counting Algorithm Enabling Balancer Manager Support Apache Module mod_proxy_connect Apache Module mod_proxy_ftp 為什么xxx類型的文件不能從FTP下載? 如何強(qiáng)制文件xxx使用FTP的ASCII形式下載? 我如何使用FTP上傳? 我如何能訪問我自己home目錄以外的FTP文件? 我如何才能在瀏覽器的URL框中隱藏FTP的明文密碼? Apache Module mod_proxy_http Apache Module mod_rewrite 特殊字符的引用 環(huán)境變量 實(shí)用方案 RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule Apache Module mod_setenvif BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase Apache Module mod_so 為Windows創(chuàng)建可加載模塊 LoadFile LoadModule Apache Module mod_speling CheckSpelling Apache Module mod_ssl 環(huán)境變量 Custom Log Formats SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCryptoDevice SSLEngine SSLHonorCipherOrder SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLUserName SSLVerifyClient SSLVerifyDepth Apache Module mod_status Enabling Status Support 自動(dòng)更新 Machine Readable Status File ExtendedStatus Apache Module mod_suexec SuexecUserGroup Apache Module mod_unique_id Theory Apache Module mod_userdir UserDir Apache Module mod_usertrack Logging 2-digit or 4-digit dates for cookies? CookieDomain CookieExpires CookieName CookieStyle CookieTracking Apache Module mod_version <IfVersion> Apache Module mod_vhost_alias 目錄名稱的轉(zhuǎn)換 示例 VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP 開發(fā)者文檔 Overview Topics External Resources Apache API notes Basic concepts How handlers work Resource allocation and resource pools Configuration Debugging Memory Allocation in APR Available debugging options Allowable Combinations Activating Debugging Options Documenting Apache 2.0 Apache 2.0 Hook Functions Creating a hook function Hooking the hook Converting Modules from Apache 1.3 to Apache 2.0 The easier changes ... The messier changes... Request Processing in Apache 2.0 The Request Processing Cycle The Request Parsing Phase The Security Phase The Preparation Phase The Handler Phase How Filters Work in Apache 2.0 Filter Types How are filters inserted? Asis Explanations 詞匯和索引 詞匯表 模塊索引 指令索引 指令速查 譯者聲明
characters

在Microsoft Windows上編譯Apache

在你開始編譯Apache之前有許多重要問題需要注意。開始之前請(qǐng)先看看在Microsoft Windows上使用Apache 。

系統(tǒng)要求

編譯Apache需要正確安裝以下環(huán)境:

  • 磁盤空間

    確保至少有50MB空閑磁盤空間可用。安裝以后Apache使用大約10MB磁盤空間,再加上會(huì)快速增長(zhǎng)的日志和緩存文件需要的空間。 實(shí)際需要的空間大小會(huì)在相當(dāng)大程度上取決于你選擇的配置以及使用的第三方模塊和庫。

  • Microsoft Visual C++ 5.0 或更高版本

    可以使用命令行工具,也可以在Visual Studio集成開發(fā)環(huán)境內(nèi)編譯Apache。使用命令行工具要求環(huán)境變量中包含 PATH, INCLUDE, LIB 和其他一些變量,這些環(huán)境變量可以用vcvars32批處理文件來設(shè)置:

    "c:\Program Files\DevStudio\VC\Bin\vcvars32.bat"

  • Windows Platform SDK

    Visual C++ 5.0 編譯需要一套新版的Microsoft Windows Platform SDK來允許Apache的某些特性。 對(duì)于命令行編譯,用setenv批處理文件來設(shè)置環(huán)境變量:

    "c:\Program Files\Platform SDK\setenv.bat"

    隨Visual C++ 6.0 及以后版本發(fā)布的Platform SDK文件足以滿足要求,所以新版本的用戶可以略過這個(gè)要求。

    注意,需要新版的Windows Platform SDK來使得Apache支持的全部mod_isapi特性可用。沒有新版SDK的話,在 MSVC++ 5.0 下編譯Apache會(huì)出現(xiàn)某些mod_isapi特性將被禁止的警告。在http://msdn.microsoft.com/downloads/sdks/platform/platform.asp可以找到新版的Microsoft Winodws Platform SDK。
  • awk工具(awk, gawk或類似軟件)

    為了在編譯系統(tǒng)內(nèi)安裝Apache ,用awk.exe工具修改了幾個(gè)文件。選擇awk是因?yàn)樗苄?,易于下載(與Perl或者WSH/VB相比),而且能夠完成生成文件的任務(wù)。Brian Kernighan的http://cm.bell-labs.com/cm/cs/who/bwk/站點(diǎn)有一個(gè)編譯好的本地Win32代碼版本,這個(gè)文件http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe你必須將它名字保存為awk.exe而不是awk95.exe 。

    注意Developer Studio集成開發(fā)環(huán)境只能在Tools - Options菜單中的Directories頁上列出的可執(zhí)行文件搜索路徑列表中查找 awk.exe(對(duì)于Developer Studio 7.0 是在the Projects - VC++ Directories 面板)。 把awk.exe的路徑加入到列表中,并按要求加入到系統(tǒng)PATH環(huán)境變量里。
    如果你用的是Cygwin (http://www.cygwin.com/)需要注意,awk工具的文件名是gawk.exe而文件awk.exe實(shí)際上是gawk.exe的一個(gè)符號(hào)連接。 而Windows命令行解釋程序不認(rèn)識(shí)符號(hào)連接,因此編譯二進(jìn)制安裝文件會(huì)失敗??尚械淖兺ㄞk法是從cygwin安裝目錄刪除文件awk.exe并把gawk.exe改名為awk.exe 。
  • [可選] OpenSSL庫(因?yàn)?code class="module">mod_ssl和ab.exe用到ssl支持)

    警告:在整個(gè)世界范圍使用和發(fā)布高強(qiáng)度密碼體系與專利知識(shí)產(chǎn)權(quán)都有相當(dāng)大的限制和嚴(yán)格的禁令。OpenSSL包括了在美國(guó)及其他國(guó)家和地區(qū)受到出口條例、國(guó)內(nèi)法律以及受專利保護(hù)的知識(shí)產(chǎn)權(quán)所限制的高強(qiáng)度密碼體系。對(duì)于OpenSSL項(xiàng)目提供的代碼,不管是Apache軟件基金會(huì)還是OpenSSL項(xiàng)目都不能提供關(guān)于擁有、使用和發(fā)布該代碼的法律建議。向你自己的法律顧問咨詢,你需要為你自己的行為負(fù)責(zé)。

    為了編譯 mod_ssl或abs項(xiàng)目(ab.exe用到SSL支持),OpenSSL必須安裝到srclib目錄下名為openssl的子目錄中,openSSL可以從http://www.openssl.org/source/獲得。要是準(zhǔn)備既編譯release版本又編譯debug版本,而且要禁止 0.9.7 版中受專利保護(hù)的特性,你應(yīng)該使用下列編譯命令:

    perl Configure VC-WIN32
    perl util\mkfiles.pl >MINFO
    perl util\mk1mf.pl dll no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >makefile
    perl util\mk1mf.pl dll debug no-asm no-mdc2 no-rc5 no-idea VC-WIN32 >makefile.dbg
    perl util\mkdef.pl 32 libeay no-asm no-mdc2 no-rc5 no-idea >ms\libeay32.def
    perl util\mkdef.pl 32 ssleay no-asm no-mdc2 no-rc5 no-idea >ms\ssleay32.def
    nmake
    nmake -f makefile.dbg

  • [可選] zlib源碼 (用于mod_deflate)

    Zlib必須安裝到srclib目錄下的zlib子目錄,但是你不需要去編譯那些源碼。編譯系統(tǒng)會(huì)直接把壓縮源碼編譯到mod_deflate模塊中去。 Zlib可以從http://www.gzip.org/zlib/獲得 -- mod_deflate已經(jīng)經(jīng)過驗(yàn)證可以使用版本 1.1.4 正確編譯。

命令行編譯

首先,將Apache源碼包解壓到合適的目錄。打開一個(gè)命令提示符窗口并用cd切換到那個(gè)目錄。

主要的Apache make文件命令都包含在文件Makefile.win中。要在Windows NT上編譯Apache ,只需要簡(jiǎn)單地使用下列命令之一就可以編譯releasedebug版本,分別是:

nmake /f Makefile.win _apacher

nmake /f Makefile.win _apached
    

兩條命令都可以編譯Apache 。后者會(huì)在編譯結(jié)果文件中包含調(diào)試信息,使發(fā)現(xiàn)bugs和跟蹤問題更容易。

Developer Studio集成開發(fā)環(huán)境的工作區(qū)編譯

Apache也能夠用VC++的Visual Studio集成開發(fā)環(huán)境編譯。為了簡(jiǎn)化過程,提供了一個(gè)Visual Studio工作區(qū)文件:Apache.dsw 。 它闡述了完整的Apache二進(jìn)制發(fā)行版需要的全部.dsp項(xiàng)目列表。 它包含了項(xiàng)目之間的依存關(guān)系來保證編譯按合適的順序進(jìn)行。

打開 Apache.dsw 工作區(qū)文件,選擇 InstallBin (根據(jù)需要選擇編譯Release 或者Debug 版本) 為活動(dòng)項(xiàng)目。InstallBin會(huì)引發(fā)編譯相關(guān)的項(xiàng)目并調(diào)用 Makefile.win 移動(dòng)編譯后的可執(zhí)行文件和動(dòng)態(tài)鏈接庫。你可以改變InstallBin項(xiàng)目的設(shè)置來定制 INSTDIR= 選項(xiàng),修改設(shè)置中General頁里面的Build Command line條目。INSTDIR的缺省值是 /Apache2目錄。如果你只是想要測(cè)試編譯(不安裝),就用 BuildBin項(xiàng)目代替。

.dsp項(xiàng)目文件使用Visual C++ 6.0格式發(fā)行。Visual C++ 5.0 (97)也能識(shí)別這種格式。而Visual C++ 7.0 (.net)必須把Apache.dsw.dsp 文件轉(zhuǎn)換成Apache.sln.msproj文件, 如果有任何一個(gè).dsp源文件改變了,必須重新轉(zhuǎn)換相應(yīng)的.msproj文件! 這很容易,只需要在VC++ 7.0 集成開發(fā)環(huán)境中重新打開 Apache.dsw文件。

Visual C++ 7.0 (.net)的用戶還應(yīng)該使用Build 菜單下的Configuration Manager對(duì)話框來不選中模塊abs ,mod_sslmod_deflate , 對(duì)編譯DebugRelease版本都是。 僅當(dāng)srclib目錄下至少存在openssl或者zlib子目錄二者之一, 才能調(diào)用nmake或者明白地使用BinBuild目標(biāo)直接從集成開發(fā)環(huán)境來編譯這幾個(gè)模塊。

導(dǎo)出的那些.mak文件造成很大的爭(zhēng)議,但對(duì)于 Visual C++ 5.0 的用戶它們是編譯mod_ssl 、abs(帶SSL支持的ab)和mod_deflate是必需的。 VC++ 7.0 (.net)的用戶也能從中受益,用nmake編譯比用 binenv要快。 從VC++ 5.0 或 6.0 集成開發(fā)環(huán)境編譯所有項(xiàng)目,再使用Project菜單 - Export導(dǎo)出所有make文件。 為了創(chuàng)建全部自動(dòng)產(chǎn)生的動(dòng)態(tài)目標(biāo)你必須首先編譯項(xiàng)目,以便互相之間的依存關(guān)系可以被正確解析。運(yùn)行下面命令修正路徑使之能編譯到任何位置:

perl srclib\apr\build\fixwin32mak.pl

你必須在httpd源碼樹的頂層目錄輸入這個(gè)命令。 當(dāng)前目錄及其子目錄下所有的.mak.dep項(xiàng)目文件都將被改正,并且時(shí)間戳被調(diào)節(jié)到與.dsp一致。

如果你貢獻(xiàn)修正項(xiàng)目文件的補(bǔ)丁,我們必須以Visual Studio 6.0 格式來確認(rèn)項(xiàng)目文件。 改動(dòng)應(yīng)該簡(jiǎn)單而且只帶有最少的編譯和連接標(biāo)記以便能夠被從VC++ 5.0 到 7.0 的所有環(huán)境識(shí)別。

項(xiàng)目組件

Apache.dsw工作區(qū)文件和makefile.win nmake腳本都是以下列順序編譯Apache服務(wù)器的.dsp項(xiàng)目文件:

  1. srclib\apr\apr.dsp
  2. srclib\apr\libapr.dsp
  3. srclib\apr-util\uri\gen_uri_delims.dsp
  4. srclib\apr-util\xml\expat\lib\xml.dsp
  5. srclib\apr-util\aprutil.dsp
  6. srclib\apr-util\libaprutil.dsp
  7. srclib\pcre\dftables.dsp
  8. srclib\pcre\pcre.dsp
  9. srclib\pcre\pcreposix.dsp
  10. server\gen_test_char.dsp
  11. libhttpd.dsp
  12. Apache.dsp

此外,modules\子目錄樹包含了大多數(shù)模塊的項(xiàng)目文件。

support\子目錄包含了一些附加程序的項(xiàng)目文件,它們運(yùn)行時(shí)不是Apache的一部分, 但是管理員要使用它們來測(cè)試Apache和維護(hù)密碼與日志文件。 Windows平臺(tái)特有的支持項(xiàng)目在support\win32\目錄下。

  1. support\ab.dsp
  2. support\htdigest.dsp
  3. support\htpasswd.dsp
  4. support\logresolve.dsp
  5. support\rotatelogs.dsp
  6. support\win32\ApacheMonitor.dsp
  7. support\win32\wintty.dsp

一旦編譯了Apache,它需要被安裝在服務(wù)器根目錄,缺省是在同一個(gè)盤符下的\Apache2目錄。

要自動(dòng)編譯和安裝所有文件到指定的目錄dir ,使用下列nmake命令之一:

nmake /f Makefile.win installr INSTDIR=dir

nmake /f Makefile.win installd INSTDIR=dir
    

INSTDIRdir參數(shù)給出了安裝目錄;如果要安裝到\Apache2目錄可以省略。

安裝結(jié)果如下列:

  • dir\bin\Apache.exe - Apache可執(zhí)行文件
  • dir\bin\ApacheMonitor.exe - 服務(wù)監(jiān)視器托盤圖表工具
  • dir\bin\htdigest.exe - 摘要授權(quán)密碼文件工具(Digest auth password file utility)
  • dir\bin\htdbm.exe - SDBM授權(quán)數(shù)據(jù)庫密碼文件工具(SDBM auth database password file utility)
  • dir\bin\htpasswd.exe - 基本授權(quán)密碼文件工具(Basic auth password file utility)
  • dir\bin\logresolve.exe - 日志文件dns名稱查找工具
  • dir\bin\rotatelogs.exe - 日志文件遍歷工具
  • dir\bin\wintty.exe - 控制臺(tái)窗口工具
  • dir\bin\libapr.dll - Apache可移植運(yùn)行時(shí)共享庫
  • dir\bin\libaprutil.dll - Apache運(yùn)行時(shí)共享庫工具
  • dir\bin\libhttpd.dll - Apache核心庫
  • dir\modules\mod_*.so - Apache可裝載模塊
  • dir\conf - 配置目錄
  • dir\logs - 空日志目錄
  • dir\include - C語言頭文件
  • dir\lib - 連接庫文件

關(guān)于從開發(fā)樹編譯Apache的警告

在每次發(fā)布發(fā)行版本之間,只有.dsp文件被維護(hù)。 考慮到會(huì)對(duì)審閱者的時(shí)間造成巨大浪費(fèi),并不重新產(chǎn)生.mak文件。 因此,你不能依靠上述的NMAKE命令來編譯修訂過的.dsp項(xiàng)目文件,除非你自己從項(xiàng)目中導(dǎo)出全部.mak文件。如果你在Microsoft Developer Studio環(huán)境中編譯這樣做是不必要的。
同時(shí)注意在導(dǎo)出make文件之前編譯BuildBin目標(biāo)項(xiàng)目是非常值得的(或者用命令行目標(biāo) _apacher_apached)。 許多文件在編譯過程中自動(dòng)產(chǎn)生。只有一次完全編譯才提供為正確的編譯行為編譯正確的依存關(guān)系樹所需要的全部依賴文件。

為創(chuàng)建供發(fā)布的.mak文件,一定要檢查.mak (或.dep)中Platform SDK和其他頭文件的依存性。 DevStudio\SharedIDE\bin\(VC5)或者DevStudio\Common\MSDev98\bin\(VC6) 目錄包含了sysincl.dat文件,其中列出了所有的例外情況來告訴VC++創(chuàng)建依存關(guān)系時(shí)不掃描列表中的文件, 更新此文件以包含這些頭文件 (同時(shí)包括正斜杠和反斜杠路徑,比如sys/time.hsys\time.h要同時(shí)列出)。 在發(fā)布的.mak文件中包含一個(gè)本地安裝路徑將使編譯完全失敗,所以不要忘了運(yùn)行srclib/apr/build/fixwin32mak.pl來修正.mak文件中的絕對(duì)路徑。

Previous article: Next article: