|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
|
| News | Redbooks | Recommended Links | GCC on AIX | Compilation of open source on AIX | |
| aix toolbox | Apache+PHP on AIX | Compiling Apache 1.3 on AIX | Humor | Etc |
There are two ways to install Apache on AIX:
The description below is adapted from IBM Wikis - AIX 5L Wiki - aixopen
Precompiled binaries of Apache for AIX if available from several sources. RPM packages are probably the best choice and are available from several sources:
http://www.perzl.org/aix/index.php?n=Main.Apache:
AIX 5L Open Source Packages Main - Apache
RPMs:
AIX 5L Open Source Packages Main - Apache lists dependencies for Apache:
Source RPM:
Package dependencies:
By A default AIX 5.3 ML 03 is "Apache-friendly": the the only additional package the Apache requires is libgcc.
rpm -Uvh gcc-4*.rpm rpm -Uvh libgcc-4*rpm
gunzip -c < httpd-2.2.8.tar.gz | tar xvf -
export PATH=/opt/freeware/bin:$PATH
Compilation with LDAP libraries
Or in a single line
./configure -C --enable-so --enable-info --prefix /usr/local/apache2 -with-ldap=yes --enable-ldap=static --enable-authnz-ldap=static
APACHE2_MODULES="actions alias
auth_basic authn_alias authn_anon authn_dbm
authn_default authn_file authz_dbm authz_default authz_groupfile
authz_host authz_owner authz_user autoindex
cache dav dav_fs dav_lock deflate dir disk_cache env expires
ext_filter file_cache filter headers
include info log_config logio mem_cache mime mime_magic negotiation
rewrite setenvif speling status unique_id
userdir usertrack vhost_alias proxy"
# default disabled modules:
# -asis -auth_digest -authn_dbd
-cern_meta -charset_lite -dbd -dumpio -ident -imagemap -log_forensic
# -proxy -proxy_ajp -proxy_balancer
-proxy_connect -proxy_ftp -proxy_h
make
make install
Assuming you have just compiled and installed Apache2+ as in the above section, you need several steps to configure Apache on AIX:
vi /usr/local/apache2/conf/httpd.conf
DocumentRoot "/usr/local/apache2/htdocs"
/usr/local/apache2/bin/apachectl -t
/usr/local/apache2/bin/apachectl -k start
Note: the default web pages directory (/usr/local/apache2/htdocs) is not a good location as you risk filling up the /usr filesystem. this is what I recommend as a minimum of changes to the default Apache configuration:
DocumentRoot "/usr/local/apache2/htdocs" ... <Directory "/usr/local/apache2/htdocs"> ... CustomLog logs/access_log common ... ErrorLog logs/error_log
Below we assume you will use default /usr/local/apache2/htdocs for some quick testing and will set up the alternative filesystem later on but don't forget.
On Thu, Feb 14, 2008 at 10:30 AM, O'DELL, TODD E (ATTOPS)
<to2958[at]att.com> wrote:
> I'm able to build the 2.2.8 Apache on a AIX 5.3 server. It will compile
> and install but when I go to start it I get this:
>
> exec(): 0509-036 Cannot load program httpd because of the following
> errors:
> rtld: 0712-001 Symbol XML_ParserFree was referenced
> from module /web/apache/production/lib/libaprutil-1.so(), but a
> runtime definition
> of the symbol was not found.
ISTR a problem with libtool on AIX where the relinkde/installed
version of apr-util has a hard-coded reference to expat that cannot be
overridden by LIBPATH. This should only affect running the Apache code
on a different system, as the hard-coded path ought to at least be
correct.
You might want to try temporarily using the apr-util libs from
srclib/apr-util/.libs/ instead of the ones re-linked by libtool, and
see if it helps at all.
You might also want to try picking up a newer libtool and re-building.
Originally Posted by aldowsarycollect2: library libgcc_s_pthread not foundseems to be the root of all evil. Maybe a wrongly set LIBPATH or missing library at all? There is a library libpthread.so in AIX 5.3, but you seem to need an equivalent library for the gcc compiler.
21 December 2006
July 9th, 2006 | FASherman
This build was accomplished on AIX 5.3 ML 03 with no IBM compilers installed. I highly recommend building and installing Apache 2 and PHP 5.1 together. Performing these separately can have unpredicted results.
PrerequisitesCompiling Apache2+ using GCC
- Make sure you have the necessary free space in the following filesystems:
- /usr
- /opt
- /home
- /tmp
- Download the following:
- Apache Web Server 2.2.2 source code from Welcome! - The Apache HTTP Server Project
- GNU C compiler version 4 for AIX 5.3 from IBM AIX Toolbox Download Page - Alphabetical Listing
- GCC library for AIX 5.3 from IBM AIX Toolbox Download Page - Alphabetical Listing
- PHP 5.1 source code from PHP: Downloads
- XML support – IBM’s AIX Toolbox for Linux Applications is back rev’d. Use these instead
General tools from IBM AIX Toolbox Download Page - Alphabetical Listing
- LEX flex-2.5
- XML support expat-1.95.7
- Compression library zlib-1.2.2
- Compression develoment zlib-devel-1.2.2
- Compression library bz2-1.0.2-3
- jpeg support libjpeg-6b-6
- jpeg support development libjpeg-devel-6b-6
- png support libpng-1.2.1-6
- png development libpng-devel-1.2.1-6
- Pixmap xpm-3.4k
- Pixmap development xpm-devel-3.4k
- Freetype2 fonts freetype2-2.1.7-2
- Freetype2 fonts development freetype2-devel-2.1.7-2
- Gettext support gettext-0.10.40
- Any other libraries you might need for Apache or PHP
- Install all the RPM files
- Install libm.a from the AIX CDROM
- Install the compiler and library
rpm -Uvh gcc-4*.rpm
rpm -Uvh libgcc-4*rpm
- Uncompress the Apache Web Server source into your home directory
# gunzip httpd-2*tar.gz
# tar xvf httpd-2*.tar
# cd httpd*- Build the configuration file enabling shared object
# ./configure -C --enable-so --prefix /usr/local/apache2- Compile the server
# make
- Install the server (/usr/local/apache2)
# make installCompiling PHP using GCC
- Uncompress the PHP source code file and untar the file
# gunzip php*tar.gz
# tar xvf php*.tar
# cd php-5.1.4- Build the configuration file enabling shared objects
# export PATH=/opt/freeware/bin:$PATH
# ./configure --prefix=/usr/local --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/apache2/conf --with-gd --with-pear --with-gettext --with-mime-magic --with-zlib-dir=/opt/freeware/lib --enable-shared --disable-static --with-png --with-zlib --with-bz2 --with-xml --with-jpeg-dir=/opt/freeware/lib --with-png-dir=/opt/freeware/lib --with-xpm-dir=/opt/freeware/lib --with-freetype-dir=/opt/freeware/lib- Compile PHP with the following command:
# make
NOTE: There will be compiler warnings about pointers type mismatches. The can be disregarded.- Install PHP with the following two commands
# cp .libs/libphp5.so /usr/local/apache2/modulesConfiguring Apache2 with PHP
# cp php.ini-recommended /usr/local/apache2/conf/php.ini
- Stop Apache2
# /usr/local/apache2/bin/apachectl -k stop- Edit /usr/local/apache2/conf/httpd.conf, adding the following at the end
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
DirectoryIndex index.php
- Edit the /usr/local/apache2/conf/php.ini file
Change the php variable:
;date.timezone =
to reflect your timezone- Restart Apache2
# /usr/local/apache2/bin/apachectl -k start- Now test PHP with Apache2
- Create a test web page
# vi /usr/local/apache2/htdocs/phpinfo.php
<h1> PHP testing </h1>
<?PHP phpinfo() ?>- Open the page in your browser: http://your_server/phpinfo.php
- Verify the php data
- Delete phpinfo.php
# rm /usr/local/apache2/htdocs/phpinfo.php
This Wiki page contains the following sections:
- OpenSource with AIX
- Where to get Open Source with AIX
- More AIX Toolbox for Linux Applications
- Does AIX come with compilers for compiling Open Source?
- Getting the latest Apache2 web server for AIX
- Compiling Apache2.2 on AIX using the GNU GCC compiler - By Example
- Configuring Apache2.2 on AIX - By Example
- Installing MySQL
- PHP and AIX
**Compiling PHP on AIX using the GNU GCC compiler - By Example
- Configuring PHP with Apache2.2 on AIX - By Example
- Once compiled moving Apache2+PHP to a new/production machine
- Samba running on AIX
- Pre-compiled Samba binaries
Copyright © 1996-2008 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: July 18, 2008