Hosting Operations
Read-only, can be slowMap Apache Virtual Hosts
You need to find Apache VirtualHost blocks and their names.
Command
grep -RInE '<VirtualHost|ServerName|ServerAlias' fixtures/apache/sites-enabled
Before you run this
System impact: Read-only. Can create load on large logs, directories, filesystems, or process tables.
When not to use it: Do not assume ServerAlias coverage is complete without checking redirects and DNS too.
Expected output
VirtualHost, ServerName, and ServerAlias lines with file and line numbers.
System impact
Read-only, can be slow. Nothing changes. The command searches enabled Apache configs.
Scope this to the smallest useful path or service on busy systems.
Recovery / rollback: no state is changed.
When to use it
Use when a domain is served by the wrong Apache virtual host.
When not to use it
Do not assume ServerAlias coverage is complete without checking redirects and DNS too.
Watch this command run
Command transcript
This sanitized transcript shows the commands and output shape without exposing host details.
$ grep -RInE '<VirtualHost|ServerName|ServerAlias' sample-files/apache/sites-enabled
sample-files/apache/sites-enabled/app.conf:1:<VirtualHost *:443>
sample-files/apache/sites-enabled/app.conf:2: ServerName example.com
sample-files/apache/sites-enabled/example.conf:1:<VirtualHost *:80>
sample-files/apache/sites-enabled/example.conf:2: ServerName example.com
sample-files/apache/sites-enabled/example.conf:3: ServerAlias example.com
$ grep -RInE '^[[:space:]]*DocumentRoot[[:space:]]' sample-files/apache/sites-enabled
sample-files/apache/sites-enabled/app.conf:3: DocumentRoot /srv/www/app/public
sample-files/apache/sites-enabled/example.conf:4: DocumentRoot /srv/www/legacy/public
View commands shown
These are the commands shown in the sanitized transcript.
Commands shown
grep -RInE '<VirtualHost|ServerName|ServerAlias' fixtures/apache/sites-enabledgrep -RInE '^[[:space:]]*DocumentRoot[[:space:]]' fixtures/apache/sites-enabled
next steps
Related commands
Map Apache Proxy Rules
Apache was up. The reverse proxy target was wrong.
grep -RInE '^[[:space:]]*(ProxyPass|ProxyPassReverse)[[:space:]]' fixtures/apache/sites-enabled
Find Apache Document Roots
Apache was serving files from a different directory than expected.
grep -RInE '^[[:space:]]*DocumentRoot[[:space:]]' fixtures/apache/sites-enabled
Find Web Server Redirect Rules
The redirect loop was hiding in plain text.
grep -RInE 'return[[:space:]]+30[18]|rewrite[[:space:]]|Redirect[[:space:]]|RewriteRule|RewriteCond' fixtures/nginx fixtures/apache
Map Nginx Roots and Aliases
The URL was right. The filesystem path was not.
grep -RInE '^[[:space:]]*(root|alias)[[:space:]]' fixtures/nginx/conf.d fixtures/nginx/sites-enabled
Show Nginx Include Lines
The config was valid; it just was not included.
grep -RInE '^[[:space:]]*include[[:space:]]' fixtures/nginx/nginx.conf fixtures/nginx/conf.d fixtures/nginx/sites-enabled
Study mapping
Use this as independent command practice: read the notes, predict the output, then compare it with the example before using a real shell.
Useful for
- LPIC-1 style command-line practice
- LFCS style performance tasks
- Linux+ style troubleshooting review
Independent study support only. No affiliation, endorsement, exam dumps, or real exam questions.