Custom Apache Build System

DirectAdmin Support

Administrator
Staff member
Joined
Feb 27, 2003
Messages
9,158
Hello all,

This thread holds information about our customapache build script. It allows everyone to rebuild apache easily and customize php more easily.

Comes with:
Apache 1.3.33
mod_ssl 2.8.22
mod_perl 1.29
php 4.3.11
zend 2.5.7
gd 2.0.33
libjpeg 6b
libpng 1.2.7
libmcrypt 2.5.7
zlib 1.2.1
curl 7.12.3
mod_frontpage 1.6.1
Frontpage 5.0.2.2510
mhash 0.9.1
zzip 0.10.82

As root, type:
Code:
cd /usr/local/directadmin
mkdir customapache
cd customapache
wget http://files.directadmin.com/services/customapache/build
chmod 755 build
./build update
./build all



And if you want to have Zend, after the whole thing finishes, type:
./build zend

and answer all questions.
Zend install = /usr/local/Zend
php.ini = /usr/local/lib
Apache config dir = /etc/httpd/conf
php = 4.3.9
apache bin = /usr/sbin

it will try to restart the server, which might fail, so type
service httpd restart

I've tested it on my box at home, and our test box. Let me know how it goes for you guys. Takes about 15 minutes on a 750Mhz.

You can have a look at the <? phpinfo(); ?> that it will produce here:
http://files.directadmin.com/info.php

If you have any comments on the default ./configure for apache and php, I'd love to hear them.

Thanks,

John
 
Its 1:30am local time here, I'm going to run it on this server.

(In case anyone wonders why apache is dead for 15 minutes or so)

John
 
Success!

That was actually very painless.

DirectAdmin's Task Queue sent me an email telling me that httpd was down, right on queue. :)

Total httpd downtime: 9 minutes 20 seconds
Thats with running "./build zend" seperately. If you are reading this, you know it worked ;)

I'll continue to monitor the server to see if anything is missing/broken, but everything seems to be perfect at the momment :)

John
 
A few comments on the PHP info. (comparing it to one of mine)

- variables_order = GPCS (what about EGPCS?)
- Max Requests = Per Child: 1000 - Keep Alive: off - Max Per Connection: 100 (or Per Child: 0 - Keep Alive: on - Max Per Connection: 100 )

PHP config missing.
- bcmath
- calendar
- imap
- mcrypt (very important)
- pear
 
Hello,

I'll look at the options you've included. Keep in mind that you can add any configure options you want with this script.

John
 
John,

Just my us$0.02 worth...

My suggestion is you should include all the php options people might possibly want in your base install, unless you see some kind of security issue...

the reason being that if everyone's base apache/php install is subtly different you may have problems with support later.

Just my us$0.02.

Jeff
 
jlasman said:
My suggestion is you should include all the php options people might possibly want in your base install, unless you see some kind of security issue...

The only big problem with including everything is that the more options you compile into PHP the larger the binary will be and the more ram it will use..

Adding in 10-15 more options wouldn't really hurt it.. But you can't support everything...

On a dev box where speed doesn't really mater this is my configure line:
'../configure' '--prefix=/usr' '--with-apxs=/usr/bin/apxs' '--with-regex=php' '--with-config-file-path=/etc/php4/apache' '--disable-rpath' '--disable-debug' '--enable-memory-limit' '--with-layout=GNU' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db2' '--with-iconv' '--enable-exif' '--enable-filepro' '--enable-ftp' '--with-gettext' '--enable-mbstring' '--with-pcre-regex=/usr' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--disable-xml' '--with-expat-dir=/usr' '--enable-yp' '--with-zlib' '--without-pgsql' '--with-kerberos=/usr' '--with-openssl=/usr' '--with-exec-dir=/usr/lib/php4/libexec' '--disable-static' '--with-curl=shared,/usr' '--with-dom=shared,/usr' '--with-dom-xslt=shared,/usr' '--with-dom-exslt=shared,/usr' '--with-zlib-dir=/usr' '--with-gd=shared,/usr' '--with-jpeg-dir=shared,/usr' '--with-xpm-dir=shared,/usr/X11R6' '--with-png-dir=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-imap=shared,/usr' '--with-imap-ssl' '--with-ldap=shared,/usr' '--with-mcal=shared,/usr' '--with-mhash=shared,/usr' '--with-mm' '--with-mysql=shared,/usr' '--with-unixODBC=shared,/usr' '--with-recode=shared,/usr' '--enable-xslt' '--with-xslt-sablot=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-sybase-ct=shared,/usr' '--with-ttf=shared,/usr' '--with-t1lib=shared,/usr'

While on production servers its mainly:
'./configure' '--with-apxs=/usr/local/apache/bin/apxs' '--with-xml' '--enable-bcmath' '--enable-calendar' '--with-curl' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/usr/local' '--with-png-dir=/usr' '--with-xpm-dir=/usr/X11R6' '--with-imap' '--with-kerberos' '--with-mcrypt' '--enable-magic-quotes' '--with-mysql' '--with-pear' '--enable-sockets' '--enable-track-vars' '--with-zlib'

Not all modules get along with each other that well..


Also DA doesn't directly use PHP so its compilation shouldn't add to much of a support differnce, and if there is a problem, the user can just be instructed to do a stock recompile and fix it all...
 
Last edited:
Ok, I've added another pile of php configure options.

have a look:

http://files.directadmin.com/info.php

Also, we've tested the script on quite a few servers now... should be removing its beta status shortly.

John


[edit]The info.php above no longer shows *as* many things (gd etc) because I've recompiled it without. The customapache does include them, just make sure you have libjpeg and libpng[/edit]
 
Wow.... DirectAdmin is like cPanel except without the bugs, flaws and security issues. I got DirectAdmin about an hour ago, and although it was a PAIN to install (kept having issues where it was downloading update.tar.gz but it was fake because it was about 59k :D) I can see I'm going to love this thing. :D... DirectAdmin Support I haven't seen an ad for DirectAdmin around. Contact me on [email protected] to arrange some free advertising...you deserve it my friend :)
 
I gave them unlimited free banner rotations on my auction site but that doesn't do them justice since the site's new!

Glad to see others spreading the word too!
 
My site is very new (27th June) but I have many things going on with it and within a month I'm expecting 150+ members :D It's a forum related to hosting/business/programming/design etc. I've basically offered them 1000 views / week in the rotation and will upgrade it quickly as the site grows :D
 
Hello,

I've updated custom apache to include libjpeg, libpng and zlib. Most servers already have them installed, but for the ones that don't, this will make your life much easier ;)

For existing customapache users who don't currently have gd installed, from your customapache dir type,

rm configure.php
./build update
./build php

to get all of the new features. Everyone else just follow the steps in the first post as usual.

John
 
Ive just printed out this entire thread and I'm going to try it on the server this long holiday (here in the US) weekend. I've never did a custom php install before; we just pay Plesk to do it for us.

So I guess there's a time to try it out :) .

What's customapache? Have I missed something?

Jeff
 
Customapache is just what we're calling the whole jumble of software. It's custom becuase you can edit the configure.* files to set up the programs anyway you wish (experts only, you must ensure you have required libraries if you can the configure.* files).

Most people will just run ./build all, and not change anything.

John
 
Back
Top