This scenario discusses how to enable cookie tracking
for your HTTP Server (powered by Apache).
Important: Information
for this topic supports the latest PTF levels for HTTP Server for i5/OS .
It is recommended that you install the latest PTFs to upgrade to the latest
level of the HTTP Server for i5/OS. Some of the topics documented here are
not available prior to this update. See
http://www.ibm.com/servers/eserver/iseries/software/http/services/service.htm for more information.
Scenario
The JKL Toy Company (a fictitious company)
wants to be able to measure Web site visitor activity and trends. The JKL
Web administrator would like to try to measure how many new and unique
users visit the intranet Web site. Requiring users to obtain a userid and
password is the most accurate way track users; however, this method has
the disadvantage of forcing the intranet Web users to register for a userid
and password.
Analyzing the data in the log file by IP address could
be used to track users. Two disadvantages to this method are:
- Some ISPs use dynamic IP addressing, assigning random IP addresses to
all users.
- Some ISPs send all traffic through a proxy server, creating a log entry
for the IP address of the proxy server only.
Setting a unique number in a cookie in the user's browser the
first time that they visit the Web site combined with using a log that
records cookies could be used to track users. This log can be analyzed
to show how many new cookies have been set and how many old cookies have
returned. In addition, the log can also be used to show the sequence of
URLs that a particular cookie used to navigate through the Web site. A
downside of this method is that users can shut off the browsers ability
to record cookies.
The JKL Web administrator has decided to use the
cookie method. The JKL Web administrator will store cookie information in
a new log called JKLCOOKIE_LOG using a new cookie called JKLCOOKIE.
Start the IBM® Web Administration for i5/OS™ interface
- Start a Web
browser.
- Enter http://[iSeries_hostname]:2001 in the location or URL field
.
Example: http://jkl_server:2001
- Click IBM HTTP
Server for iSeries.
Create a cookie for HTTP Server (powered by Apache)
- Click the Manage tab.
- Click the HTTP Servers subtab.
- Select your HTTP Server (powered by Apache) from the Server list.
Example:
JKLTEST
- Select Global configuration from the Server area list.
- Expand Server Properties.
- Click Logging.
- Click the User Tracking (Cookies) tab in the form.
- Select Enabled from the Track user requests in a cookie list.
- Enter a name for the cookie in the Cookie name field or use the
default.
Example: JKLCOOKIE
- Enter a value in the Expiration period field.
Example: 1
- Select a time period from the Expiration period list.
Example:
Years
- Click OK.
Set up the cookie log for HTTP Server (powered by Apache)
- Click the Manage tab.
- Click the HTTP Servers subtab.
- Select Global configuration from the Server area list.
- Expand Server Properties.
- Click Logging.
- Click the Custom Logs tab in the form.
- Click Add under the Custom logs table.
- Enter logs/[log_name] in the Log column.
Example: logs/jklcookie_log
- Select cookie from the Log format list.
- Enter a value in the Expiration field.
Example: 364
- Select a time period from the Expiration list.
Example: Days
- Click Continue.
- Click OK.
Note: The rest of the fields on this form are optional.
Restart your HTTP Server (powered by Apache)
Select
one of the following methods below:
Manage one server
- Click the Manage tab.
- Click the HTTP Servers subtab.
- Select your HTTP Server from the Server list.
- Click the Stop icon if the server is running.
- Click the Start icon.
Manage all servers
- Click the Manage tab.
- Click the HTTP Servers subtab.
- Select All Servers from the Server list.
- Click the All HTTP Servers tab.
- Select your HTTP Server name in the table.
Example: JKLTEST
- Click Stop if the server is running.
- Click Start.
Note: If your HTTP Server (powered by Apache) does not start, see
Troubleshoot.
Test your HTTP Server (powered by Apache)
- Open a new Web browser.
- Turn cookie alerts on in your browser. Consult the Web browser's help
documentation for details on enabling cookie alerts.
- Enter http://[iSeries_hostname]:[port] in the location or URL field.
Example:
http://jkl_server:1975
View your HTTP Server (powered by Apache)
configuration
Your configuration will look similar if you used the
given example in this and previous examples.
- Click the Manage tab.
- Click the HTTP Servers subtab.
- Select your HTTP Server (powered by Apache) from the Server list.
Example:
JKLTEST
- Expand Tools.
- Click Display Configuration File.
Listen *:1975
DocumentRoot /www/jkltest/htdocs
ServerRoot /www/jkltest
Options -ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch -Includes -IncludesNoExec -Indexes -MultiViews
LogMaint logs/jklcookie_log 364 0
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{Cookie}n \"%r\" %t" cookie
LogFormat "%{User-agent}i" agent
LogFormat "%{Referer}i -> %U" referer
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log combined
CustomLog logs/jklcookie_log cookie
SetEnvIf "User-Agent" "Mozilla/2" nokeepalive
SetEnvIf "User-Agent" "JDK/1\.0" force-response-1.0
SetEnvIf "User-Agent" "Java/1\.0" force-response-1.0
SetEnvIf "User-Agent" "RealPlayer 4\.0" force-response-1.0
SetEnvIf "User-Agent" "MSIE 4\.0b2;" nokeepalive
SetEnvIf "User-Agent" "MSIE 4\.0b2;" force-response-1.0
CookieTracking On
CookieName JKLCOOKIE
CookieExpires 31536000
<Directory />
Order Deny,Allow
Deny From all
</Directory>
<Directory /www/jkltest/htdocs>
Order Allow,Deny
Allow From all
</Directory>