Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning
titleWarnings:
  • This document is only valid for cPanel & WHM version 11.46 through 56. Customizations that use this method will not function in cPanel & WHM version 58 and later, because these versions ship Roundcube as an RPM.
  • cPanel Technical Support does not provide assistance with the instructions in this article.
  • To customize Roundcube for cPanel & WHM version 58 and later, read our How to Build and Install Custom RPMs documentation.
  • cPanel, IncL.L.C. does not support Roundcube user experience customizations.

...

FilenameDescriptionExample
/home/username/etc/domain/username.rcube.db.unixtimestampA backup file with a Unix timestamp.username.rcube.db.1495814375
/home/username/etc/domain/username.rcube.db.latestA symlink to the latest Roundcube backup.username.rcube.db.latest
/home/username/etc/domain/username.rcube.db.YYYYMMDDHHMMSS.sqlite2A SQLite v2 backup file.username.rcube.db.20170523105040.sqlite2

...

  1. The system runs the /scripts/upcp script to update cPanel & WHM.
  2. The /scripts/upcp script runs the /usr/local/cpanel/install/webmail script. 

    Note
    titleNote:

    During this step, the script will check for custom Roundcube tarballs. For more information, read the Where to save a custom Roundcube tarball installation section.


  3. The /usr/local/cpanel/install/webmail script executes the /usr/local/cpanel/bin/update-roundcube script.
  4. The /usr/local/cpanel/bin/update-roundcube script runs the following command to remove the current Roundcube installation:

    Code Block
    languagebash
    rm -rf /usr/local/cpanel/base/3rdparty/roundcube


  5. The /usr/local/cpanel/bin/update-roundcube script extracts the appropriate source tarball to the /usr/local/cpanel/base/3rdparty/ directory.

    Note
    titleNote:

    During this step, the /usr/local/cpanel/bin/update-roundcube script checks for the existence of the /var/cpanel/roundcube/install file and performs one of the following actions:

    • If the /var/cpanel/roundcube/install is an executable file, the /usr/local/cpanel/bin/update-roundcube script executes this file and then terminates the script.
      • This bypasses cPanel & WHM's manipulation of the Roundcube configuration files.
      • If the file successfully executes, steps 5 through 9 of the installation procedure do not occur.
    • If the /var/cpanel/roundcube/install is not an executable file, the file's contents print to the STDOUT file and Roundcube continues with the installation procedure of the normal cPanel & WHM configuration.


  6. The /usr/local/cpanel/bin/update-roundcube script changes the ownership of the Roundcube installation to the root user and the wheel group.
  7. The /usr/local/cpanel/bin/update-roundcube script checks for the existence of the /var/cpanel/roundcube/install file.

  8. The /usr/local/cpanel/bin/update-roundcube script extracts MySQL® configuration values from the system settings.
  9. The /usr/local/cpanel/bin/update-roundcube script backs up Roundcube's MySQL database to the /var/cpanel/roundcube/roundcube.backup.sql.currenttimestamp file, where currenttimestamp represents the time at which the script ran.

    Note
    titleNote:

    The /var/cpanel/roundcube/ directory only retains the four most recent copies of the Roundcube database backup.


  10. The /usr/local/cpanel/bin/update-roundcube script drops the Roundcube database from MySQL.
  11. The /usr/local/cpanel/bin/update-roundcube script updates Roundcube's configuration files and MySQL files with the server's settings.
  12. The /usr/local/cpanel/bin/update-roundcube script recreates Roundcube's database from the MySQL files.
  13. The /usr/local/cpanel/bin/update-roundcube script reloads the previous Roundcube database backup and finishes the update.

Install a customized instance of Roundcube

...

If the script locates multiple tarballs, it uses them in the following order, where RCUBE_VERSION represents represents the Roundcube version number:

DirectoryDescription
/var/cpanel/roundcube/roundcube-RCUBE_VERSION-local.tar.gzUse this location for a compressed tarball that you want to apply to a specific Roundcube version.

/var/cpanel/roundcube/roundcube-RCUBE_VERSION-local.tar

Use this location for an uncompressed tarball that you want to apply to a specific Roundcube version.
/var/cpanel/roundcube/roundcube-local.tar.gz Use this location for a compressed tarball that you want to apply to Roundcube, regardless of version.
/var/cpanel/roundcube/roundcube-local.tar
Use this location for an uncompressed tarball that you want to apply to Roundcube, regardless of version.

...

The overlay tarball allows you to customize specific attributes of Roundcube, such as the use of an overlay an overlay to change graphics, themes, or plugins. It can also contain one image file.

The overlay does not require a complete Roundcube distribution. It only requires the components that you wish to modify, because cPanel & WHM will overlay it onto the Roundcube installation. However, the overlay requires a directory structure that matches the /usr/local/cpanel/base/3rdparty/roundcube directory structure and begins with the roundcube name.

After you determine which tarball to use for the source installation and extract it, the /usr/local/cpanel/bin/update-roundcube script checks for the following directories. If the script locates multiple tarballs, it uses them in the following order, where RCUBE_VERSION represents represents a Roundcube version number:

DirectoryDescription
/var/cpanel/roundcube/overlay.RCUBE_VERSION.tar.gzUse this location for a compressed overlay that you want to apply to a specific Roundcube version.
/var/cpanel/roundcube/overlay.RCUBE_VERSION.tarUse this location for an uncompressed overlay that you want to apply to a specific Roundcube version.
/var/cpanel/roundcube/overlay.tar.gzUse this location for a compressed overlay that you want to apply to Roundcube, regardless of version.
/var/cpanel/roundcube/overlay.tarUse this location for an uncompressed overlay that you want to apply to Roundcube, regardless of version.

...