60
APACHE

Apache Presentation

Embed Size (px)

DESCRIPTION

Learn Apache installation with help of screenshots and also learn various configurations in Apache

Citation preview

Page 1: Apache Presentation

APACHE

Page 2: Apache Presentation

What is Apache?

• is a powerful, flexible, HTTP/1.1 compliant web server

• implements the latest protocols, including HTTP/1.1 (RFC2616)

• is highly configurable and extensible with third-party modules

• can be customised by writing 'modules' using the Apache module API

• provides full source code and comes with an unrestrictive license

• runs on Windows NT/9x, Netware 5.x and above, OS/2, and most versions of Unix, as well as several other operating systems

• is actively being developed

• encourages user feedback through new ideas, bug reports and patches

• implements many frequently requested features, including:

Page 3: Apache Presentation

INSTALLATIONS

&

CONFIGURATIIONS

-PRESENTED BY H. ANKUSH. JAIN

Page 4: Apache Presentation

INSTALLATION

Page 5: Apache Presentation

Step 1: Double-Click the Apache Executable and Get the Welcome

Screen

Click Next

Page 6: Apache Presentation

Step 2: Read the License

Make sure there's nothing that you can't agree to. Once you accept, you'll be held to the terms of the license.

Page 7: Apache Presentation

Step 3: Read the README File

Scan the readme file to make sure there aren't any late minute bugs that would make this version crash on your computer.

Page 8: Apache Presentation

Step 4: Provide Your Server Information

Fill in your Network Domain, server name, and administrator's email address. If this is not going to be hosted on the Internet, you can use "localhost" (without the quotation marks) as the network and server name.

Page 9: Apache Presentation

Step 5: Typical Setup?

I usually select custom, so I know exactly what is being installed. But choosing typical is a lot faster.

Page 10: Apache Presentation

Step 6: Review Custom Options

If you chose "Custom" review the options you have. Don't turn off any required modules. I recommend reading the description of all other modules, so you know what is being installed.

Page 11: Apache Presentation

Step 7: You're Done

Click Finish and go check out your new Apache Web server.

Page 12: Apache Presentation

CONFIGURATIONS

Page 13: Apache Presentation

1.AcceptFilter directiveSyntax: AcceptFilter on|off

Default: AcceptFilter on

Context: server config

Status: core

Compatibility: AcceptFilter is available in Apache 1.3.22 and later

AcceptFilter controls a BSD specific filter optimization

Page 14: Apache Presentation

2.AcceptMutex directiveAcceptMutex directive

Syntax: AcceptMutex uslock|pthread|sysvsem|fcntl|flock|os2sem|tpfcore|none|default

Default: AcceptMutex default

Context: server config

Status: core Compatibility: AcceptMutex is available in Apache 1.3.21 and later.

AcceptMutex controls which accept() mutex method Apache will us

Page 15: Apache Presentation

3.AccessConfig directiveSyntax: AccessConfig file-path|directory-

path|wildcard-path

Default: AccessConfig conf/access.conf

Context: server config, virtual host

Status: core

Compatibility: The ability to specify a directory, rather than a file name, is only available in Apache 1.3.13 and later. This directive will be eliminated in version 2.0.

Page 16: Apache Presentation

This feature can be disabled using: AccessConfig /dev/null

Or, on Win32 servers, AccessConfig nul

Historically, this file only contained <Directory> sections; in fact it can now

contain any server directive allowed in the server config context. However, since

Apache version 1.3.4, the default access.conf file which ships with Apache

contains only comments.

3.AccessConfig directive

Page 17: Apache Presentation

4.AccessFileName directive

Syntax: AccessFileName filename [filename] ...

Default: AccessFileName .htaccessContext: server config, virtual host

Status: coreCompatibility: AccessFileName can

accept more than one filename only in Apache 1.3 and later

Page 18: Apache Presentation

For example: AccessFileName .acl

before returning the document /usr/local/web/index.html, the server will

