PageRenderTime 66ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/mod_perl/apache_1.3.23/htdocs/manual/misc/FAQ.html

https://github.com/gitpan/AxKit-Needs
HTML | 3653 lines | 2762 code | 841 blank | 50 comment | 0 complexity | e9e67ed4bfd804771e8b448fea6ce553 MD5 | raw file
Possible License(s): LGPL-2.0

Large files files are truncated, but you can click here to view the full file

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta name="generator" content="HTML Tidy, see www.w3.org" />
  6. <title>Apache Server Frequently Asked Questions</title>
  7. </head>
  8. <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
  9. <body bgcolor="#FFFFFF" text="#000000" link="#0000FF"
  10. vlink="#000080" alink="#FF0000">
  11. <div align="CENTER">
  12. <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" />
  13. <h3>Apache HTTP Server Version 1.3</h3>
  14. </div>
  15. <h1 align="CENTER">Apache Server Frequently Asked
  16. Questions</h1>
  17. <p>$Revision: 1.149 $ ($Date: 2001/10/08 01:26:54 $)</p>
  18. <p>The latest version of this FAQ is always available from the
  19. main Apache web site, at &lt;<a
  20. href="http://httpd.apache.org/docs/misc/FAQ.html"
  21. rel="Help"><samp>http://httpd.apache.org/docs/misc/FAQ.html</samp></a>&gt;.</p>
  22. <!-- Notes about changes: -->
  23. <!-- - If adding a relative link to another part of the -->
  24. <!-- documentation, *do* include the ".html" portion. There's a -->
  25. <!-- good chance that the user will be reading the documentation -->
  26. <!-- on his own system, which may not be configured for -->
  27. <!-- multiviews. -->
  28. <!-- - When adding items, make sure they're put in the right place -->
  29. <!-- - verify that the numbering matches up. -->
  30. <!-- - *Don't* use <PRE></PRE> blocks - they don't appear -->
  31. <!-- correctly in a reliable way when this is converted to text -->
  32. <!-- with Lynx. Use <DL><DD><CODE>xxx<BR>xx</CODE></DD></DL> -->
  33. <!-- blocks inside a <P></P> instead. This is necessary to get -->
  34. <!-- the horizontal and vertical indenting right. -->
  35. <!-- - Don't forget to include an HR tag after the last /P tag -->
  36. <!-- but before the /LI in an item. -->
  37. <p>If you are reading a text-only version of this FAQ, you may
  38. find numbers enclosed in brackets (such as "[12]"). These refer
  39. to the list of reference URLs to be found at the end of the
  40. document. These references do not appear, and are not needed,
  41. for the hypertext version.</p>
  42. <h2>The Questions</h2>
  43. <!-- Stuff to Add: -->
  44. <!-- - can't bind to port 80 -->
  45. <!-- - permission denied -->
  46. <!-- - address already in use -->
  47. <!-- - mod_auth & passwd lines "user:pw:.*" - ++1st colon onward is -->
  48. <!-- treated as pw, not just ++1st to \-\-2nd. -->
  49. <!-- - SSL: -->
  50. <!-- - Can I use Apache-SSL for free in Canada? -->
  51. <!-- - Why can't I use Apache-SSL in the U.S.? -->
  52. <!-- - How can I found out how many visitors my site gets? -->
  53. <!-- - How do I add a counter? -->
  54. <!-- - How do I configure Apache as a proxy? -->
  55. <!-- - What browsers support HTTP/1.1? -->
  56. <!-- - What's the point of vhosts-by-name is there aren't any -->
  57. <!-- HTTP/1.1 browsers? -->
  58. <!-- - Is there an Apache for W95/WNT? -->
  59. <!-- - Why does Apache die when a vhost can't be DNS-resolved? -->
  60. <!-- - Why do I get "send lost connection" messages in my error -->
  61. <!-- log? -->
  62. <!-- - specifically consider .pdf files which seem to cause this -->
  63. <!-- a lot when accessed via the plugin ... and also mention -->
  64. <!-- how range-requests can cause bytes served < file size -->
  65. <!-- - Why do directory indexes appear as garbage? (A: -lucb) -->
  66. <!-- - How do I add a footer to all pages offered by my server? -->
  67. <!-- - Fix midi question; a bigger problem than midi vs. x-midi is -->
  68. <!-- the simple fact that older versions of Apache (and new ones -->
  69. <!-- that have been upgraded without upgrading the mime.types -->
  70. <!-- file) don't have the type listed at all. -->
  71. <!-- - RewriteRule /~fraggle/* /cgi-bin/fraggle.pl does not work -->
  72. <!-- - how do I disable authentication for a subdirectory? -->
  73. <!-- (A: you can't but "Satisfy any; Allow from all" can be close -->
  74. <!-- - '400 malformed request' on Win32 might mean stale proxy; see -->
  75. <!-- PR #2300. -->
  76. <!-- - how do I tell what version of Apache I am running? -->
  77. <ol type="A">
  78. <li value="1">
  79. <strong>Background</strong>
  80. <ol>
  81. <li><a href="#what">What is Apache?</a></li>
  82. <li><a href="#why">How and why was Apache
  83. created?</a></li>
  84. <li><a href="#name">Why the name "Apache"?</a></li>
  85. <li><a href="#compare">OK, so how does Apache compare to
  86. other servers?</a></li>
  87. <li><a href="#tested">How thoroughly tested is
  88. Apache?</a></li>
  89. <li><a href="#future">What are the future plans for
  90. Apache?</a></li>
  91. <li><a href="#support">Whom do I contact for
  92. support?</a></li>
  93. <li><a href="#more">Is there any more information on
  94. Apache?</a></li>
  95. <li><a href="#where">Where can I get Apache?</a></li>
  96. <li><a href="#logo">May I use the Apache logo on my
  97. product or Web site?</a></li>
  98. </ol>
  99. </li>
  100. </body>
  101. </html>
  102. <li value="2">
  103. <strong>General Technical Questions</strong>
  104. <ol>
  105. <li><a href="#what2do">"Why can't I ...? Why won't ...
  106. work?" What to do in case of problems</a></li>
  107. <li><a href="#compatible">How compatible is Apache with
  108. my existing NCSA 1.3 setup?</a></li>
  109. <li><a href="#year2000">Is Apache Year 2000
  110. compliant?</a></li>
  111. <li><a href="#submit_patch">How do I submit a patch to
  112. the Apache Group?</a></li>
  113. <li><a href="#domination">Why has Apache stolen my
  114. favourite site's Internet address?</a></li>
  115. <li><a href="#apspam">Why am I getting spam mail from the
  116. Apache site?</a></li>
  117. <li><a href="#redist">May I include the Apache software
  118. on a CD or other package I'm distributing?</a></li>
  119. <li><a href="#zoom">What's the best hardware/operating
  120. system/... How do I get the most out of my Apache Web
  121. server?</a></li>
  122. <li><a href="#regex">What are "regular
  123. expressions"?</a></li>
  124. <li><a href="#binaries">Why isn't there a binary for my
  125. platform?</a></li>
  126. </ol>
  127. </li>
  128. </body>
  129. </html>
  130. <li value="3">
  131. <strong>Building Apache</strong>
  132. <ol>
  133. <li><a href="#bind8.1">Why do I get an error about an
  134. undefined reference to "<samp>__inet_ntoa</samp>" or
  135. other <samp>__inet_*</samp> symbols?</a></li>
  136. <li><a href="#cantbuild">Why won't Apache compile with my
  137. system's <samp>cc</samp>?</a></li>
  138. <li><a href="#linuxiovec">Why do I get complaints about
  139. redefinition of "<code>struct iovec</code>" when
  140. compiling under Linux?</a></li>
  141. <li><a href="#broken-gcc">I'm using gcc and I get some
  142. compilation errors, what is wrong?</a></li>
  143. <li><a href="#glibc-crypt">I'm using RedHat Linux 5.0, or
  144. some other <samp>glibc</samp>-based Linux system, and I
  145. get errors with the <code>crypt</code> function when I
  146. attempt to build Apache 1.2.</a></li>
  147. </ol>
  148. </li>
  149. </body>
  150. </html>
  151. <li value="4">
  152. <strong>Error Log Messages and Problems Starting
  153. Apache</strong>
  154. <ol>
  155. <li><a href="#setgid">Why do I get "<samp>setgid: Invalid
  156. argument</samp>" at startup?</a></li>
  157. <li><a href="#nodelay">Why am I getting "<samp>httpd:
  158. could not set socket option TCP_NODELAY</samp>" in my
  159. error log?</a></li>
  160. <li><a href="#peerreset">Why am I getting
  161. "<samp>connection reset by peer</samp>" in my error
  162. log?</a></li>
  163. <li><a href="#wheres-the-dump">The errorlog says Apache
  164. dumped core, but where's the dump file?</a></li>
  165. <li><a href="#linux-shmget">When I run it under Linux I
  166. get "shmget: function not found", what should I
  167. do?</a></li>
  168. <li><a href="#nfslocking">Server hangs, or fails to
  169. start, and/or error log fills with "<samp>fcntl:
  170. F_SETLKW: No record locks available</samp>" or similar
  171. messages</a></li>
  172. <li><a href="#aixccbug">Why am I getting "<samp>Expected
  173. &lt;/Directory&gt; but saw &lt;/Directory&gt;</samp>"
  174. when I try to start Apache?</a></li>
  175. <li><a href="#redhat">I'm using RedHat Linux and I have
  176. problems with httpd dying randomly or not restarting
  177. properly</a></li>
  178. <li><a href="#stopping">I upgraded from an Apache version
  179. earlier than 1.2.0 and suddenly I have problems with
  180. Apache dying randomly or not restarting properly</a></li>
  181. <li><a href="#setservername">When I try to start Apache
  182. from a DOS window, I get a message like "<samp>Cannot
  183. determine host name. Use ServerName directive to set it
  184. manually.</samp>" What does this mean?</a></li>
  185. <li><a href="#ws2_32dll">When I try to start Apache for
  186. Windows, I get a message like "<samp>Unable To Locate
  187. WS2_32.DLL...</samp>". What should I do?</a></li>
  188. <li><a href="#WSADuplicateSocket">Apache for Windows does
  189. not start. Error log contains this message "<samp>[crit]
  190. (10045) The attempted operation is not supported for the
  191. type of object referenced: Parent: WSADuplicateSocket
  192. failed for socket ###</samp>". What does this
  193. mean?</a></li>
  194. <li><a href="#err1067">When I try to start Apache on
  195. Windows, I get a message like "<code>System error 1067
  196. has occurred. The process terminated
  197. unexpectedly.</code>" What does this mean?</a></li>
  198. <li><a href="#suseFDN">On a SuSE Linux system, I try and
  199. configure access control using basic authentication.
  200. Although I follow the example exactly, authentication
  201. fails, and an error message "<code>admin: not a valid
  202. FDN: ....</code>" is logged.</a></li>
  203. <li><a href="#codered">Why do I have weird entries in my
  204. logs asking for <code>default.ida</code> and
  205. <code>cmd.exe</code>?</a></li>
  206. </ol>
  207. </li>
  208. </body>
  209. </html>
  210. <li value="5">
  211. <strong>Configuration Questions</strong>
  212. <ol>
  213. <li><a href="#fdlim">Why can't I run more than
  214. &lt;<em>n</em>&gt; virtual hosts?</a></li>
  215. <li><a href="#freebsd-setsize">Can I increase
  216. <samp>FD_SETSIZE</samp> on FreeBSD?</a></li>
  217. <li><a href="#errordoc401">Why doesn't my
  218. <code>ErrorDocument 401</code> work?</a></li>
  219. <li><a href="#cookies1">Why does Apache send a cookie on
  220. every response?</a></li>
  221. <li><a href="#cookies2">Why don't my cookies work, I even
  222. compiled in <samp>mod_cookies</samp>?</a></li>
  223. <li><a href="#jdk1-and-http1.1">Why do my Java app[let]s
  224. give me plain text when I request an URL from an Apache
  225. server?</a></li>
  226. <li><a href="#midi">How do I get Apache to send a MIDI
  227. file so the browser can play it?</a></li>
  228. <li><a href="#addlog">How do I add browsers and referrers
  229. to my logs?</a></li>
  230. <li><a href="#set-servername">Why does accessing
  231. directories only work when I include the trailing "/"
  232. (<em>e.g.</em>,&nbsp;<samp>http://foo.domain.com/~user/</samp>)
  233. but not when I omit it
  234. (<em>e.g.</em>,&nbsp;<samp>http://foo.domain.com/~user</samp>)?</a></li>
  235. <li><a href="#no-info-directives">Why doesn't mod_info
  236. list any directives?</a></li>
  237. <li><a href="#namevhost">I upgraded to Apache 1.3 and now
  238. my virtual hosts don't work!</a></li>
  239. <li><a href="#redhat-htm">I'm using RedHat Linux and my
  240. .htm files are showing up as HTML source rather than
  241. being formatted!</a></li>
  242. <li><a href="#htaccess-work">My <code>.htaccess</code>
  243. files are being ignored.</a></li>
  244. <li><a href="#forbidden">Why do I get a
  245. "<samp>Forbidden</samp>" message whenever I try to access
  246. a particular directory?</a></li>
  247. <li><a href="#malfiles">Why do I get a
  248. "<samp>Forbidden/You don't have permission to access / on
  249. this server</samp>" message whenever I try to access my
  250. server?</a></li>
  251. <li><a href="#ie-ignores-mime">Why do my files appear
  252. correctly in Internet Explorer, but show up as source or
  253. trigger a save window with Netscape?</a></li>
  254. <li><a href="#canonical-hostnames">My site is accessible
  255. under many different hostnames; how do I redirect clients
  256. so that they see only a single name?</a></li>
  257. <li><a href="#firewall">Why can I access my website from the
  258. server or from my local network, but I can't access it from
  259. elsewhere on the Internet?</a></li>
  260. </ol>
  261. </li>
  262. </body>
  263. </html>
  264. <li value="6">
  265. <strong>Dynamic Content (CGI and SSI)</strong>
  266. <ol>
  267. <li><a href="#CGIoutsideScriptAlias">How do I enable CGI
  268. execution in directories other than the
  269. ScriptAlias?</a></li>
  270. <li><a href="#premature-script-headers">What does it mean
  271. when my CGIs fail with "<samp>Premature end of script
  272. headers</samp>"?</a></li>
  273. <li><a href="#POSTnotallowed">Why do I keep getting
  274. "Method Not Allowed" for form POST requests?</a></li>
  275. <li><a href="#nph-scripts">How can I get my script's
  276. output without Apache buffering it? Why doesn't my server
  277. push work?</a></li>
  278. <li><a href="#cgi-spec">Where can I find the "CGI
  279. specification"?</a></li>
  280. <li><a href="#fastcgi">Why isn't FastCGI included with
  281. Apache any more?</a></li>
  282. <li><a href="#ssi-part-i">How do I enable SSI (parsed
  283. HTML)?</a></li>
  284. <li><a href="#ssi-part-ii">Why don't my parsed files get
  285. cached?</a></li>
  286. <li><a href="#ssi-part-iii">How can I have my script
  287. output parsed?</a></li>
  288. <li><a href="#ssi-part-iv">SSIs don't work for
  289. VirtualHosts and/or user home directories</a></li>
  290. <li><a href="#errordocssi">How can I use
  291. <code>ErrorDocument</code> and SSI to simplify customized
  292. error messages?</a></li>
  293. <li><a href="#remote-user-var">Why is the environment
  294. variable <samp>REMOTE_USER</samp> not set?</a></li>
  295. <li><a href="#user-cgi">How do I allow each of my user
  296. directories to have a cgi-bin directory?</a></li>
  297. </ol>
  298. </li>
  299. </body>
  300. </html>
  301. <li value="7">
  302. <strong>Authentication and Access Restrictions</strong>
  303. <ol>
  304. <li><a href="#dnsauth">Why isn't restricting access by
  305. host or domain name working correctly?</a></li>
  306. <li><a href="#user-authentication">How do I set up Apache
  307. to require a username and password to access certain
  308. documents?</a></li>
  309. <li><a href="#remote-auth-only">How do I set up Apache to
  310. allow access to certain documents only if a site is
  311. either a local site <em>or</em> the user supplies a
  312. password and username?</a></li>
  313. <li><a href="#authauthoritative">Why does my
  314. authentication give me a server error?</a></li>
  315. <li><a href="#auth-on-same-machine">Do I have to keep the
  316. (mSQL) authentication information on the same
  317. machine?</a></li>
  318. <li><a href="#msql-slow">Why is my mSQL authentication
  319. terribly slow?</a></li>
  320. <li><a href="#passwdauth">Can I use my
  321. <samp>/etc/passwd</samp> file for Web page
  322. authentication?</a></li>
  323. <li><a href="#prompted-twice">Why does Apache ask for my
  324. password twice before serving a file?</a></li>
  325. </ol>
  326. </li>
  327. </body>
  328. </html>
  329. <li value="8">
  330. <strong>URL Rewriting</strong>
  331. <ol>
  332. <li><a href="#rewrite-more-config">Where can I find
  333. mod_rewrite rulesets which already solve particular
  334. URL-related problems?</a></li>
  335. <li><a href="#rewrite-article">Where can I find any
  336. published information about URL-manipulations and
  337. mod_rewrite?</a></li>
  338. <li><a href="#rewrite-complexity">Why is mod_rewrite so
  339. difficult to learn and seems so complicated?</a></li>
  340. <li><a href="#rewrite-dontwork">What can I do if my
  341. RewriteRules don't work as expected?</a></li>
  342. <li><a href="#rewrite-prefixdocroot">Why don't some of my
  343. URLs get prefixed with DocumentRoot when using
  344. mod_rewrite?</a></li>
  345. <li><a href="#rewrite-nocase">How can I make all my URLs
  346. case-insensitive with mod_rewrite?</a></li>
  347. <li><a href="#rewrite-virthost">Why are RewriteRules in
  348. my VirtualHost parts ignored?</a></li>
  349. <li><a href="#rewrite-envwhitespace">How can I use
  350. strings with whitespaces in RewriteRule's ENV
  351. flag?</a></li>
  352. </ol>
  353. </li>
  354. </body>
  355. </html>
  356. <li value="9">
  357. <strong>Features</strong>
  358. <ol>
  359. <li><a href="#proxy">Does or will Apache act as a Proxy
  360. server?</a></li>
  361. <li><a href="#multiviews">What are "multiviews"?</a></li>
  362. <li><a href="#putsupport">Why can't I publish to my
  363. Apache server using PUT on Netscape Gold and other
  364. programs?</a></li>
  365. <li><a href="#SSL-i">Why doesn't Apache include
  366. SSL?</a></li>
  367. <li><a href="#footer">How can I attach a footer to my
  368. documents without using SSI?</a></li>
  369. <li><a href="#search">Does Apache include a search
  370. engine?</a></li>
  371. <li><a href="#rotate">How can I rotate my log
  372. files?</a></li>
  373. <li><a href="#conditional-logging">How do I keep certain
  374. requests from appearing in my logs?</a></li>
  375. <li><a href="#dbinteg">Does Apache include any sort of
  376. database integration?</a></li>
  377. <li><a href="#asp">Can I use Active Server Pages (ASP)
  378. with Apache?</a></li>
  379. <li><a href="#java">Does Apache come with Java
  380. support?</a></li>
  381. </ol>
  382. </li>
  383. </body>
  384. </html>
  385. </ol>
  386. <hr />
  387. <h2>The Answers</h2>
  388. <h3>A. Background</h3>
  389. <ol>
  390. <li>
  391. <a id="what" name="what"><strong>What is
  392. Apache?</strong></a>
  393. <p>The Apache httpd server</p>
  394. <ul>
  395. <li>is a powerful, flexible, HTTP/1.1 compliant web
  396. server</li>
  397. <li>implements the latest protocols, including HTTP/1.1
  398. (RFC2616)</li>
  399. <li>is highly configurable and extensible with
  400. third-party modules</li>
  401. <li>can be customised by writing 'modules' using the
  402. Apache module API</li>
  403. <li>provides full source code and comes with an
  404. unrestrictive license</li>
  405. <li>runs on Windows NT/9x, Netware 5.x, OS/2, and most
  406. versions of Unix, as well as several other operating
  407. systems</li>
  408. <li>is actively being developed</li>
  409. <li>encourages user feedback through new ideas, bug
  410. reports and patches</li>
  411. <li>
  412. implements many frequently requested features,
  413. including:<br />
  414. <br />
  415. <dl>
  416. <dt>DBM databases for authentication</dt>
  417. <dd>allows you to easily set up password-protected
  418. pages with enormous numbers of authorized users,
  419. without bogging down the server.</dd>
  420. <dt>Customized responses to errors and problems</dt>
  421. <dd>Allows you to set up files, or even CGI scripts,
  422. which are returned by the server in response to
  423. errors and problems, e.g. setup a script to intercept
  424. <strong>500 Server Error</strong>s and perform
  425. on-the-fly diagnostics for both users and
  426. yourself.</dd>
  427. <dt>Multiple DirectoryIndex directives</dt>
  428. <dd>Allows you to say <code>DirectoryIndex index.html
  429. index.cgi</code>, which instructs the server to
  430. either send back <code>index.html</code> or run
  431. <code>index.cgi</code> when a directory URL is
  432. requested, whichever it finds in the directory.</dd>
  433. <dt>Unlimited flexible URL rewriting and
  434. aliasing</dt>
  435. <dd>Apache has no fixed limit on the numbers of
  436. Aliases and Redirects which may be declared in the
  437. config files. In addition, a powerful rewriting
  438. engine can be used to solve most URL manipulation
  439. problems.</dd>
  440. <dt>Content negotiation</dt>
  441. <dd>i.e. the ability to automatically serve clients
  442. of varying sophistication and HTML level compliance,
  443. with documents which offer the best representation of
  444. information that the client is capable of
  445. accepting.</dd>
  446. <dt>Virtual Hosts</dt>
  447. <dd>A much requested feature, sometimes known as
  448. multi-homed servers. This allows the server to
  449. distinguish between requests made to different IP
  450. addresses or names (mapped to the same machine).
  451. Apache also offers dynamically configurable
  452. mass-virtual hosting.</dd>
  453. <dt>Configurable Reliable Piped Logs</dt>
  454. <dd>You can configure Apache to generate logs in the
  455. format that you want. In addition, on most Unix
  456. architectures, Apache can send log files to a pipe,
  457. allowing for log rotation, hit filtering, real-time
  458. splitting of multiple vhosts into separate logs, and
  459. asynchronous DNS resolving on the fly.</dd>
  460. </dl>
  461. </li>
  462. </ul>
  463. <hr />
  464. </li>
  465. <li>
  466. <a id="why" name="why"><strong>How and why was Apache
  467. created?</strong></a>
  468. <p>The <a
  469. href="http://httpd.apache.org/ABOUT_APACHE.html">About
  470. Apache</a> document explains how the Apache project evolved
  471. from its beginnings as an outgrowth of the NCSA httpd
  472. project to its current status as one of the fastest, most
  473. efficient, and most functional web servers in
  474. existence.</p>
  475. <hr />
  476. </li>
  477. <li>
  478. <a id="name" name="name"><strong>Why the name
  479. "Apache"?</strong></a>
  480. <p>A cute name which stuck. Apache is "<strong>A
  481. PA</strong>t<strong>CH</strong>y server". It was based on
  482. some existing code and a series of "patch files".</p>
  483. <p>For many developers it is also a reverent connotation to
  484. the Native American Indian tribe of Apache, <a
  485. href="http://www.indians.org/welker/apache.htm">well-known
  486. for their superior skills in warfare strategy and
  487. inexhaustible endurance</a>. For more information on the
  488. Apache Nation, we suggest searching <a
  489. href="http://www.google.com/search?q=Apache+Nation">Google</a>,
  490. <a
  491. href="http://www.northernlight.com/nlquery.fcg?qr=Apache+Nation">
  492. Northernlight</a>, or <a
  493. href="http://www.alltheweb.com/cgi-bin/asearch?query=Apache+Nation">
  494. AllTheWeb</a>.</p>
  495. <hr />
  496. </li>
  497. <li>
  498. <a id="compare" name="compare"><strong>OK, so how does
  499. Apache compare to other servers?</strong></a>
  500. <p>For an independent assessment, see <a
  501. href="http://webcompare.internet.com/">Web
  502. Compare</a>.</p>
  503. <p>Apache has been shown to be substantially faster, more
  504. stable, and more feature-full than many other web servers.
  505. Although certain commercial servers have claimed to surpass
  506. Apache's speed (it has not been demonstrated that any of
  507. these "benchmarks" are a good way of measuring WWW server
  508. speed at any rate), we feel that it is better to have a
  509. mostly-fast free server than an extremely-fast server that
  510. costs thousands of dollars. Apache is run on sites that get
  511. millions of hits per day, and they have experienced no
  512. performance difficulties.</p>
  513. <hr />
  514. </li>
  515. <li>
  516. <a id="tested" name="tested"><strong>How thoroughly tested
  517. is Apache?</strong></a>
  518. <p>Apache is run on over 6 million Internet servers (as of
  519. February 2000). It has been tested thoroughly by both
  520. developers and users. The Apache Group maintains rigorous
  521. standards before releasing new versions of their server,
  522. and our server runs without a hitch on over one half of all
  523. WWW servers available on the Internet. When bugs do show
  524. up, we release patches and new versions as soon as they are
  525. available.</p>
  526. <hr />
  527. </li>
  528. <li>
  529. <a id="future" name="future"><strong>What are the future
  530. plans for Apache?</strong></a>
  531. <ul>
  532. <li>to continue to be an "open source" no-charge-for-use
  533. HTTP server,</li>
  534. <li>to keep up with advances in HTTP protocol and web
  535. developments in general,</li>
  536. <li>to collect suggestions for fixes/improvements from
  537. its users,</li>
  538. <li>to respond to needs of large volume providers as well
  539. as occasional users.</li>
  540. </ul>
  541. <hr />
  542. </li>
  543. <li>
  544. <a id="support" name="support"><strong>Whom do I contact
  545. for support?</strong></a>
  546. <p>There is no official support for Apache. None of the
  547. developers want to be swamped by a flood of trivial
  548. questions that can be resolved elsewhere. Bug reports and
  549. suggestions should be sent <em>via</em> <a
  550. href="http://httpd.apache.org/bug_report.html">the bug
  551. report page</a>. Other questions should be directed to the
  552. <a href="http://httpd.apache.org/userslist.html">Apache HTTP
  553. Server Users List</a> or the
  554. <a
  555. href="news:comp.infosystems.www.servers.unix">comp.infosystems.www.servers.unix</a>
  556. or <a
  557. href="news:comp.infosystems.www.servers.ms-windows">comp.infosystems.www.servers.ms-windows</a>
  558. newsgroup (as appropriate for the platform you use), where
  559. some of the Apache team lurk, in the company of many other
  560. httpd gurus who should be able to help.</p>
  561. <p>Commercial support for Apache is, however, available
  562. from a number of third parties.</p>
  563. <hr />
  564. </li>
  565. <li>
  566. <a id="more" name="more"><strong>Is there any more
  567. information available on Apache?</strong></a>
  568. <p>Indeed there is. See the main <a
  569. href="http://httpd.apache.org/">Apache web site</a>. There
  570. is also a regular electronic publication called <a
  571. href="http://www.apacheweek.com/" rel="Help"><cite>Apache
  572. Week</cite></a> available. Links to relevant <cite>Apache
  573. Week</cite> articles are included below where appropriate.
  574. There are also some <a
  575. href="http://httpd.apache.org/info/apache_books.html">Apache-specific
  576. books</a> available.</p>
  577. <hr />
  578. </li>
  579. <li>
  580. <a id="where" name="where"><strong>Where can I get
  581. Apache?</strong></a>
  582. <p>You can find out how to download the source for Apache
  583. at the project's <a href="http://httpd.apache.org/">main
  584. web page</a>.</p>
  585. <hr />
  586. </li>
  587. <li>
  588. <a id="logo" name="logo"><b>May I use the Apache logo on my
  589. product or Web site?</b></a>
  590. <p>You may <b>NOT</b> use any original artwork from the
  591. Apache Software Foundation, nor make or use modified
  592. versions of such artwork, except under the following
  593. conditions:</p>
  594. <ul>
  595. <li>You may use the <a
  596. href="../../apache_pb.gif">'Powered by Apache'
  597. graphic</a> on a Web site that is being served by the
  598. Apache HTTP server software.</li>
  599. <li>You may use the aforementioned 'Powered by Apache'
  600. graphic or the <a
  601. href="http://www.apache.org/images/asf_logo.gif">
  602. Apache Software Foundation logo</a> in product
  603. description and promotional material <b>IF and ONLY
  604. IF</b> such use can in no way be interpreted as anything
  605. other than an attribution. Using the Apache name and
  606. artwork in a manner that implies endorsement of a product
  607. or service is <b>strictly forbidden</b>.</li>
  608. </ul>
  609. <hr />
  610. </li>
  611. </ol>
  612. </body>
  613. </html>
  614. <h3>B. General Technical Questions</h3>
  615. <ol>
  616. <li>
  617. <a id="what2do" name="what2do"><strong>"Why can't I ...?
  618. Why won't ... work?" What to do in case of
  619. problems</strong></a>
  620. <p>If you are having trouble with your Apache server
  621. software, you should take the following steps:</p>
  622. <ol>
  623. <li>
  624. <strong>Check the errorlog!</strong>
  625. <p>Apache tries to be helpful when it encounters a
  626. problem. In many cases, it will provide some details by
  627. writing one or messages to the server error log.
  628. Sometimes this is enough for you to diagnose &amp; fix
  629. the problem yourself (such as file permissions or the
  630. like). The default location of the error log is
  631. <samp>/usr/local/apache/logs/error_log</samp>, but see
  632. the <a
  633. href="../mod/core.html#errorlog"><samp>ErrorLog</samp></a>
  634. directive in your config files for the location on your
  635. server.</p>
  636. </li>
  637. <li>
  638. <strong>Check the <a
  639. href="http://httpd.apache.org/docs/misc/FAQ.html">FAQ</a>!</strong>
  640. <p>The latest version of the Apache Frequently-Asked
  641. Questions list can always be found at the main Apache
  642. web site.</p>
  643. </li>
  644. <li>
  645. <strong>Check the Apache bug database</strong>
  646. <p>Most problems that get reported to The Apache Group
  647. are recorded in the <a
  648. href="http://bugs.apache.org/">bug database</a>.
  649. <em><strong>Please</strong> check the existing reports,
  650. open <strong>and</strong> closed, before adding
  651. one.</em> If you find that your issue has already been
  652. reported, please <em>don't</em> add a "me, too" report.
  653. If the original report isn't closed yet, we suggest
  654. that you check it periodically. You might also consider
  655. contacting the original submitter, because there may be
  656. an email exchange going on about the issue that isn't
  657. getting recorded in the database.</p>
  658. </li>
  659. <li>
  660. <strong>Ask in a user support group.</strong>
  661. <p>A lot of common problems never make it to the bug
  662. database because there's already high Q&amp;A traffic
  663. about them in the <a
  664. href="http://httpd.apache.org/userslist.html">Users
  665. mailing list</a> or <a
  666. href="news:comp.infosystems.www.servers.unix"><samp>comp.infosystems.www.servers.unix</samp></a>
  667. and related newsgroups. These newsgroups are also
  668. available via <a
  669. href="http://groups.google.com/groups?group=comp.infosystems.www.servers">
  670. Google</a>. Many Apache users, and some of the developers,
  671. can be found roaming their virtual halls, so it is suggested
  672. that you seek wisdom there. The chances are good that
  673. you'll get a faster answer there than from the bug
  674. database, even if you <em>don't</em> see your question
  675. already posted.</p>
  676. </li>
  677. <li>
  678. <strong>If all else fails, report the problem in the
  679. bug database</strong>
  680. <p>If you've gone through those steps above that are
  681. appropriate and have obtained no relief, then please
  682. <em>do</em> let The Apache Group know about the problem
  683. by <a
  684. href="http://httpd.apache.org/bug_report.html">logging
  685. a bug report</a>.</p>
  686. <p>If your problem involves the server crashing and
  687. generating a core dump, please include a backtrace (if
  688. possible). As an example,</p>
  689. <dl>
  690. <dd><code># cd <em>ServerRoot</em><br />
  691. # dbx httpd core<br />
  692. (dbx) where</code></dd>
  693. </dl>
  694. <p>(Substitute the appropriate locations for your
  695. <samp>ServerRoot</samp> and your <samp>httpd</samp> and
  696. <samp>core</samp> files. You may have to use
  697. <code>gdb</code> instead of <code>dbx</code>.)</p>
  698. </li>
  699. </ol>
  700. <hr />
  701. </li>
  702. <li>
  703. <a id="compatible" name="compatible"><strong>How compatible
  704. is Apache with my existing NCSA 1.3 setup?</strong></a>
  705. <p>Apache attempts to offer all the features and
  706. configuration options of NCSA httpd 1.3, as well as many of
  707. the additional features found in NCSA httpd 1.4 and NCSA
  708. httpd 1.5.</p>
  709. <p>NCSA httpd appears to be moving toward adding
  710. experimental features which are not generally required at
  711. the moment. Some of the experiments will succeed while
  712. others will inevitably be dropped. The Apache philosophy is
  713. to add what's needed as and when it is needed.</p>
  714. <p>Friendly interaction between Apache and NCSA developers
  715. should ensure that fundamental feature enhancements stay
  716. consistent between the two servers for the foreseeable
  717. future.</p>
  718. <hr />
  719. </li>
  720. <li>
  721. <a id="year2000" name="year2000"><strong>Is Apache Year
  722. 2000 compliant?</strong></a>
  723. <p>Yes, Apache is Year 2000 compliant.</p>
  724. <p>Apache internally never stores years as two digits. On
  725. the HTTP protocol level RFC1123-style addresses are
  726. generated which is the only format a HTTP/1.1-compliant
  727. server should generate. To be compatible with older
  728. applications Apache recognizes ANSI C's
  729. <code>asctime()</code> and RFC850-/RFC1036-style date
  730. formats, too. The <code>asctime()</code> format uses
  731. four-digit years, but the RFC850 and RFC1036 date formats
  732. only define a two-digit year. If Apache sees such a date
  733. with a value less than 70 it assumes that the century is
  734. <samp>20</samp> rather than <samp>19</samp>.</p>
  735. <p>Although Apache is Year 2000 compliant, you may still
  736. get problems if the underlying OS has problems with dates
  737. past year 2000 (<em>e.g.</em>, OS calls which accept or
  738. return year numbers). Most (UNIX) systems store dates
  739. internally as signed 32-bit integers which contain the
  740. number of seconds since 1<sup>st</sup> January 1970, so the
  741. magic boundary to worry about is the year 2038 and not
  742. 2000. But modern operating systems shouldn't cause any
  743. trouble at all.</p>
  744. <p>Users of Apache 1.2.x should upgrade to a current
  745. version of Apache 1.3 (see <a
  746. href="../new_features_1_3.html#misc">year-2000 improvements
  747. in Apache 1.3</a> for details).</p>
  748. <p>The Apache HTTP Server project is an open-source
  749. software product of the Apache Software Foundation. The
  750. project and the Foundation <b>cannot</b> offer legal
  751. assurances regarding any suitability of the software for
  752. your application. There are several commercial Apache
  753. support organizations and derivative server products
  754. available that may be able to stand behind the software and
  755. provide you with any assurances you may require. You may
  756. find links to some of these vendors at <samp>&lt;<a
  757. href="http://www.apache.org/info/support.cgi">http://www.apache.org/info/support.cgi</a>&gt;</samp>.</p>
  758. <p>The Apache HTTP server software is distributed with the
  759. following disclaimer, found in the software license:</p>
  760. <pre>
  761. THIS SOFTWARE IS PROVIDED BY THE APACHE GROUP ``AS IS'' AND ANY
  762. EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  763. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  764. PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE GROUP OR
  765. ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  766. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  767. NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  768. LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  769. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  770. STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  771. ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  772. OF THE POSSIBILITY OF SUCH DAMAGE.
  773. </pre>
  774. <hr />
  775. </li>
  776. <li>
  777. <a id="submit_patch" name="submit_patch"><strong>How do I
  778. submit a patch to the Apache Group?</strong></a>
  779. <p>The Apache Group encourages patches from outside
  780. developers. There are 2 main "types" of patches: small
  781. bugfixes and general improvements. Bugfixes should be
  782. submitting using the Apache <a
  783. href="http://httpd.apache.org/bug_report.html">bug report
  784. page</a>. Improvements, modifications, and additions should
  785. follow the instructions below.</p>
  786. <p>In general, the first course of action is to be a member
  787. of the <samp>dev@httpd.apache.org</samp> mailing list. This
  788. indicates to the Group that you are closely following the
  789. latest Apache developments. Your patch file should be
  790. generated using either '<code>diff&nbsp;-c</code>' or
  791. '<code>diff&nbsp;-u</code>' against the latest CVS tree. To
  792. submit your patch, send email to
  793. <samp>dev@httpd.apache.org</samp> with a
  794. <samp>Subject:</samp> line that starts with
  795. <samp>[PATCH]</samp> and includes a general description of
  796. the patch. In the body of the message, the patch should be
  797. clearly described and then included at the end of the
  798. message. If the patch-file is long, you can note a URL to
  799. the file instead of the file itself. Use of MIME
  800. enclosures/attachments should be avoided.</p>
  801. <p>Be prepared to respond to any questions about your
  802. patches and possibly defend your code. If your patch
  803. results in a lot of discussion, you may be asked to submit
  804. an updated patch that incorporate all changes and
  805. suggestions.</p>
  806. <hr />
  807. </li>
  808. <li>
  809. <a id="domination" name="domination"><strong>Why has Apache
  810. stolen my favourite site's Internet address?</strong></a>
  811. <p>The simple answer is: "It hasn't." This misconception is
  812. usually caused by the site in question having migrated to
  813. the Apache Web server software, but not having migrated the
  814. site's content yet. When Apache is installed, the default
  815. page that gets installed tells the Webmaster the
  816. installation was successful. The expectation is that this
  817. default page will be replaced with the site's real content.
  818. If it doesn't, complain to the Webmaster, not to the Apache
  819. project -- we just make the software and aren't responsible
  820. for what people do (or don't do) with it.</p>
  821. <hr />
  822. </li>
  823. <li>
  824. <a id="apspam" name="apspam"><strong>Why am I getting spam
  825. mail from the Apache site?</strong></a>
  826. <p>The short answer is: "You aren't." Usually when someone
  827. thinks the Apache site is originating spam, it's because
  828. they've traced the spam to a Web site, and the Web site
  829. says it's using Apache. See the <a
  830. href="#domination">previous FAQ entry</a> for more details
  831. on this phenomenon.</p>
  832. <p>No marketing spam originates from the Apache site. The
  833. only mail that comes from the site goes only to addresses
  834. that have been <em>requested</em> to receive the mail.</p>
  835. <hr />
  836. </li>
  837. <li>
  838. <a id="redist" name="redist"><strong>May I include the
  839. Apache software on a CD or other package I'm
  840. distributing?</strong></a>
  841. <p>The detailed answer to this question can be found in the
  842. Apache license, which is included in the Apache
  843. distribution in the file <code>LICENSE</code>. You can also
  844. find it on the Web at <samp>&lt;<a
  845. href="http://www.apache.org/LICENSE.txt">http://www.apache.org/LICENSE.txt</a>&gt;</samp>.</p>
  846. <hr />
  847. </li>
  848. <li>
  849. <a id="zoom" name="zoom"><strong>What's the best
  850. hardware/operating system/... How do I get the most out of
  851. my Apache Web server?</strong></a>
  852. <p>Check out Dean Gaudet's <a
  853. href="perf-tuning.html">performance tuning page</a>.</p>
  854. <hr />
  855. </li>
  856. <li>
  857. <a id="regex" name="regex"><strong>What are "regular
  858. expressions"?</strong></a>
  859. <p>Regular expressions are a way of describing a pattern -
  860. for example, "all the words that begin with the letter A"
  861. or "every 10-digit phone number" or even "Every sentence
  862. with two commas in it, and no capital letter Q". Regular
  863. expressions (aka "regex"s) are useful in Apache because
  864. they let you apply certain attributes against collections
  865. of files or resources in very flexible ways - for example,
  866. all .gif and .jpg files under any "images" directory could
  867. be written as /\/images\/.*(jpg|gif)$/.</p>
  868. <p>The best overview around is probably the one which comes
  869. with Perl. We implement a simple subset of Perl's regex
  870. support, but it's still a good way to learn what they mean.
  871. You can start by going to the <a
  872. href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlre.html#Regular_Expressions">
  873. CPAN page on regular expressions</a>, and branching out
  874. from there.</p>
  875. <hr />
  876. </li>
  877. <li>
  878. <a id="binaries" name="binaries"><b>Why isn't there a
  879. binary for my platform?</b></a>
  880. <p>The developers make sure that the software builds and
  881. works correctly on the platforms available to them; this
  882. does <i>not</i> necessarily mean that <i>your</i> platform
  883. is one of them. In addition, the Apache HTTP server project
  884. is primarily source oriented, meaning that distributing
  885. valid and buildable source code is the purpose of a
  886. release, not making sure that there is a binary package for
  887. all of the supported platforms.</p>
  888. <p>If you don't see a kit for your platform listed in the
  889. binary distribution area (&lt;URL:<a
  890. href="http://httpd.apache.org/dist/httpd/binaries/">http://httpd.apache.org/dist/httpd/binaries/</a>&gt;),
  891. it means either that the platform isn't available to any of
  892. the developers, or that they just haven't gotten around to
  893. preparing a binary for it. As this is a voluntary project,
  894. they are under no obligation to do so. Users are encouraged
  895. and expected to build the software themselves.</p>
  896. <p>The sole exception to these practices is the Windows
  897. package. Unlike most Unix and Unix-like platforms, Windows
  898. systems do not come with a bundled software development
  899. environment, so we <i>do</i> prepare binary kits for
  900. Windows when we make a release. Again, however, it's a
  901. voluntary thing and only a limited number of the developers
  902. have the capability to build the InstallShield package, so
  903. the Windows release may lag somewhat behind the source
  904. release. This lag should be no more than a few days at
  905. most.</p>
  906. <hr />
  907. </li>
  908. </ol>
  909. </body>
  910. </html>
  911. <h3>C. Building Apache</h3>
  912. <ol>
  913. <li>
  914. <a id="bind8.1" name="bind8.1"><strong>Why do I get an
  915. error about an undefined reference to
  916. "<samp>__inet_ntoa</samp>" or other <samp>__inet_*</samp>
  917. symbols?</strong></a>
  918. <p>If you have installed <a
  919. href="http://www.isc.org/bind.html">BIND-8</a> then this is
  920. normally due to a conflict between your include files and
  921. your libraries. BIND-8 installs its include files and
  922. libraries <code>/usr/local/include/</code> and
  923. <code>/usr/local/lib/</code>, while the resolver that comes
  924. with your system is probably installed in
  925. <code>/usr/include/</code> and <code>/usr/lib/</code>. If
  926. your system uses the header files in
  927. <code>/usr/local/include/</code> before those in
  928. <code>/usr/include/</code> but you do not use the new
  929. resolver library, then the two versions will conflict.</p>
  930. <p>To resolve this, you can either make sure you use the
  931. include files and libraries that came with your system or
  932. make sure to use the new include files and libraries.
  933. Adding <code>-lbind</code> to the
  934. <code>EXTRA_LDFLAGS</code> line in your
  935. <samp>Configuration</samp> file, then re-running
  936. <samp>Configure</samp>, should resolve the problem. (Apache
  937. versions 1.2.* and earlier use <code>EXTRA_LFLAGS</code>
  938. instead.)</p>
  939. <p><strong>Note:</strong>As of BIND 8.1.1, the bind
  940. libraries and files are installed under
  941. <samp>/usr/local/bind</samp> by default, so you should not
  942. run into this problem. Should you want to use the bind
  943. resolvers you'll have to add the following to the
  944. respective lines:</p>
  945. <dl>
  946. <dd><code>EXTRA_CFLAGS=-I/usr/local/bind/include<br />
  947. EXTRA_LDFLAGS=-L/usr/local/bind/lib<br />
  948. EXTRA_LIBS=-lbind</code></dd>
  949. </dl>
  950. <hr />
  951. </li>
  952. <li>
  953. <a id="cantbuild" name="cantbuild"><strong>Why won't Apache
  954. compile with my system's <samp>cc</samp>?</strong></a>
  955. <p>If the server won't compile on your system, it is
  956. probably due to one of the following causes:</p>
  957. <ul>
  958. <li><strong>The <samp>Configure</samp> script doesn't
  959. recognize your system environment.</strong><br />
  960. This might be either because it's completely unknown or
  961. because the specific environment (include files, OS
  962. version, <em>et cetera</em>) isn't explicitly handled. If
  963. this happens, you may need to port the server to your OS
  964. yourself.</li>
  965. <li><strong>Your system's C compiler is
  966. garbage.</strong><br />
  967. Some operating systems include a default C compiler that
  968. is either not ANSI C-compliant or suffers from other
  969. deficiencies. The usual recommendation in cases like this
  970. is to acquire, install, and use <samp>gcc</samp>.</li>
  971. <li><strong>Your <samp>include</samp> files may be
  972. confused.</strong><br />
  973. In some cases, we have found that a compiler
  974. installation or system upgrade has left the C header
  975. files in an inconsistent state. Make sure that your
  976. include directory tree is in sync with the compiler and
  977. the operating system.</li>
  978. <li><strong>Your operating system or compiler may be out
  979. of revision.</strong><br />
  980. Software vendors (including those that develop operating
  981. systems) issue new releases for a reason; sometimes to
  982. add functionality, but more often to fix bugs that have

Large files files are truncated, but you can click here to view the full file