Get to Know Apache Web Server: Slightly time-consuming, great solution to your Website needs
March 27, 2019

Get to Know Apache Web Server: Slightly time-consuming, great solution to your Website needs

Anonymous | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with Apache Web Server

We have implemented Apache Web Server in many projects: Everything from configuring Apache ourselves, to the bread and butter of most of our projects: data science. While we have also implemented other open source web Servers (lighttpd, et al), Apache is a package we come back to time and again. Our favorite toolchain is to implement a small, custom Linux distribution running nothing but Apache WS.

We have virtualized/containerized Apache, ran Apache on bare-metal, and even found some uses on embedded platforms such as Raspberry PI, Commodity (i.e. cheap) x86 hardware, pfSense (which includes its own Apache version, which we update and upgrade out of the box), firewalls, routers, gateways, and other devices. Additionally, with IoT related projects, we even load a small version of Apache to run PhP scripts, or upload environmental data from remote locations.
  • Street Cred: Apache Web Server is the Founder for all of Apache Foundation's other projects. Without the Web Server, Apache Foundation would look very different. That being said, they have done a good job of maintaining the code base, and keeping a lot of what makes Apache so special
  • Stability: Apache is rock-solid. While no software is perfect, Apache can parse your web sources quickly and cleanly.
  • Flexibility: Need to startup your own Webpage? Done. Wordpress? Yup. REST Endpoint? Check. Honeypot? Absolutely.
  • Large Attack Surface: Since Apache WS has been around so long, it's easy for villains to attack a public instance and find a vulnerability that may have existed for a lengthy period of time. With the rise of Platforms such as MetaSploit and Linux distro's like ParrotOS and Kali, finding those types of bugs / holes becomes much easier and cheaper.
  • Configuration Scheme: While it's easy to configure Apache, it's a bit strange if you have never been exposed to it: Most software packages (indeed, even competing Web Servers) enable / disable webpages by a simple config file, Apache has a multistep process to setting up Websites. And while this might be great for larger websites, it's a lot of work for a simple webpage (say, something that simply vomits a report or informational page). I feel like this could be simplified greatly.
  • Configuration Fatigue: Iterating off of the last point: The configuration files themselves are extensive, and lengthy. They resemble XML, but are not quite: They are actually sort of their own Markup, so that makes configuration a little more costly, in units of time.
  • Positive: Apache offers world-class software to everyone., While this project is Open Source, it's not without backing and support. Many developers contribute their time to this project. Also, they have back of major open source leaders, such as RedHat, etc.
  • Positive: Apache is extensively configurable: Modules, separate site files, and the ability to re-load on the fly make it extremely powerful and fast
  • Negative: Apache has a lot of configuration files and Modules. If you do not spend some reasonable time with it, you will not get your Kit configured correctly, which could open you up to needless security flaws and holes, as well as underperforming Websites (to name a couple of problems).
Against Nginx: Mainly- it's been in the field the longest. There's not really a reason to move to Nginx on it's own. Apache has a mountain of documentation and how-tos that extend from the Foundation itself, to Individual Developers, spanning over 20 years, and most of it largely remains accurate.

Against Microsoft IIS: Security is the primary difference here. Although, there are a wealth of differences that span it's own review, the major focus is Cost and Security. In terms of Cost- it's obvious. In terms of Security, Apache is an Apple to Microsoft's Orange. However, they both attack the same problem: Delivering content to and from the Web. However, Apache seems to not suffer form a lot of the same vulnerabilities as IIS, due to Apache Foundation being involved in a lot of the Web standards themselves.
Well Suited: Perfect for hosting your own website. And, I don't mean just an individual with a port of MySpace. I mean an industrial strength, commercial grade replacement for Microsoft IIS.

If you need a web server that provides a feature-rich environment with support for multiple sites (hosted in the same server), with such features as virtual hosting, and modular feature design, than Apache Web Server is right on the money.

Less Well-Suited:
Single page, small feature-set websites. Apache is a lot of trouble for developers to set up, just to send/receive JSON strings of a few bytes. You're really better off using something smaller and faster/simpler (lighttpd for example).