Apache · Configuration and operations
What is Apache HTTP Server and what is it used for?
Short answer
Apache HTTP Server is a modular open-source web server that serves static files, runs dynamic handlers and acts as a reverse proxy. It is widely used for virtual hosting, TLS termination and PHP applications.
Apache is a general-purpose HTTP server maintained by the Apache Software Foundation. It accepts connections, maps URLs to files or handlers, applies per-directory configuration and writes a response. Modules add TLS, proxying, rewriting, compression, authentication and many other features.
<VirtualHost *:443>
ServerName app.example.com
DocumentRoot /var/www/app/public
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/app.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/app.example.com/privkey.pem
ProxyPass /api http://127.0.0.1:3000/api
ProxyPassReverse /api http://127.0.0.1:3000/api
</VirtualHost>Where it fits in production
- Serving static assets directly from disk or a shared volume
- TLS termination and HTTP-to-HTTPS redirects
- Reverse proxying application servers, PHP-FPM or other backends
- Name-based virtual hosting for many domains on one address
- Shared hosting where per-site .htaccess files are expected
Apache competes with nginx, Caddy and cloud load balancers. Its strengths are mature module coverage, flexible per-directory configuration and a large operational knowledge base. Its costs are higher memory use under some MPM configurations and more configuration surface to secure.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1When would you choose Apache over nginx?
- 2What does it mean that Apache is modular?
- 3How does Apache map a request to a file on disk?
- 4What parts of an Apache deployment do you monitor?
Say it in the interview
Apache is a modular HTTP server. It can serve static files, delegate dynamic requests to handlers such as PHP-FPM, and act as a reverse proxy. In production I mostly use it as the front door for TLS, virtual hosts and routing to backends. Its trade-off is configuration and memory overhead compared with lighter event-driven servers.
Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.
Related questions
Reading is step one
Now say it out loud.
Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live Apache mock interview and get scored feedback on depth, clarity and confidence.