read /.acl, /usr/.acl, /usr/local/.acl and /usr/local/web/.acl for directives, unless

they have been disabled with <Directory />

AllowOverride None </Directory>

4.AccessFileName directive

Page 19: Apache Presentation

5.AddDefaultCharset directive

Syntax: AddDefaultCharset On|Off|charsetContext: allStatus: core

Default: AddDefaultCharset OffCompatibility: AddDefaultCharset is only

available in Apache 1.3.12 and later

Page 20: Apache Presentation

AddDefaultCharset On enables Apache's internal default charset of iso-8859-1 as required by the directive. You can also specify an alternate charset to be used.

For example:

AddDefaultCharset utf-8

5.AddDefaultCharset directive

Page 21: Apache Presentation

6.AddModule directive

Syntax: AddModule module [module] ...Context: server config

Status: coreCompatibility: AddModule is only available in Apache 1.2 and later

For example: AddModule mod_include.c

Page 22: Apache Presentation

7.AllowOverride directive

Syntax: AllowOverride All|None|directive-type [directive-type] ...

Default: AllowOverride AllContext: directory

Status: coreAllowOverride is only valid in

<Directory> sections, not in <Location> or <Files> sections, as implied by the

Context section above

Page 23: Apache Presentation

8.AuthName directive

AuthName directiveSyntax: AuthName auth-domain

Context: directory, .htaccessOverride: AuthConfig

Status: cor sets the name of the authorization

realm for a directory

Page 24: Apache Presentation

It must be accompanied by AuthType and Require directives, and directives such as AuthUserFile and AuthGroupFile to work.

For example:

AuthName "Top Secret"

The string provided for the AuthName is what will appear in the password dialog

provided by most browsers.

8.AuthName directive

Page 25: Apache Presentation

9.AuthDigestRealmSeed directive

Syntax: AuthDigestRealmSeed secret-real-string

Context: directory, .htaccessOverride: AuthConfig

Status: core sets a per realm secret nonce prefix

which is used to ensure that a captured username, password and realm string during a Digest exchange cannot be

replayed at other places.

Page 26: Apache Presentation

10.AuthType directiveSyntax: AuthType Basic|DigestContext: directory, .htaccess

Override: AuthConfigStatus: core

This directive selects the type of user authentication for a directory. Only Basic and Digest are currently implemented. It must be accompanied by AuthName and Require directives, and directives such as AuthUserFile and AuthGroupFile to

work.

Page 27: Apache Presentation

11.BindAddress directive

BindAddress directiveSyntax: BindAddress *|IP-address|

domain-nameDefault: BindAddress *Context: server config

Status: coreCompatibility: BindAddress is deprecated

and will be eliminated in Apache 2.0.

Page 28: Apache Presentation

11.BindAddress directive

For example:BindAddress 192.168.15.48

BindAddress can be used as an alternative method for supporting

virtual hosts using multiple independent servers, instead of using

<VirtualHost> sections

Page 29: Apache Presentation

12.BS2000Account directive

Syntax: BS2000Account account Default: none Context: server config Status: core Compatibility: BS2000Account is only

available for BS2000 machines, as of Apache 1.3 and later.

Page 30: Apache Presentation

12.BS2000Account directive

BS2000Account directive is available for

BS2000 hosts only.It must be used to define the account number for the non-

privileged apache server user (which was configured using the User directive).

Page 31: Apache Presentation

13.CGICommandArgs directive

Syntax: CGICommandArgs On|Off

Default: CGICommandArgs On

Context: directory, .htaccess

Override: Options

Status: core

Compatibility: Available in Apache 1.3.24 and later.

Page 32: Apache Presentation

14.ClearModuleList directive

Syntax: ClearModuleList

Context: server config

Status: core

Compatibility: ClearModuleList is only available in Apache 1.2 and later.

This directive clears the list. It is assumed that the list will then be re-populated using the AddModule directive.

