Wednesday, February 26, 2014

Install new Apache instance on AIX

This blog will help a Apache aspirant to install a Apache on his AIX machine.

Prerequisites
  1.  Download Apache software [  Ref:- http://httpd.apache.org/download.cgi ]
  2. AIX Machine
  3. Essential libraries- The GNU C compiler (gcc) from the Free Software Foundation (FSF) is recommended (version 2.7.2 is fine). It’s libraries are also needed. It’s necessary to have math library (math.h) installed too. like autoconf ,   gzip, GNU make, GNU diffutils, autogen, GNU libtool 1.4.2 or higher, GNU m4, automake,  gperf, expect, GNU Bison, patch, tar, bzip2, bash shell
  4. Memory space- about 10 MB of memory is occupied by the Apache and 100 MB of temporary memory during the installation
  5. Users and group
  6. IP address/ domain name for instance- I am assuming with IP "xx.XX.xxx.XXX" and domain name "app_name.domain.com"

Procedure
cdcux00:neha:/export/apps/apache/app_name> gunzip -c httpd-2.0.65.tar.gz 

cdcux00:neha:/export/apps/apache/app_name> ls -lrt 

total 58664
-rw-r-----    1 apache   www        30023680 Feb 25 06:18 httpd-2.0.65.tar

cdcux00:neha:/export/apps/apache/app_name> tar -xvf httpd-2.0.65.tar

This will extract the folder.

cdcux00:neha:/export/apps/apache/app_name> ls -lrt

-rw-r-----    1 apache   www        30023680 Feb 25 06:18 httpd-2.0.65.tar
drwxr-s--x   12 apache   www            4096 Feb 25 06:37 httpd-2.0.65

cdcux00:neha:/export/apps/apache/app_name> mkdir app_name-apache

cdcux00:neha:/export/apps/apache/app_name> ls -lrt

total 58664
-rw-r-----    1 apache   www        30023680 Feb 25 06:18 httpd-2.0.65.tar
drwxr-s--x   12 apache   www            4096 Feb 25 06:37 httpd-2.0.65
drwxr-s--x   15 apache   www            4096 Feb 25 06:39 app_name-apache

cdcux00:neha:/export/apps/apache/app_name> cd httpd-2.0.65

cdcux00:neha:/export/apps/apache/app_name/httpd-2.0.65> ls -lrt
total 2976
-rw-r-----    1 apache   www             367 Nov 24 2004  emacs-style
-rw-r-----    1 apache   www           10943 Nov 24 2004  config.layout
-rw-r-----    1 apache   www          189152 Nov 24 2004  apachenw.mcp.zip
-rw-r-----    1 apache   www              72 Nov 24 2004  acconfig.h
-rw-r-----    1 apache   www            8180 Nov 24 2004  VERSIONING
-rw-r-----    1 apache   www            3876 Nov 24 2004  README.platforms
-rw-r-----    1 apache   www            8355 Nov 24 2004  Makefile.in
-rw-r-----    1 apache   www            5216 Nov 24 2004  LAYOUT
-rw-r-----    1 apache   www            2912 Nov 24 2004  InstallBin.dsp
-rw-r-----    1 apache   www            2688 Nov 24 2004  BuildBin.dsp
-rw-r-----    1 apache   www           14882 Nov 24 2004  ABOUT_APACHE
-rw-r-----    1 apache   www            7110 Nov 24 2004  .gdbinit
-rw-r-----    1 apache   www           16062 Jul  5 2006  libhttpd.dsp
-rw-r-----    1 apache   www            4190 Jul  5 2006  Apache.dsp
-rwxr-x--x    1 apache   www            5300 Jul 12 2006  buildconf
-rw-r-----    1 apache   www            5909 Jan 10 2007  README
-rw-r-----    1 apache   www           16392 Jan  7 2008  acinclude.m4
-rw-r-----    1 apache   www           28563 Jan 18 2008  LICENSE
-rw-r-----    1 apache   www           39666 Nov 13 2008  Apache.dsw
-rw-r-----    1 apache   www           19408 May 29 2009  configure.in
-rw-r-----    1 apache   www           29213 Oct 18 2010  Makefile.win
-rw-r-----    1 apache   www           11004 Sep 14 2011  NWGNUmakefile
-rw-r-----    1 apache   www            3947 Jan 17 2012  INSTALL
-rw-r-----    1 apache   www          326143 Jun 26 2013  CHANGES
-rw-r-----    1 apache   www             828 Jun 26 2013  NOTICE
drwxr-s--x    9 apache   www             256 Jun 28 2013  docs
-rw-r-----    1 apache   www           16825 Jun 28 2013  httpd.spec
-rwxr-x--x    1 apache   www          482547 Jun 28 2013  configure
-rwxr-x--x    1 apache   www             160 Feb 25 06:28 config.nice
-rw-r-----    1 apache   www             957 Feb 25 06:30 modules.c
-rwxr-x--x    1 apache   www           39349 Feb 25 06:30 config.status
drwxr-s--x    2 apache   www            4096 Feb 25 06:30 test
drwxr-s--x    5 apache   www             256 Feb 25 06:30 srclib
drwxr-s--x    9 apache   www            4096 Feb 25 06:30 os
drwxr-s--x   17 apache   www            4096 Feb 25 06:30 modules
-rw-r-----    1 apache   www            8620 Feb 25 06:30 Makefile
-rw-r-----    1 apache   www               0 Feb 25 06:30 .deps
drwxr-s--x    2 apache   www            4096 Feb 25 06:30 include
-rw-r-----    1 apache   www           52766 Feb 25 06:30 config.log
drwxr-s--x    5 apache   www            4096 Feb 25 06:30 build
drwxr-s--x    4 apache   www            4096 Feb 25 06:37 server
drwxr-s--x    5 apache   www            4096 Feb 25 06:37 support
-rw-r-----    1 apache   www           50710 Feb 25 06:37 modules.o
-rw-r-----    1 apache   www             312 Feb 25 06:37 modules.lo
-rwxr-x--x    1 apache   www            6773 Feb 25 06:37 httpd
drwxr-s--x    2 apache   www             256 Feb 25 06:37 .libs

I am assuming that you are not logged in with apache ID so the I am using "sudo" with each command.

cdcux00:neha:/export/apps/apache/app_name/httpd-2.0.65> sudo ./configure --enable-mods-shared=most --prefix=/export/apps/apache/app_name --with-mpm=worker


Similarly it could also be installed under a folder inside any directory residing in the "app_name" folder

cdcux00:neha:/export/apps/apache/app_name/httpd-2.0.65> sudo ./configure --enable-mods-shared=most --prefix=/export/apps/apache/app_name/app_name-apache --with-mpm=worker


cdcux00:neha:/export/apps/apache/app_name/httpd-2.0.65>sudo make

Till these two steps you will not be able to see the apache installed

cdcux00:neha:/export/apps/apache/app_name/httpd-2.0.65> sudo make install

after this step you will be able to see the apache installed.

cdcux00:neha:/export/apps/apache/app_name/app_name-apache>ls -lrt
total 96
drwxr-sr-x    2 apache   www            4096 Feb 25 06:39 lib
drwxr-sr-x    2 apache   www            4096 Feb 25 06:39 modules
drwxr-sr-x    2 apache   www            4096 Feb 25 06:39 htdocs
drwxr-sr-x    3 apache   www            4096 Feb 25 06:39 error
drwxr-sr-x    2 apache   www            4096 Feb 25 06:39 conf
drwxr-sr-x    4 apache   www             256 Feb 25 06:39 man
drwxr-sr-x    2 apache   www             256 Feb 25 06:39 logs
drwxr-sr-x    2 apache   www            4096 Feb 25 06:39 include
drwxr-sr-x    3 apache   www            8192 Feb 25 06:39 icons
drwxr-sr-x    2 apache   www             256 Feb 25 06:39 cgi-bin
drwxr-sr-x   14 apache   www            8192 Feb 25 06:40 manual
drwxr-sr-x    2 apache   www            4096 Feb 25 06:40 build
drwxr-sr-x    2 apache   www            4096 Feb 25 06:40 bin

Thus the apache is installed.

Setting the configurations

cdcux00:neha:/export/apps/apache/app_name/app_name-apache/conf>ls -lrt
total 360
-rw-r--r--    1 apache   www           53011 Feb 25 06:39 mime.types
-rw-r--r--    1 apache   www           12958 Feb 25 06:39 magic
-rw-r--r--    1 apache   www            2083 Feb 25 06:39 highperformance.conf
-rw-r--r--    1 apache   www           11380 Feb 25 06:39 ssl.conf
-rw-r--r--    1 apache   www           11380 Feb 25 06:39 ssl-std.conf
-rw-r--r--    1 apache   www           37103 Feb 25 06:39 httpd.conf
-rw-r--r--    1 apache   www           37103 Feb 25 06:39 httpd-std.conf
-rw-r--r--    1 apache   www            2083 Feb 25 06:39 highperformance-std.conf

file " httpd-std.conf" is the copy of the httpd.conf. Even then you can't find it, take backup of current httpd.conf (to be on safer side) and then do the following changes.

cdcux00:neha:/export/apps/apache/app_name/app_name-apache/conf>vi httpd.conf

Listen  xx.XX.xxx.XXX:80

ServerName app_name.domain.com

User apache
Group www

for directory index page
 make a html file named "mytesting.html" and keep this inside "cdcux00:neha:/export/apps/apache/app_name/app_name-apache/htdocs"

make following changes in the httpd.conf file 

DirectoryIndex mytesting.html

Now restart the Apache. now when you will look up " app_name.domain.com" on internet explorer this will show the page "mytesting.html" that you made.