Apr 23, 2006
My Digital Life Editorial Team

FreeBSD Apache HTTP Accept Filter Error

When Apache web server is starting up in FreeBSD system, Apache loads succcessfully and web server functioning properly, but the following warning error occurs:

[warn] (2)No such file or directory:
Failed to enable the ‘httpready’ Accept Filter

The resolution to the above problem is to a accf_http module, which function is to buffer incoming connections until a certain complete HTTP requests arrive, into FreeBSD kernel by using kernel linker:

kldload accf_http

To permanently load enable HTTP Accept Filter FreeBSD kernel module (accf_http), add the following line into /boot/loader.conf:

accf_http_load="YES"

Note: The default settings is located in /boot/defaults/loader.cnf. To see the related settings about accf, use:

grep accf /boot/defaults/loader.conf

which will returns:

accf_data_load=”NO” # Wait for data accept filter
accf_http_load=”NO” # Wait for full HTTP request accept filter

Related posts:

  1. FreeBSD 6.0 on VMware Server Time and Clock Slow Down
  2. Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 – Part 3
  3. Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 – Part 5
  4. Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 – Part 4
  5. Installing Web Server in FreeBSD 6.0 with Apache 2.2, MySQL 5.0 and PHP 5 – Part 2

27 Comments

  • I agree with Alex. Drop that crappy, fancy, double quote thing from your blog. :)

  • Great solution, thank you. However, when I went to copy and paste the line

    accf_http_load=”YES”

    into my config file, it produced a horrible mess all over my editor. The reason is that you have some fancy directional double quotes, no doubt helpfully supplied by your text editor. When putting in snippets of a config file, however, it would appear that the correct thing to do is always use plain old ascii double quotes.

    Thanks

    – Alex Aminoff

    BaseSpace.net

  • Thanks mate, this helped :)

  • Note for users in a FreeBSD jail:

    since the jail doesn't have it's own kernel, and doesn't have access to modify the host kernel, you will not be able to run the kldload accf_http command (or edit loader.conf).

    (You should probably only get this error in teh first place if Apache2 isn't running on the host machine.)

    To solve, run the command (and edit loader.conf) on the host machine.

  • [...] все – теперь загрузка apache происходит без ошибок. А вот – оригинальная статья по которой я это [...]

  • I just got a new jail on FreeBSD 7.0, and installed apache, I got the error when starting apache, so I tried to follow the advice here, but when I tried to add this line accf_http_load=”YES”

    to /boot/loader.conf

    I got this error: Read-only file system.

    I tried to run the mount command to make the file read/writalbe, but I got

    fstab: /etc/fstab:0: No such file or directory

    Am I missing fstab file? How do I edit the file?

    Thanks,

  • rc.d script for apache now manage this kernel module

    Just add

    apache22_http_accept_enable="YES"

    to your rc.conf

  • [...] “[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter” error when starting apache with FreeBSD. Fix is here. [...]

  • You're a genious!! Solved in 5 minutes instead of 5 hours.

  • thank you thank you ! So happy that you posted this fix !

  • awesome, thank you for fixing this problem !!

  • and if you have your apache running

    in a jail, and wish not to touch the

    host, what would you recommend?

  • Adding to /boot/loader.conf will make the change permanent, but if you fancy testing this change out without rebooting your system, you can run this: -

    <code>

    # kldload accf_http

    </code>

    You can see that it's been loaded by doing: -

    <code>

    # kldstat

    Id Refs Address Size Name

    1 5 0xc0400000 6f6544 kernel

    2 1 0xc41f6000 2000 accf_http.ko <– you just loaded this module!

    </code>

    You can now restart Apache and see that your previous error is no longer.

  • [...] is loaded on subsequent reboots (by adding it to the “loader.conf” file). Thanks to My Digital Life too. Posted in Apache, [...]

  • big tx :)

  • thanks alot, it's save my work ! :)

  • [...] Courtesy § [...]

  • [...] FreeBSD Apache HTTP Accept Filter Error » My Digital Life or directory: Failed to enable the ‘httpready’ Accept Filter /boot/loader.conf: accf_http_load=”YES” [...]

  • Thanks! That saved me probably a few hours of trouble shooting. This is the ONLY article that Google matched for the httpready accept filter problem.

    For those of you who want to run Apache as non-root, make sure that you set the PidFile and LockFile attributes in your httpd.conf to a directory that you non-root account can write to.

  • thankz a lot :)

  • [...] Faça uma visita rápida ao My Digital Life… [...]

  • TY very much for the info, resolved my issue ;)

  • thanks!

  • Thanks for the tip. However, I don't want to run httpd as root, for security reasons (it's not a web server just a svn server). If I switch to a non privlaged user this error comes back. Do I have to turn request buffering off?

  • ditto. Good job. Its quite difficult getting information on this one. thanks again.

    Bruce

  • Thanks for posting this article, it saved me alot of time tracking down that error message.

    –Chris

Leave a comment

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Subscribe

Free email subscriptions
Get latest updates in email for free:

Translate This Page