Your SlideShare is downloading. ×
Apache Server Configuration & Optimization
Topics overview     Apache     HTTP Server                       Error                      Virtual Hosts     Essentials  ...
Apache Configuration Files Places for doing the configurations •   httpd.conf •   access.conf ( linux ) •   .htaccess •   ...
Core Apache Configuration DirectivesServerRoot :: Apache Installation Directory Path.ServerRoot “/etc/apache2”Listen :: IP...
Core Apache Configuration Directives DocumentRoot :: Main Document Directory as displayed on the Web Site. DocumentRoot “/...
Core Apache Configuration Directives IFModule :: Allows Module Specific Configurations. <IfModule module_name> Module Spec...
Core Apache Configuration Directives Directory :: Allows group of directives applied to directory <Directory “/var/www">  ...
Core Apache Configuration Directives Order :: Defines ordering for allow & deny Order Allow,Deny Order Deny,Allow Allow ::...
Core Apache Configuration Directives In Apache Config file <Directory “/var/www/sandbox”>        Order allow,deny        A...
Core Apache Configuration Directives FileMatch :: Allows to define Access Rights for specific files. <FilesMatch "^.ht">  ...
Core Apache Configuration Directives ErrorLog :: Error log File Location ErrorLog err-log-file location TransferLog :: Acc...
Core Apache Configuration Directives AuthType :: Type Of User Authentication AuthType Basic | Digest AuthUserFile :: File ...
Virtual hosts Allows more than one websites to run on the same physical server & Apache Server. Two Types Of Virtual Hosts...
Virtual hosts Common Virtual Host Examples    Listen 2100    NameVirtualHost *:2100    <VirtualHost localhost:2100>       ...
Virtual hosts Server Virtual Host Examples NameVirtualHost *:80 <VirtualHost *:80>     ServerAdmin admin@domain.com     Do...
Virtual hosts Error Handling Apache Server generates Status Codes depending on the Page/URL Request.    • 301 Moved Perman...
Important Apache Modules       •   mod_ssl       •   mod_rewrite       •   mod_expires       •   mod_autoindex       •   m...
Important Apache Modulesmod_accessProvides access control based on client hostname, IP address, or othercharacteristics of...
Important Apache Modulesmod_ldapLDAP connection pooling and result caching services for use by other LDAPmodulesmod_log_co...
Important Apache ModulesMod_evasivemod_evasive is an evasive maneuvers module for Apache to provide evasiveaction in the e...
Apache server configuration & optimization
Upcoming SlideShare
Loading in...5
×

Apache server configuration & optimization

2,111

Published on

