Apache HTTP Server Version 2.1

Apache > HTTP Server > Documentation > Version 2.1 > FAQ

# Frequently Asked Questions

Available Languages: en | ja | ko

The latest version of this FAQ is always available from the main Apache web site, at <http://httpd.apache.org/docs-2.1/faq/>.

If you don't find the answer to your question in the below sections, please also consult the Apache 1.3 FAQ to see if your question is answered there.

## Topics

Background
  Background information about the Apache HTTP Server.
Support
  What do I do when I have problems?
Error Messages
  What does this error message mean?

## Background

- What is Apache?
- What is the Apache HTTP Server?
- How thoroughly tested is Apache?
- May I use the Apache logo on my product or Web site?

### What is Apache?

The Apache Software Foundation (ASF) is a 501(c)3 non-profit organization providing support for the Apache community of open-sourced software projects. For more details, please see the Apache Software Foundation FAQ

The Apache HTTP Server -- sometimes called Apache httpd -- is a project of the Apache Software foundation aimed at creating a robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server. For more information, please see the About Apache page.

### What is the Apache HTTP Server?

- is a powerful, flexible, HTTP/1.1 compliant web server
- implements the latest protocols, including HTTP/1.1 (RFC2616)
- is highly configurable and extensible with third-party modules
- can be customised by writing 'modules' using the Apache module API
- provides full source code and comes with an unrestrictive license
- runs on Windows 2003/XP/2000/NT/9x, Netware 5.x and above, OS/2, and most versions of Unix, as well as several other operating systems
- is actively being developed
- encourages user feedback through new ideas, bug reports and patches

### How thoroughly tested is Apache?

Apache is run on millions of Internet servers. It has been tested thoroughly by both developers and users. The Apache HTTP Server Project maintains rigorous standards before releasing new versions of our server, and our server runs without a hitch on over 70% of all WWW servers available on the Internet. When bugs do show up, we release patches and new versions as soon as they are available.

### >May I use the Apache logo on my product or Web site?

You may NOT use any original artwork from the Apache Software Foundation, nor make or use modified versions of such artwork, except under the following conditions:

- You may use the 'Powered by Apache' graphic on a Web site that is being served by the Apache HTTP server software.
- You may use the aforementioned 'Powered by Apache' graphic or the Apache Software Foundation logo in product description and promotional material IF and ONLY IF such use can in no way be interpreted as anything other than an attribution. Using the Apache name and artwork in a manner that implies endorsement of a product or service is strictly forbidden.

## Support

- "Why can't I ...? Why won't ... work?" What to do in case of problems
- Whom do I contact for support?

### "Why can't I ...? Why won't ... work?" What to do in case of problems

If you are having trouble with your Apache server software, you should take the following steps:

Check the ErrorLog!
  Apache tries to be helpful when it encounters a problem. In many cases, it will provide some details by writing one or more messages to the server error log. Sometimes this is enough for you to diagnose & fix the problem yourself (such as file permissions or the like). The default location of the error log is `/usr/local/apache2/logs/error_log`, but see the `ErrorLog` directive in your config files for the location on your server.
Check the ErrorLog again!
  Nearly all problems can be solved by reading the error log.
Check the FAQ!
  The latest version of the Apache Frequently-Asked Questions list can always be found at the main Apache web site.
Check the Apache bug database
  Most problems that get reported to The Apache Group are recorded in the bug database. Please check the existing reports, open and closed, before adding one. If you find that your issue has already been reported, please don't add a "me, too" report. If the original report isn't closed yet, we suggest that you check it periodically. You might also consider contacting the original submitter, because there may be an email exchange going on about the issue that isn't getting recorded in the database.
Ask in a user support forum

  Apache has an active community of users who are willing to share their knowledge. Participating in this community is usually the best and fastest way to get answers to your questions and problems.

  Users mailing list

  #apache on Freenode IRC is also available for user support issues.

Please use the bug database for bugs!

  If you've gone through those steps above that are appropriate and have obtained no relief, then please do let the httpd developers know about the problem by logging a bug report.

  If your problem involves the server crashing and generating a core dump, please include a backtrace (if possible).

### Whom do I contact for support?

With millions of users and fewer than sixty volunteer developers, we cannot provide personal support for Apache. For free support, we suggest participating in a user forum.

Professional, commercial support for Apache is available from a number of companies.

## Error Messages

- Invalid argument: core_output_filter: writing data to the network
- AcceptEx failed
- Premature end of script headers
- Permission denied

### Invalid argument: core_output_filter: writing data to the network

Apache uses the `sendfile` syscall on platforms where it is available in order to speed sending of responses. Unfortunately, on some systems, Apache will detect the presence of `sendfile` at compile-time, even when it does not work properly. This happens most frequently when using network or other non-standard file-system.

Symptoms of this problem include the above message in the error log and zero-length responses to non-zero-sized files. The problem generally occurs only for static files, since dynamic content usually does not make use of `sendfile`.

To fix this problem, simply use the `EnableSendfile` directive to disable `sendfile` for all or part of your server. Also see the `EnableMMAP`, which can help with similar problems.

### AcceptEx Failed

If you get error messages related to the `AcceptEx` syscall on win32, see the `Win32DisableAcceptEx` directive.

### Premature end of script headers

Most problems with CGI scripts result in this message written in the error log together with an `Internal Server Error` delivered to the browser. A guide to helping debug this type of problem is available in the CGI tutorial.

### Permission denied

A `Permission denied` error in the `error_log`, accompanied by a `Forbidden` message to the client usually indicates a problem with your filesystem permissions, rather than a problem in the Apache HTTP Server configuration files. Check to make sure that the `User` and `Group` running the child processes has adequate permission to access the files in question. Also check that the directory and all parent directories are at least searchable for that user and group (i.e., `chmod +x`).

Recent releases of Fedora Core and other Linux distributions using SELinux have additional access restrictions beyond those used by the basic filesystem. Violations of these restrictions will also result in a `Permission denied` message. See the Fedora SELinux FAQ and Apache SELinux Policy Document.

Available Languages: en | ja | ko