📖 Guide

Apache — Complete Reference

Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL.

76 commands across 10 categories

Service Management

CommandDescription
sudo systemctl start apache2
Start Apache (Debian/Ubuntu)
sudo systemctl stop apache2
Stop Apache
sudo systemctl restart apache2
Restart Apache (drops connections)
sudo systemctl reload apache2
Graceful reload (no dropped connections)
sudo systemctl enable apache2
Enable Apache to start on boot
sudo systemctl status apache2
Check Apache service status
apachectl configtest
Test configuration for syntax errors
apachectl -V
Show Apache version and compile settings

Configuration Files

CommandDescription
/etc/apache2/apache2.conf
Main configuration file (Debian/Ubuntu)
/etc/httpd/conf/httpd.conf
Main configuration file (RHEL/CentOS)
/etc/apache2/sites-available/
Virtual host config files (available)
/etc/apache2/sites-enabled/
Symlinks to active virtual hosts
/etc/apache2/mods-available/
Available module configs
/etc/apache2/mods-enabled/
Symlinks to enabled modules
/etc/apache2/ports.conf
Port listening configuration
.htaccess
Per-directory config file (requires AllowOverride)

Virtual Hosts

CommandDescription
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/example </VirtualHost>
Basic virtual host configuration
ServerAlias www.example.com
Add alternate domain names for the virtual host
ServerAdmin admin@example.com
Set admin email for error pages
<Directory /var/www/example> AllowOverride All Require all granted </Directory>
Set directory permissions and allow .htaccess
sudo a2ensite example.conf
Enable a virtual host
sudo a2dissite example.conf
Disable a virtual host
ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/
Reverse proxy to a backend application
<VirtualHost *:80> ServerName example.com Redirect permanent / https://example.com/ </VirtualHost>
Redirect all HTTP traffic to HTTPS

Modules

CommandDescription
sudo a2enmod rewrite
Enable a module (e.g., mod_rewrite)
sudo a2dismod status
Disable a module
sudo a2enmod ssl
Enable SSL/TLS module
sudo a2enmod proxy proxy_http
Enable reverse proxy modules
sudo a2enmod headers
Enable mod_headers for custom HTTP headers
sudo a2enmod deflate
Enable gzip compression module
apachectl -M
List all loaded modules
sudo a2enmod expires
Enable mod_expires for cache control headers

Rewrite Rules

CommandDescription
RewriteEngine On
Enable the rewrite engine (required first)
RewriteRule ^old-page$ /new-page [R=301,L]
Permanent redirect from old URL to new
RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Force HTTPS redirect
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
Remove www prefix from URLs
RewriteRule ^api/(.*)$ /index.php?route=$1 [QSA,L]
Route API requests to a front controller
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ /index.html [L]
SPA fallback: serve index.html for non-existing files (React/Vue)
[L]
Flag: last rule (stop processing)
[R=301,L]
Flag: permanent redirect and stop

SSL/TLS

CommandDescription
sudo a2enmod ssl
Enable the SSL module
SSLEngine on SSLCertificateFile /etc/ssl/certs/cert.pem SSLCertificateKeyFile /etc/ssl/private/key.pem
Basic SSL configuration in VirtualHost :443
SSLCertificateChainFile /etc/ssl/certs/chain.pem
Specify the certificate chain file
sudo certbot --apache -d example.com
Obtain and install Let's Encrypt certificate
sudo certbot renew --dry-run
Test certificate auto-renewal
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
Disable old SSL/TLS versions (allow TLS 1.2+ only)
Header always set Strict-Transport-Security "max-age=63072000"
Enable HSTS header

Access Control

CommandDescription
Require all granted
Allow access from all sources
Require all denied
Deny access from all sources
Require ip 192.168.1.0/24
Allow access from specific IP range only
<Files .env> Require all denied </Files>
Block access to specific files
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh)$"> Require all denied </FilesMatch>
Block access to sensitive file extensions
AuthType Basic AuthName "Restricted" AuthUserFile /etc/apache2/.htpasswd Require valid-user
Enable HTTP basic authentication
sudo htpasswd -c /etc/apache2/.htpasswd username
Create htpasswd file with a user (-c creates new file)