Published in: Technology
2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
2,111
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Apache server configuration & optimization"

  1. 1. Apache Server Configuration & Optimization
  2. 2. Topics overview Apache HTTP Server Error Virtual Hosts Essentials Handling Apache Core Apache Configuration Configuration Important Apache Q&A Files Directives Modules
  3. 3. Apache Configuration Files Places for doing the configurations • httpd.conf • access.conf ( linux ) • .htaccess • .htpasswd
  4. 4. Core Apache Configuration DirectivesServerRoot :: Apache Installation Directory Path.ServerRoot “/etc/apache2”Listen :: IP addresses and ports that the server listens.Listen 80Listen 10.0.2.132:9111ServerAdmin :: Email Address that will be displayed inthe error message when error occursServerAdmin gokul.muralidharan@aspiresys.comServerName :: Current Server Name & PortServerName localhost:80ServerAlias :: Alternate Names for accessing virtual hosts.ServerAlias alias-1 alias-2
  5. 5. Core Apache Configuration Directives DocumentRoot :: Main Document Directory as displayed on the Web Site. DocumentRoot “/var/www” NameVirtualHost :: Designates an IP address for name-virtual host NameVirtualHost *:2125 NameVirtualHost 10.0.2.132:9111 LoadModule :: Load Specific Apache Module. LoadModule test_module modules/mod_test.so Include:: Includes other configuration files in the server configuration file. Include “test.conf” Include “/usr/aliases/*.conf”
  6. 6. Core Apache Configuration Directives IFModule :: Allows Module Specific Configurations. <IfModule module_name> Module Specific Configurations </IfModule> <IfModule !module_name> Module Specific Configurations </IfModule> <IfModule !autoindex_module> <IfModule dir_module> DirectoryIndex index.php index.html index.htm </IfModule> </IfModule>
  7. 7. Core Apache Configuration Directives Directory :: Allows group of directives applied to directory <Directory “/var/www"> List of directives………………….……………….. </Directory> Access Control Directives Determines who is allowed to access the website and who is kept out. Access can be granted based on following criteria :: • IP Address / Domain Name • Date & Time • Other User Defined Criteria
  8. 8. Core Apache Configuration Directives Order :: Defines ordering for allow & deny Order Allow,Deny Order Deny,Allow Allow :: Allows access from given IP Address or Domain Name Allow From all Allow From 192.168 Deny :: Deny access from given IP Address or Domain Name Deny From 192.168 Order :: Defines ordering for allow & deny Order Allow,Deny Order Deny,Allow Allow :: Allows access from given IP Address or Domain Name Allow From all Allow From 192.168 Deny :: Deny access from given IP Address or Domain Name Deny From 192.168
  9. 9. Core Apache Configuration Directives In Apache Config file <Directory “/var/www/sandbox”> Order allow,deny Allow from all Deny from 192.168. </Directory> In .Htaccess Order allow,deny Allow from all Deny from 192.168. Which will get applied to the directory where the .htaccess is placed.
  10. 10. Core Apache Configuration Directives FileMatch :: Allows to define Access Rights for specific files. <FilesMatch "^.ht"> Order allow,deny Deny from all </FilesMatch> <FilesMatch ".pdf$"> Order allow,deny Deny from all </FilesMatch>
  11. 11. Core Apache Configuration Directives ErrorLog :: Error log File Location ErrorLog err-log-file location TransferLog :: Access Log File Location TransferLog access-log-file location CustomLog :: Custom Log File with custom Log Format CustomLog custom-log-file location Log-Format AuthType :: Type Of User Authentication AuthType Basic | Digest AuthUserFile :: File name which contains username and password AuthUserFile <Directory>/FileName The default location to look for logs are /var/log/http or /var/log/apache Look out for both access log and error log here. Tail –f /var/log/apache2/access.log will keep you update of the log display.
  12. 12. Core Apache Configuration Directives AuthType :: Type Of User Authentication AuthType Basic | Digest AuthUserFile :: File name which contains username and password AuthUserFile <Directory>/FileName AuthName :: Authorization Title used in HTTP Authentication AuthName Authentication Title Require :: Defines Type of Users/groups that can access Contents. Access Types can be :: group | user | valid-user. Require [Access Type] [ Access Name ] Require group admin
  13. 13. Virtual hosts Allows more than one websites to run on the same physical server & Apache Server. Two Types Of Virtual Hosts can be created • IP-based Virtual Hosts • Name-based Virtual Hosts Virtual Host Related Directives <VirtualHost [IP ADDRESS:PORT] > ServerAdmin DocumentRoot ServerName ServerAlias ErrorLog </ VirtualHost >
  14. 14. Virtual hosts Common Virtual Host Examples Listen 2100 NameVirtualHost *:2100 <VirtualHost localhost:2100> ServerAdmin gokul.muralidharan@aspiresys.com DocumentRoot “/var/www/app2100" ServerName localhost </VirtualHost> Listen 9090 NameVirtualHost *:9090 <VirtualHost *:9090> ServerAdmin sundaravel.somasundaram@aspiresys.com DocumentRoot “/var/www/app9090“ </VirtualHost>
  15. 15. Virtual hosts Server Virtual Host Examples NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin admin@domain.com DocumentRoot “/var/www/production" ServerName www.yoursite.com ServerAlias yoursite.com </VirtualHost> <VirtualHost *:80> ServerAdmin admin@domain DocumentRoot "E:wwwrootdemo" ServerName www.example.com ServerAlias example.com </VirtualHost>
  16. 16. Virtual hosts Error Handling Apache Server generates Status Codes depending on the Page/URL Request. • 301 Moved Permanently • 401 Unauthorized • 403 Forbidden • 404 Not Found • 500 Internal Server Error ErrorDocument :: Allows to define Custom Error Pages ErrorDocument StatusCode <Custom Error Page Location> ErrorDocument 401 /error401.html ErrorDocument 403 /errordocs/error403.php ErrorDocument 404 http://www.yousite.com/error.php
  17. 17. Important Apache Modules • mod_ssl • mod_rewrite • mod_expires • mod_autoindex • mod_deflate • mod_headers • mod_dir mod_include • mod_alias mod_env • mod_cgi • mod_proxy • mod_log_config • mod_mime mod_fastcgi • mod_auth • mod_dav And So on….
  18. 18. Important Apache Modulesmod_accessProvides access control based on client hostname, IP address, or othercharacteristics of the client request.mod_aliasProvides for mapping different parts of the host filesystem in the documenttree and for URL redirectionmod_davDistributed Authoring and Versioning (WebDAV) functionalitymod_dav_fsfilesystem provider for mod_davmod_deflateCompress content before it is delivered to the clientmod_expiresGeneration of Expires and Cache-Control HTTP headers according to user-specified criteriamod_headersCustomization of HTTP request and response headers
  19. 19. Important Apache Modulesmod_ldapLDAP connection pooling and result caching services for use by other LDAPmodulesmod_log_configLogging of the requests made to the servermod_mimeAssociates the requested filenames extensions with the files behavior(handlers and filters) and content (mime-type, language, character set andencoding)mod_mime_magicDetermines the MIME type of a file by looking at a few bytes of itscontents.mod_proxyHTTP/1.1 proxy/gateway server,HTTP support module for mod_proxymod_rewriteProvides a rule-based rewriting engine to rewrite requested URLs on the fly
  20. 20. Important Apache ModulesMod_evasivemod_evasive is an evasive maneuvers module for Apache to provide evasiveaction in the event of an HTTP DoS or DDoS attack or brute force attack.It is also designed to be a detection and network management tool, and canbe easily configured to talk to ipchains, firewalls, routers, and etcetera.mod_evasive presently reports abuses via email and syslog facilities.mod_soLoading of executable code and modules into the server at start-upor restart timemod_userdirUser-specific directories

×