cPanel® Blog

Reducing Our Installer’s Timey-Wimey Stuff

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!

  • Make cPanel install with bare minimum (would be fast) then using the web interface installer part, give the user more options that can install in the background while the user can setup other things! – it might not speed anything up – but it will help with multitasking so more can get done instead of waiting!

  • Edward Dore

    A good starting point would be to download the Odin Plesk installer, run it and see just how slow and cumbersome the cPanel installer is in comparison.

    Removing the completely unnecessary local compilation of Apache, PHP etc. would be a great first step towards bringing the cPanel installation process in line with your competitor’s software.

    • Kenneth Power

      Hello Edward. We have another team working on delivering Apache, PHP and friends via RPM. Please see http://blog.cpanel.com/upcoming-web-stack-changes/ and http://blog.cpanel.com/easyapache-4-announcement/ for more information.

      • Edward Dore

        Yes, I’m aware that you’re working on it – I think it has been about 5 years now since this effort originally started back some time 2010 with 11.30 if I remember correctly?

        I honestly look forward to the day that cPanel finally catches up with Plesk on the installer front (as well as all the other day-to-day management improvements that using proper package management will bring). There’s no excuse for fresh software installing taking more than a few minutes in this day and age.