Switching from old-style to new-style suPHP communications method
Question:
I installed Centova Cast prior to version 2.1.0 and have been experiencing suPHP-related issues, so I want to switch to the new interprocess communications method which bypasses suPHP's limitations. How do I do this?
Answer:
Please note that this is an advanced procedure and we strongly recommend against performing these steps yourself except as directed by Centova Technologies.
If you do not understand exactly why you are doing this, and you've not been instructed to do so by Centova Technologies, then you probably don't need to do it at all.
The steps to switch from piped interprocess communication (IPC) to daemonized IPC are as follows:
Edit
/home/centovacast/system/runascc/castd.c
and change:#define PHP_PATH ""
...to:
#define PHP_PATH "/usr/bin/php"
Replace
/usr/bin/php
with the correct path to your PHP CLI binary.Run these commands to recompile the daemon:
cd /home/centovacast/system/runascc rm -f castd gcc -o castd castd.c chown centovacast.centovacast castd chmod u+s castd
If you've used a non-standard user/group name for the Centova Cast account during installation (you probably haven't), be sure to replace
chown centovacast.centovacast
withchown correctusername.correctgroupname
.Edit
/home/centovacast/system/config.php
and add these lines (or modify them to match the following if they already exist):define('USE_DAEMON',true); define('DAEMON_HOST','127.0.0.1'); define('DAEMON_PORT',2199);
Immediately after saving
config.php
, run the cron job command to make sure the daemon is started right away:/home/centovacast/system/runascc/runascc exec ccmanage cronjob all
Centova Cast should now be running with daemonized IPC activated. You should be able to login and use Centova Cast normally at this point. If you cannot login, then there is a problem with the daemon that will need to be resolved.
I made a mistake above and now Centova Cast is broken! How do I revert the above?
Edit /home/centovacast/system/config.php
and change:
define('USE_DAEMON',true);
to:
define('USE_DAEMON',false);
This will force Centova Cast to ignore the daemon and revert to the standard piped IPC method. If you continue to experience problems, then you must have inadvertently changed something else while attempting to setup the daemon.