You are on page 1of 3

##### HTTPD ######

features:
1. Most commonly implemented HTTPD server online -since 1996
2. Apache controls roughly 2/3 of the HTTP server space
3. Renders apache at roughly 4-to-5 times the number of ms IIS-controlled sites
4. Project:
5. Include as part of [BL]AMP stacks
6. Extremely reliable
7. Expedient
8. Light
9. Provides HTTP(s) Services
10. Threaded (worker) MPM -Extermely scalable -For large-scale, multi-threaded,
thread-safe deployments of apache - Hybrid of prefork and Threaded
11. Non-Threaded (prefork) (Default) -Mode - process per client request - Most-c
ompatible with varios libraries
12. Spawned processes and | or threads can be dynamically:
a. Expanded
b. Contracted
Note: Spelled-out in primary configuration file
13. Intergation with Scripting Egines:
a. PHP
b. Perl
c. Python
d. Ruby
e. etc.
14. Modular support (Extensible): i.e,
a. mod_ssl (HTTPS) - TLS
b. mod_asls - raw delivery of HTTP documents -contains full HTTP header
info
c. mod_alias - URL mapping to various location in the file system space
15. Common Gateway Interface (CGI) support - i.e. DBMS connectivity, etc.
16. Content Derivation
a. mod_mime (file suffix) - content type is mapped to file suffix
b. mod_mime_magic (header bytes in file)
17. Content negottation - i.e Language Support -provides the client (HTTP Browse
r) with the appropriate language-based content
18. Content compression on delivery: mod_deflate - gzip - this helps with scalin
g sites to large user-base
Note: This splits the processing more equitabily of content between server and c
lient and alleviates intermediary pipes
19. Mainpulate Enviromental VARs based on the HTTP request - 'setenvif'
Note: Per connection,apache maintains its own environmental variables
Note: Apache environmental VARs drive communication between HTTP client -> HTTP
server
20. User Directories - facilitates broader publishing of content outside of stan
dard DocumentRoots
21. Apache Logging
a. Access -Default Hits | Misses | etc.
b. Error - Misses | Server Errors
22. Forensic Logging
a. 2-Entries full header request
b. Includes full header request
23. Redirection
24. URL Rewriting mod_rewrite - .i.e. force SSL access for specific content area
s
a. Supports Regular Expressions, conditions, stacks, etc.
25. Distributed Authoring and Versioning (WebDav)
26. Reverse Proxy Server - facilitates front-end filtering
27. Authentication:

28.
29.
30.
31.

a. Basic HTTP - clear-text


b. Digest
c. PAM
d. DBM
e. Mysql
f. PostgreSQL
g. LDAP
Infinite scalability
a. Load-balancing number of nodes
b. Reverse proxying
Load-Balancing - Modular
Multi-Platfrom support - linux | Windows
Virtual hosts:
a. NameBased
b. IP-Based

##### Apache Default #####


Features:
1. Control over content access
Task:
1. Explore Defaults
a. /etc/httpd - primary config container
httpd.conf - primary configuration file
b. 'DocumentRoot /var/www' -location from which to serve content
c. 'ServerAdmin root@localhost' - content info. in the event of error
d. 'DirectoryIndex index.html' - indicates default file to server when n
o particular file is requested
<Directory "/var/www/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Note: * <Directory "/var/www/"> - Directory flow downwards unless interrupted by
lower-level '<Directory>' directive
* 'Indexes' - presents directory listing to the HTTP client
* 'MultiViews' - Matches similar content
* 'ExecCGI' - CGI Execution permission
* 'SymlinksIFOwnerMatch' - follows symlinks on the file system if the owne
r matches
* 'FollowSymlinks' - follows symlinks
* 'Allowoverride None' - prohibts '.htaccess' Directive from overriding: C
ONF file directives
options include: all | none | directive_type...
* 'order allow,deny'
* 'allow from all' - permits access to content area from ALL HTTP clients
options include: all | none | 127.0.0.1 ::1/128 192.168.3.0/24
##### URL to file system mapping #####
Features:
1. Publish URL paths to various locations in and outside of the file system
Alias | ScriptAlias (CGI)

Task:
1.Publish and Alias for a directory: 'pub1 pub2' -Below DocumentRoot
a. 'Alias /public /var/www/html/pub1'
*create two directory pub and pub1
[root@server html]# mkdir pub1 pub2
[root@server html]# ls
index.html pub1 pub2
[root@server html]# echo "TESTING LOL" >> pub1/1.txt
[root@server html]# echo "TESTING LOL" >> pub1/2.txt
[root@server html]# cd pub1
[root@server pub1]# ls
1.txt 2.txt
[root@server pub1]# vi /etc/httpd/conf/httpd.conf
Alias /public /var/www/html/pub1
[root@server pub1]# /etc/init.d/httpd restart
Stopping httpd:
Starting httpd:

[ OK ]
[ OK ]

You might also like