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:

  1. 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.

  2. 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 with chown correctusername.correctgroupname.

  3. 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);
    
  4. 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.