Home arrow Apache arrow Page 2 - Installing Apache

Installation Instructions - Apache

In the second part to a six-part series on Apache installation and configuration, we will focus on selecting modules to install and begin to explore configuration and hardening. This article is excerpted from chapter two of Apache Security, written by Ivan Ristic (O'Reilly; ISBN: 0596007248). Copyright © 2006 O'Reilly Media, Inc. All rights reserved. Used with permission from the publisher. Available from booksellers or direct from O'Reilly Media.

  1. Installing Apache
  2. Installation Instructions
  3. Selecting modules to install
  4. Configuration and Hardening
By: O'Reilly Media
Rating: starstarstarstarstar / 1
January 03, 2008

print this article



Before the installation can take place Apache must be made aware of its environment. This is done through the configure script:

Before the installation can take place Apache must be made aware of its environment. This is done through the script:

  $ ./configure

The configure script explores your operating system and creates the Makefile for it, so you can execute the following to start the actual compilation process, copy the files into the directory set by the --prefix option, and execute the apachectl script to start the Apache server:

  $ make
  # make install
  # /usr/local/apache/bin/apachectl start

Though this will install and start Apache, you also need to configure your operating system to start Apache when it boots. The procedure differs from system to system on Unix platforms but is usually done by creating a symbolic link to the apachectl script for the relevant runlevel (servers typically use run level 3):

  # cd /etc/rc3.d
  # ln
-s /usr/local/apache/bin/apachectl S85httpd

On Windows, Apache is configured to start automatically when you install from a binary distribution, but you can do it from a command line by calling Apache with the -k install command switch.

Testing the installation

To verify the startup has succeeded, try to access the web server using a browser as a client. If it works you will see the famous “Seeing this instead of the website you expected?” page, as shown in Figure 2-1. At the time of this writing, there are talks on the Apache developers’ list to reduce the welcome message to avoid confusing users (not administrators but those who stumble on active but unused Apache installations that are publicly available on the Internet).

Figure 2-1.  Apache post-installation welcome page

As a bonus, toward the end of the page, you will find a link to the Apache reference manual. If you are near a computer while reading this book, you can use this copy of the manual to learn configuration directive specifics.

Using the ps  tool, you can find out how many Apache processes there are:

  $ ps -Ao user,pid,ppid,cmd | grep httpd
  root      31738     1 /usr/local/apache/bin/httpd -k start
  httpd     31765 31738 /usr/local/apache/bin/httpd -k start
  httpd     31766 31738 /usr/local/apache/bin/httpd -k start
  httpd     31767 31738 /usr/local/apache/bin/httpd -k start
  httpd     31768     31738 /usr/local/apache/bin/httpd -k start
  httpd     31769     31738
/usr/local/apache/bin/httpd -k start

Using tail, you can see what gets logged when different requests are processed. Enter a nonexistent filename in the browser location bar and send the request to the web server; then examine the access log (logs are in the /var/www/logs folder). The example below shows successful retrieval (as indicated by the 200 return status code) of a file that exists, followed by an unsuccessful attempt (404 return status code) to retrieve a file that does not exist: - - [21/Jul/2004:17:12:22 +0100] "GET /manual/images/feather.gif
  HTTP/1.1" 200 6471 - - [21/Jul/2004:17:20:05 +0100] "GET /manual/not-here
  HTTP/1.1" 404 311

Here is what the error log contains for this example:

  [Wed Jul 21 17:17:04 2004] [notice] Apache/2.0.50 (Unix) configured
  -- resuming normal operations
  [Wed Jul 21 17:20:05 2004] [error] [client] File does not
  exist: /usr/local/apache/manual/not-here

The idea is to become familiar with how Apache works. As you learn what constitutes normal behavior, you will learn how to spot unusual events.

>>> More Apache Articles          >>> More By O'Reilly Media

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Apache Unveils Cassandra 1.2
- Apache on ARM Chips? Dell and Calxeda Help M...
- The Down Side of Open Source Software
- VMware Unveils Serengeti for Apache Hadoop
- SAP Takes Steps to Improve Hadoop Integration
- Looking to Hone Apache Hadoop Skills?
- How to Install Joomla on WAMPP
- Working with XAMPP and Wordpress
- GUI Available for Apache Camel
- Reduce Server Load for Apache and PHP Websit...
- Creating a VAMP (Vista, Apache, MySQL, PHP) ...
- Putting Apache in Jail
- Containing Intrusions in Apache
- Server Limits for Apache Security
- Setting Permissions in Apache

Developer Shed Affiliates


Dev Shed Tutorial Topics: