www.thorko.de Thorsten Kohlhepp - Systems administrator | Apache and PHP5

 

apache and php5

Download the source of apache and extract the archive.
Change to the archive directory and run

./configure --prefix=/usr/local/apache2/2.2.11 
--enable-mods-shared="dav dav_svn authz_svn auth_basic \
authn_file alias dav_lock dav_fs cache disk_cache mem_cache ssl \
cgi rewrite unique_id" --enable-auth-digest
--enable-substitute --enable-info \
--enable-vhost-alias --enable-status --enable-autoindex \
--enable-log-forensic --with-unique-id --enable-so
make
make install


Configuration of apache
It is always a good idea to keep the configuration of the apache modules in a seperate directory, in this case "modules".
Add lines to your "httpd.conf" file
Include /usr/local/apache2/2.2.11/conf/modules/*.load
Include /usr/local/apache2/2.2.11/conf/modules/*.conf

To enable a module just place a file name "<module name>.conf" and "<module name>.load" in the modules file and reload your apache configuration.

I would recommend to load these modules

module name files
alias alias.load alias.conf
authn_file authn_file.load
cgi cgi.load
dav_fs dav_fs.load dav_fs.conf
dav dav.load
dav_lock dav_lock.load
dir dir.conf
mem_cache mem_cache.load mem_cache.conf
php5 php5.load php5.conf
ssl ssl.load ssl.conf
status status.conf
unique_id unique_id.load


Don't worry about the "php5" module we will compile this later on. If you start your apache you will get an error because it can't find the "libphp5.so" file. So hang on and create the configuration file of the modules.

Download the php source and extract the archive.
Change to the archive directory. You might need to make some adjustments to be able to compile "recode" and "mysql" together.

Adjustments:
Comment the lines in "ext/recode/config9.m4"
test "$PHP_IMAP"  != "no" && recode_conflict="$recode_conflict imap"
test "$PHP_MYSQL" != "no" && recode_conflict="$recode_conflict mysql"
will change to

dnl test "$PHP_IMAP"  != "no" && recode_conflict="$recode_conflict imap"
dnl test "$PHP_MYSQL" != "no" && recode_conflict="$recode_conflict mysql"


Comment the lines in "configure"
test "$PHP_IMAP"  != "no" && recode_conflict="$recode_conflict imap"
test "$PHP_MYSQL" != "no" && recode_conflict="$recode_conflict mysql"
will change to

# test "$PHP_IMAP"  != "no" && recode_conflict="$recode_conflict imap"
# test "$PHP_MYSQL" != "no" && recode_conflict="$recode_conflict mysql"


Then run

./configure  --prefix=/usr/local/php5/5.2.9 --with-mysql --with-mysql-sock --enable-calendar --with-pcre-regex \
--with-mysqli --with-mcrypt --with-recode --with-gd --with-zlib --with-imap --with-imap-ssl \
--with-kerberos --enable-bcmath --with-apxs2=/usr/local/apache2/2.2.11/bin/apxs
make
make install