Page 33: Apache Presentation

15.ContentDigest directive

Syntax: ContentDigest on|off

Default: ContentDigest off

Context: server config, virtual host, directory, .htaccess

Override: Options

Status: experimental

Compatibility: ContentDigest is only available in Apache 1.1 and later

This directive enables the generation of Content-MD5 headers as defined in RFC1864 respectively RFC2068

Page 34: Apache Presentation

16.CoreDumpDirectory directive

Syntax: CoreDumpDirectory directory-path

Default: the same location as ServerRoot

Context: server config

Status: core

This controls the directory to which Apache attempts to switch before dumping core.

Page 35: Apache Presentation

17.DefaultType directive

Syntax: DefaultType MIME-type

Default: DefaultType text/plain

Context: server config, virtual host, directory, .htaccess

Override: FileInfo

Status: core

Page 36: Apache Presentation

17.DefaultType directive

There will be times when the server is asked to provide a document whose type cannot be determined by its MIME types

mappings.

The server must inform the client of the content-type of the document, so in the

event of an unknown type it uses the DefaultType. For example:

DefaultType image/gif

Page 37: Apache Presentation

18.DirectoryMatch

<DirectoryMatch>

Syntax: <DirectoryMatch regex> ... </DirectoryMatch>

Context: server config, virtual host

Status: Core.

Compatibility: Available in Apache 1.3 and late

Page 38: Apache Presentation

18.DirectoryMatch

<DirectoryMatch> and </DirectoryMatch> are used to enclose a group of directives which will

apply only to the named directory and sub-directories of that directory, the same as

<Directory>. However, it takes as an argument a regular expression.

For example:

<DirectoryMatch "^/www/.*/[0-9]{3}">

Page 39: Apache Presentation

19.DocumentRoot directive

DocumentRoot directive

Syntax: DocumentRoot directory-path

Default: DocumentRoot /usr/local/apache/htdocs

Context: server config, virtual host

Status: core

This directive sets the directory from which httpd will serve files.

Page 40: Apache Presentation

19.DocumentRoot directive

Unless matched by a directive like Alias, the server appends the path from the

requested URL to the document root to make the path to the document.

Example:

DocumentRoot /usr/web

then an access to http://www.my.host.com/index.html

refers to /usr/web/index.html.

Page 41: Apache Presentation

20.EBCDICConvert

Syntax: EBCDICConvert On|Off[=direction] extension [extension] ...

Context: server config, virtual host, directory, .htaccess

Status: core

Override: FileInfo

Compatibility: The configurable EBCDIC conversion is only available in Apache 1.3.19 and later.

Page 42: Apache Presentation

20.EBCDICConvert

The EBCDICConvert directive maps the given filename extensions to the specified

conversion setting (On or Off). File extensions may be specified with or without

a leading dot

Page 43: Apache Presentation

21.EnableExceptionHook directive

Syntax: EnableExceptionHook on|off

Default: EnableExceptionHook off

Context: server config

Status: core

Compatibility: EnableExceptionHook is available in Apache 1.3.30 and later

EnableExceptionHook controls whether or not an exception hook implemented by a module will be called after a child process crash.

Page 44: Apache Presentation

22.<Files> directive

Syntax: <Files filename> ... </Files>

Context: server config, virtual host, .htaccess

Status: core

Compatibility: only available in Apache 1.2 and above

The <Files> directive provides for access control by filename.

Page 45: Apache Presentation

23.<FilesMatch>

Syntax: <FilesMatch regex> ... </FilesMatch>

Context: server config, virtual host, .htaccess

Status: core Compatibility: only available in Apache 1.3 and above.

The <FilesMatch> directive provides for access control by filename, just as the <Files> directive does. However, it accepts a regular expression. For example:

<FilesMatch "\.(gif|jpe?g|png)$"> would match most common Internet graphics formats.

Page 46: Apache Presentation

23.<FilesMatch>

