What it is
The Apache HTTP Server is an open-source web server from the Apache Software Foundation. It was the A in the LAMP stack and served much of the early web, and it is still widely used, especially for PHP applications and WordPress. It runs on Linux, other Unix systems and Windows, and has a long record of stable releases.
Apache is built from modules, so features such as TLS, URL rewriting, compression and proxying are switched on only as needed. Virtual hosts let one server answer for many domains, and per-directory rules give fine control over what each part of a site exposes, such as directory listings and the headers sent back.
How I use it
- Serves the Rental Pilot API on an Ubuntu EC2 instance, with PHP and MySQL.
- Also serves the stucco company's job app and both company WordPress sites on the same server.
- Configured with security headers, no directory listings and no version banners, with Let's Encrypt TLS for every host.
- Part of the Brikers stack alongside PHP, MySQL and Ubuntu.
Apache is the right tool for PHP applications and WordPress sites that already run on it. I use it because it handles many domains on one server well, and its modules make it straightforward to set security headers and redirects in one place.
Questions
How do you harden an Apache server?
On the servers I run: security headers, no directory listings, no version banners and TLS on every host. Each one is checked, not assumed.
Can one Apache server host several sites?
Yes. One Ubuntu server runs the Rental Pilot API, the stucco company's job app and two WordPress sites, each on its own address.