Page MenuHomePhabricator

Update server requirements in docs
Closed, ResolvedPublic

Description

It turns out, that B flag in RewriteRule (mentioned in https://secure.phabricator.com/book/phabricator/article/configuration_guide/) was only introduced in Apache 2.2.7 (see http://ask.ttwait.com/que/915949), but official documentation just says it's available since 2.2.0: http://httpd.apache.org/docs/2.2/rewrite/flags.html

Could you please mention that Apache version must be at least 2.2.7 for Phabricator to work?

Event Timeline

aik099 created this task.Dec 8 2014, 10:24 AM
aik099 raised the priority of this task from to Needs Triage.
aik099 updated the task description. (Show Details)
aik099 added a project: Diviner.
aik099 added a subscriber: aik099.
epriestley triaged this task as Wishlist priority.Dec 8 2014, 11:43 AM
epriestley added a subscriber: epriestley.
chad edited projects, added Documentation; removed Diviner.Dec 9 2014, 8:52 PM
chad added a subscriber: chad.Sep 9 2015, 3:38 PM

Is this actually worth documenting? 2.2.0 was released in 2005, 2.2.7 was never released. The flag has been available for over 8 years.

I left this open because I think the information in the description is useful for us in eventually crafting setup checks and possibly including in the documentation.

For example, T2226 discusses doing a webserver self-check for gzip, and merges T5067 to test for a missing "B" flag. I'm not sure what the behavior of apache is if you have a very old version and add "B", but if it's "run, but not work", having documentation about the minimum version here lets us tailor the error message for the "B" check when we write it (e.g., test the apache version, add a "You need to upgrade apache to version X" line if it's too old). I think these checks are helpful.

In general, I think we should accommodate very old versions of supporting software when we reasonably can. A lot of linux distros are years behind the cutting edge and I'd guess you can find multiple LTS releases today that give you something older-than-2.2.7 when you use the system package manager to install things. When we can't, we should try to proactively detect these versions and tell the user. Longer support windows and proactive version checks are usually easy for us to write and cheap to maintain, and they're unambiguous for users and probably pay for themselves in support costs.

Overall, I would expect this to end up in setup checks rather than documentation if at all possible (it is dramatically better for us to tell users "Your Apache is too old, upgrade to X" than to put a note in the docs which will often go unread), but the task description seemed possibly helpful in writing those checks.

epriestley closed this task as Resolved.Dec 9 2016, 1:52 PM
epriestley claimed this task.

I'm going to close this as resolved because we now have a setup check for it and haven't seen any more Apache version issues since this report (more than two years).

If the setup check surfaces a number of old Apache version issues we can tailor the check and/or adjust the documentation, but it doesn't seem like this is a widespread problem. Missing "B" flags or weird custom config (like T11961) are probably more likely causes.