The <FilesMatch> directive provides for access control by filename, just as the

<Files> directive does. However, it accepts a regular expression. For example:

<FilesMatch "\.(gif|jpe?g|png)$">

would match most common Internet graphics formats.

Page 47: Apache Presentation

24.HostnameLookups directive

Syntax: HostnameLookups on|off|double

Default: HostnameLookups off

Context: server config, virtual host, directory

Status: core

Compatibility: double available only in Apache 1.3 and above.

Compatibility: Default was on prior to Apache 1.3.

Page 48: Apache Presentation

24.HostnameLookups directive

This directive enables DNS lookups so that host names can be logged (and passed to

CGIs/SSIs in REMOTE_HOST).

At least one of the ip addresses in the forward lookup must match the original

address. (In "tcpwrappers" terminology this is called PARANOID.)

Page 49: Apache Presentation

25.IdentityCheck directive

Syntax: IdentityCheck on|off

Default: IdentityCheck off

Context: server config, virtual host, directory

Status: core

This directive enables RFC1413-compliant logging of the remote user name for each connection, where the client machine runs identd or something similar. This information is logged in the access log.

Page 50: Apache Presentation

26.<IfDefine> directiveSyntax: <IfDefine [!]parameter-

name> ... </IfDefine>

Default: None

Context: all

Status: Core

Compatibility: <IfDefine> is only available in 1.3.1 and later.

Page 51: Apache Presentation

26.<IfDefine> directive

The <IfDefine test>...</IfDefine> section is used to mark directives that are conditional. The directives within an IfDefine section are only processed if the test is true. If test is false, everything between the start and end markers is ignored.

The test in the <IfDefine> section directive can be one of two forms:

* parameter-name

* !parameter-name

Page 52: Apache Presentation

26.<IfDefine> directive

The directives within an IfDefine section are only processed if the test is true. If

test is false, everything between the start and end markers is ignored.

The test in the <IfDefine> section directive can be one of two forms: * parameter-name

* !parameter-name

Page 53: Apache Presentation

27.<IfModule> directive

Syntax: <IfModule [!]module-name> ... </IfModule>

Default: None

Context: all

Status: Core

Compatibility: IfModule is only available in 1.2 and later.

Page 54: Apache Presentation

27.<IfModule> directiveThe <IfModule test>...</IfModule> section

is used to mark directives that are conditional. The directives within an

IfModule section are only processed if the test is true. If test is false, everything between the start and end markers is

ignored.

The test in the <IfModule> section directive can be one of two forms:

* module name * !module name

Page 55: Apache Presentation

28.KeepAliveTimeout directive

Syntax: KeepAliveTimeout seconds

Default: KeepAliveTimeout 15

Context: server config

Status: Core

Compatibility: KeepAliveTimeout is only available in Apache 1.1 and later.

The number of seconds Apache will wait for a subsequent request before closing the connection.

Page 56: Apache Presentation

29.<Limit> directive

Syntax: <Limit method [method] ... > ... </Limit>

Context: any

Status: core

Access controls are normally effective for all access methods, and this is the usual desired behavior. In the general case, access control directives should not be placed within a <limit> section

Page 57: Apache Presentation

30.<LimitExcept> directive

<LimitExcept> directive

Syntax: <LimitExcept method [method] ... > ... </LimitExcept>

Context: any

Status: core

Compatibility: Available in Apache 1.3.5 and later

Page 58: Apache Presentation

30.<LimitExcept> directive

<LimitExcept> and </LimitExcept> are used to enclose a group of access control

directives which will then apply to any HTTP access method not listed in the arguments; i.e., it is the opposite of a <Limit> section and can be used to control both standard and nonstandard/unrecognized methods. See the documentation for <Limit> for

more details.For

Page 59: Apache Presentation

30.<LimitExcept> directive

example:

<LimitExcept POST GET>

Require valid-user

</LimitExcept>

Page 60: Apache Presentation

THANK YOU