Sitemap
Edson Gonçalves

Edson Gonçalves

I’m Going to Kill cPanel

4 min readApr 22, 2025

--

For many years, I was a dedicated user of cPanel. My experience goes back to my early days and has evolved alongside my growing technical knowledge. Over this period, I noticed that the more I understood about the operating system, the more I questioned, suggested improvements, and reported bugs and security issues.

Even though it offered fewer features compared to its competitor, Plesk, cPanel held significant value due to its fast, intuitive, and responsive interface. These qualities contributed directly to its popularity and maturity in the market.

I clearly remember a conversation with a friend who asked why I hadn’t created my own control panel yet, considering I had enough knowledge to build a competitive alternative. At the time, I argued that the low cost of cPanel, combined with its excellent support, made it unlikely anyone would invest significant time and effort developing something similar — even if it were open source, it didn’t seem worth the trouble.

One of the aspects I admired most about cPanel was the accessible support and the openness of its Perl-based code, allowing me to find bugs and propose solutions. This harmonious situation continued until the codebase started being increasingly compiled and closed, coinciding with a noticeable decline in support quality, especially following cPanel’s acquisition. After these changes, while the panel improved technically, it became extremely expensive, and the support essentially disappeared, becoming largely inaccessible, outsourced, and ineffective.

Fortunately, over the years, I gained deep insights into cPanel, especially while managing my own hosting company. During that time, I developed plugins that added functionalities absent from the default installation, allowing me a deep understanding of its internal workings.

Besides more than two decades of experience with cPanel, I’ve also worked with Plesk and DirectAdmin. I have several interesting stories about Plesk, which I might share in the future. But for now, let’s focus specifically on DirectAdmin.

My interest in DirectAdmin started around 2015 due to its similarity to cPanel. Besides Plesk, DirectAdmin was the control panel closest to cPanel in terms of functionality. Initially, I didn’t pay much attention, but in 2019, frustrated by negative changes in cPanel, my interest resurfaced. At that time, DirectAdmin had evolved significantly, yet it still lacked several critical features, leading me once again to abandon it temporarily.

Get Edson Gonçalves’s stories in your inbox

Join Medium for free to get updates from this writer.

In 2024, I revisited DirectAdmin with renewed enthusiasm, diving deeper into its technology and capabilities for managing operating system services. Fortunately, it had improved so much that it unquestionably became one of cPanel’s main competitors.

Some of DirectAdmin’s key strengths include:

  • Fast installation and simple configuration.
  • Modern and intuitive user interface.
  • Efficient management of administrators, resellers, and users.
  • Comprehensive handling of packages, domains, PHP versions, FTP accounts, automated SSL certificates via Let’s Encrypt, emails, and databases.
  • Excellent email management and tracking system.
  • Easier plugin creation process.
  • Efficient resource control using Linux quotas and cgroups, eliminating the need for third-party tools like CloudLinux.
  • Exceptional jailed shell environment (I’ll discuss this in detail later).

Some downsides include:

  • Confusing interface when selecting PHP versions per domain.
  • Weak documentation, especially regarding plugin creation.
  • Lack of a robust WordPress management tool.
  • Absence of a user-friendly interface for managing Greylisting and Antispam features.
  • Significantly smaller global user base compared to cPanel.

DirectAdmin is developed in Go with a frontend built using Vue. It boasts excellent performance and supports Apache, Nginx, Apache+Nginx, LiteSpeed, and Nginx Unit, along with easy expandability.

But after praising DirectAdmin so extensively, why exactly do I aim to “kill” cPanel?

I’m a developer experienced in various programming languages. My career began with Python and Java, and extensive use of JavaScript, later evolving through PHP, Ruby, TypeScript, and finally, Go. On the web development front, I’ve witnessed the evolution from early AJAX libraries to modern frameworks like Angular, React, and Vue.

Throughout the years, I’ve created numerous personal projects in Go, always following best practices, development standards, and clean architecture principles. Since 2020, I’ve become deeply immersed in Go programming. Despite writing extensive code, I haven’t contributed as much as I’d like to the community, mostly due to business responsibilities — something I’ll elaborate more on in another opportunity.

Now, having more available time, I’ve decided it’s finally the moment to actively contribute to the community, sharing my knowledge in Go, software design patterns, and web interface development with Vue and TypeScript. But for this to be truly valuable, I needed a project that would benefit the entire community. So, I chose to develop a control panel that could serve as a powerful alternative to cPanel, inspired by the best features of both cPanel and DirectAdmin.

This way, even if you don’t code in Go or haven’t worked with Vue or TypeScript, you can still contribute, especially if you’ve been or currently are a cPanel user — sharing your ideas and improvements.

I’ve internally named this project XPanel, and I promise to release its source code soon on GitHub. Everyone will be welcome to explore it, expand its functionalities, perform tests, and contribute directly to its improvement. My ultimate goal is clear: to create a definitive replacement for cPanel.

Thank you very much for your patience and attention, especially if you read this far. I’ve attempted to summarize my experience and present my initial vision, particularly highlighting DirectAdmin’s strengths. I promise to detail everything further when the XPanel source code is publicly available, at which point I’ll also share many more interesting stories from this journey.

See you soon!

--

--