Logging

CommandDescription
ErrorLog /var/log/apache2/error.log
Set error log file path
CustomLog /var/log/apache2/access.log combined
Set access log with combined format
LogLevel warn
Set log level (emerg, alert, crit, error, warn, notice, info, debug)
LogFormat "%h %l %u %t \"%r\" %>s %b" common
Define a custom log format
ErrorLog "|/usr/bin/rotatelogs /var/log/apache2/error.%Y%m%d.log 86400"
Rotate error logs daily using rotatelogs
sudo tail -f /var/log/apache2/error.log
Follow error log in real time
CustomLog /var/log/apache2/access.log combined env=!dontlog SetEnvIf Request_URI "^/health$" dontlog
Exclude health check endpoints from access log

Performance

CommandDescription
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/css application/javascript </IfModule>
Enable gzip compression for text-based content
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpeg "access plus 1 year" ExpiresByType text/css "access plus 1 month" </IfModule>
Set browser cache expiry by content type
KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 100
Enable keep-alive connections
<IfModule mod_headers.c> Header set Cache-Control "public, max-age=31536000" </IfModule>
Set Cache-Control headers for static assets
Header set X-Content-Type-Options nosniff Header set X-Frame-Options SAMEORIGIN Header set X-XSS-Protection "1; mode=block"
Add security headers
<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 150 </IfModule>
Tune MPM prefork for performance
FileETag None
Disable ETags (useful behind load balancers)

Common Patterns

CommandDescription
Options -Indexes
Disable directory listing
DirectoryIndex index.html index.php
Set default directory index files
ErrorDocument 404 /404.html
Custom error page
Header set Access-Control-Allow-Origin "*"
Enable CORS for all origins
Header always set Access-Control-Allow-Methods "GET, POST, OPTIONS" Header always set Access-Control-Allow-Headers "Content-Type, Authorization"
Configure CORS methods and headers
Alias /static /var/www/static <Directory /var/www/static> Require all granted </Directory>
Create URL alias to a directory
ProxyPass /api http://localhost:8080/api ProxyPassReverse /api http://localhost:8080/api
Reverse proxy API requests to a backend
ServerTokens Prod ServerSignature Off
Hide Apache version in headers and error pages

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference — modes, motions, editing, search, and advanced features.
🐳
Docker Commands
Complete Docker & Docker Compose command reference — containers, images, volumes, networks, and orchestration.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, and universal concurrency patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
🎨
CSS
Complete CSS reference — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
📄
HTML
Complete HTML reference — document structure, text content, forms, media, semantic elements, accessibility, and more.
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
💻
Bash
Complete Bash reference — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, and extensions.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, multi-line strings, and common patterns.
🌐
Curl
Curl command-line reference for HTTP requests, authentication, file transfers, debugging, and common API patterns.
Cron
Cron scheduling reference covering syntax, field values, crontab management, and common schedule patterns.
🖥️
Tmux
Terminal multiplexer for managing multiple sessions, windows, and panes from a single terminal.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, and report generation.
✂️
Sed
Stream editor for filtering and transforming text, line by line.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering options.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, and standard library.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, and administration.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, and modern module system.
🔐
Chmod
Linux file permission commands and patterns for chmod.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, and more.
Next.js
Next.js App Router reference covering routing, data fetching, server components, and deployment.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, and Hosting.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, and functions for XML/HTML querying.
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration.
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes with descriptions and use cases.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, queries, relations, migrations, and common patterns.
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, and configuration.
🔄
PM2
Production process manager for Node.js applications with built-in load balancer, monitoring, and zero-downtime reloads.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window management, and remote work.
📦
Webpack
Module bundler for JavaScript applications — loaders, plugins, code splitting, optimization, and dev server.
Vite
Next-generation frontend build tool with instant HMR, native ES modules, and optimized production builds via Rollup.

📖 Free, searchable command reference. Bookmark this page for quick access.