People assume that time is a strict progression of cause to effect,
but actually, from a non-linear, non-subjective viewpoint,
it’s more like a big ball of wibbly-wobbly, timey-wimey stuff.”

Over the last few versions, we’ve noticed that the time that it takes to install cPanel & WHM on a new server has increased. We want to make sure that using cPanel & WHM saves you as much time as possible, and so the Code Monkeys development team is working to drastically reduce our install time for our version 11.52 release.

We need to hear from you!
To do this, though, we need your help! We want to know more about how you install cPanel & WHM, and how you’d like that process to change:

  • How do you install cPanel & WHM? Do you use provisioning, or perform a fresh installation (sh latest) every time?
  • If you don’t use provisioning, would you want to?
  • If you do use provisioning, what provisioning system do you prefer?
  • Would you use a “Quick Installation” process that installed a bare-bones system, without many of our optional features?

The status quo
Right now, we estimate that a fresh installation of cPanel & WHM version 11.50 may require two hours or more, with the following processes requiring the most time:

  • 46% — cPanel-provided RPMs.
  • 12.5% — EasyApache’s initial processes.
  • 11% — cPanel-provided Perl development packages.
  • 10% — Staging files.
  • 6% — Installation of OS-provided RPMs.
  • 5% — Maintenance scripts.
  • 4% — Building locale files and databases.

Based on an initial analysis, we’re hoping that the following changes will drastically reduce installation time:

Remove extra Perl modules and libraries
We may remove the bulk of the Perl RPMs that we currently ship. These RPMs require a big chunk of our installation time, without being necessary for cPanel & WHM to run. However, this change could negatively impact plugins and other custom code. If you need any of the Perl RPMs that you currently ship, we would like to hear from you. We are also considering the possibility of making these RPMs optional, so that servers only download and install them on an as-needed basis.

Shipping a preconfigured EasyApache build or RPM-only option
We may begin to ship a pre-built version of EasyApache, so that each fresh install does not need to build EasyApache during installation. (This change would not alter the normal ability to rebuild EasyApache with customizations.)
We may also make the new EasyApache 4 RPM available on fresh installations of cPanel & WHM version 11.52, through the use of experimental flags.

Drastic changes to the cPanel & WHM locale system
We may begin shipping pre-built locale files and databases. In this scenario, servers would then only build locale files if you choose to perform locale customizations, or add locales to your server. In addition, we are considering other changes to improve the locale system’s performance.

Create a Mailman RPM
We may RPM Mailman. However, this could drastically change the way in which our customers can customize Python. If you customize Python or other aspects of Mailman, please let us know how!

Verifiable success
We understand that the last thing that you need when you set up a new server is uncertainty. One of our other goals is to ensure that you can easily verify the success of installations.

So, what part of our installation process would you like us to change? How do you feel about the changes we’re considering? Leave us a comment below!