To configure SUPHP in directadmin is an easy task. There are a number of ways to do it. But this method seems to be a perfect setup for it .
Why this method is better than default suphp?
- The php will be installed under /usr/local/
- There is no conflict with multiple server phps
- The php ini path is /usr/local/lib/php.ini
- This will help to set correct path for php scripts or crons without modifying the client files
- No modification for default template , just use custom.
- Use server mysql for php-mysql client , this will avoid client API conflict
- Easy to implement
Any Auto installer script ?
Yes you can download an auto installer script from here.
How to setup is manually?
Please see the procedure below,
cd /usr/local/directadmin/custombuild ./build clean ./build update mkdir -pv custom/ap2 mkdir -pv custom/suphp rm -rf custom/ap2/* rm -rf custom/suphp/* wget -c http://files.syslint.com/da/conf/suphp/configure.apache.conf mv -vf configure.apache.conf custom/ap2/configure.apache wget -c http://files.syslint.com/da/conf/suphp/configure.php5.conf mv -vf configure.php5.conf custom/ap2/configure.php5 cp -vf custom/ap2/configure.php5 custom/suphp/ wget -c http://files.syslint.com/da/conf/suphp/configure.suphp.conf mv -vf configure.suphp.conf custom/suphp/configure.suphp
Now edit /usr/local/directadmin/custombuild/options.conf and make the following changes
php5_cli=no php5_cgi=yes
Now build apache as follows
./build apache
Now build php as follows
./build php 5
Now create the custom config folder , so that you can simply include all thirdpary php extensions
mkdir -pv /usr/local/lib/php.d
Now make all required soft links
ln -sf /usr/local/bin/php-cgi /usr/local/bin/php ln -sf /usr/local/bin/php /usr/bin/php
Now set suphp.conf for the php-cgi location
sed -i 's/x-httpd-php5=.*/x-httpd-php5=\"php:\/usr\/local\/bin\/php-cgi\"/g' /usr/local/suphp/etc/suphp.conf
Now set the php.ini location for suphp
sed -i 's/suPHP_ConfigPath.*/suPHP_ConfigPath\ \/usr\/local\/lib\//g' /etc/httpd/conf/extra/httpd-suphp.conf
Restart apache
/etc/init.d/httpd restart
Testing :
Create a phpinfo page on you domain document root and check it.
Optional Settings:
The following settings are not recommended in a production environment . It will enable user_dir access to your domains and disable some security
Read more about this from here