Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


What do you hate about cPanel/(otherpanels)?
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

What do you hate about cPanel/(otherpanels)?

Hey guys,

I know that this has been a topic probably discussed over and over again, and the chances of this succeeding are slim, but I figure I might as well shoot for it.

I'm looking for a good start to a large project to further my skills in development. So far, I've been limiting myself to small/medium projects that capped out in the low thousands of lines of code. I want to tackle something more long-term. I'd like to create a self-hosted panel that rivals vestaCP but doesn't have the same security issues it had, problems with it not being updated/maintained, etc.

The idea is to create a sleek GUI to interface with the most popular stack (LA(E)MP), and leave out all the crazy extras that cPanel has to cater to the "enterprise/shared hosting" audience. I do not want to create a "Shared Hosting" product, but rather a cPanel-like GUI that bridges the gap between shared hosting and VPS hosting.

Some initial thoughts that I had on how to approach this project. If anyone more experienced has any input, I'd love to hear it:

  • Support one distribution only. I'm thinking of going Debian.
  • Use distro-provided repositories and package manager to update packages? This isn't meant to be an enterprise product or to optimize performance like CentminMod does. This should just be a tool to set up and administrate a basic stack that automatically configures most "best practices." Are there any huge problems with this idea that I'm not foreseeing?
  • Language of choice? As this is mostly going to be writing/creating configuration files, I'm thinking of going with what I'm comfortable with (js). Python is another good alternative (think mailinabox)
  • Support only the very basics. Probably will not include FTP, DNS, server monitoring, advanced metrics, etc. Thinking of not even doing email. I think that there is a very large use-case for ONLY basic metrics such as disk used, bandwidth used, sFTP access, mySQL access, and my PHP/HTML website "just works".

What I'm looking for:

  • Any input on how to improve my approach or things I should consider before starting.
  • Any input on what you don't like about other GUIs and what I can do to not make the same mistake.
  • What you DO want to see in a panel like this. (please don't just say "security". If it's something security related, I'd like a more specific scenario)
  • None of the projects I stumbled across offered something like this, where it's just a basic GUI to manage nginx/apache/php/mysql. They were all either overkill or not GUI-based. The closest I've found is ServerPilot, but that is not self-hosted. If anyone is aware of anything like this that is active and already exists, I'd like to know that as well.

Thanks for reading! I'm pretty sure I posted something similar like this a while ago, but this time I think I'll be able to actually give this project a run for its money :)

-- jonchun

Comments

  • WSSWSS Member

    They all fucking suck.

    -- jonchun

    Thanked by 1WebProject
  • I'm scared at how much power they have over a server...

  • -Centos 7 is a good choice (for corporate environments)

    -Vestacp is an example of the simplicity of deploying hosting via WEBGUI (apache, nginx, mysql, php, ..)

  • Unused modules or features

  • raindog308raindog308 Administrator, Veteran

    sureiam said: I'm scared at how much power they have over a server...

    See, for me, I want a system that is going to take over my system. I want to be required to provide a virgin install. I want it to say "I can't install because you already installed mysql on your own", etc. If I want play with things myself, I don't use a panel. A panel is pure convenience and it should go all the way.

    One thing cPanel is horrible at is reseller backups. Actually, backups in general...e.g., whmeasybackup has to use the cpanel 1 api because cpanel has never updated it, and yet the api doesn't support some pretty basic needs. It's difficult for resellers to do server-to-server transfers. etc.

    Thanked by 1Amitz
  • WSSWSS Member
    edited October 2017

    @raindog308 said:

    sureiam said: I'm scared at how much power they have over a server...

    See, for me, I want a system that is going to take over my system. I want to be required to provide a virgin install. I want it to say "I can't install because you already installed mysql on your own", etc. If I want play with things myself, I don't use a panel. A panel is pure convenience and it should go all the way.

    ...why are you here?

    I mean no disrespect, but Plesk has done a damn good job of this for years. CPanel, VestaCP, ISPMangler, et al.. they all do their thing. They're hardly a "low end" option, though, as their overhead (In CPanel's case, at least) is at least as expensive as the services natively running.

    What part of SysAdminInACan is LES/LET/LEB compatible?

  • raindog308raindog308 Administrator, Veteran

    WSS said: ...why are you here?

    I should have prefaced that with "when I want a panel, I want it to take over my system..."

    For web hosting where you have friends/family/other users, I still prefer cpanel and it's even better when it's hosted by someone else. For my own madcap projects, it's whatever hipster http server catches my fancy but frankly providing shared hosting is a very unsexy bore.

  • WSSWSS Member

    @raindog308 said:

    WSS said: ...why are you here?

    I should have prefaced that with "when I want a panel, I want it to take over my system..."

    For web hosting where you have friends/family/other users, I still prefer cpanel and it's even better when it's hosted by someone else. For my own madcap projects, it's whatever hipster http server catches my fancy but frankly providing shared hosting is a very unsexy bore.

    true 'nuff!

  • Awmusic12635Awmusic12635 Member, Host Rep

    raindog308 said: One thing cPanel is horrible at is reseller backups. Actually, backups in general...e.g., whmeasybackup has to use the cpanel 1 api because cpanel has never updated it, and yet the api doesn't support some pretty basic needs. It's difficult for resellers to do server-to-server transfers. etc.

    Looks like they are starting to improve things a bit: https://documentation.cpanel.net/display/68Docs/68+Release+Notes#id-68ReleaseNotes-Newindividualfilerestorationfromabackup

  • eva2000eva2000 Veteran
    edited October 2017

    A few personal opinions

    1. Any gui web interfacing control panel will have additional security related issues to address and keep on top of. It's why Centmin Mod is only SSH shell based menu with no gui - one less security issue to deal with

    2. cpanel/whm does one thing great for shared hosting and user isolation. But anyone who has SSH/sysadmin experience would tell you that gui interfaces can slow certain tasks down compared to just running a few commands via SSH commandline. It's one of the reasons I developed Centmin Mod LEMP stack the way I have, it's faster to do certain system admin tasks via pure command line (even scripted automation), then fumbling through a few pages of gui based control panel settings. So if you are doing a gui web control panel, make sure 99% or all gui web control panel features and functions can be replicated on the SSH commandline too for more advanced folks (via scripting etc). There should never be a gui feature or setting that can't be initiated from SSH command line.

    3. Don't do what VestaCP does by building custom packages like Apache rpms on CentOS which haven't been updated in 3+ yrs https://community.centminmod.com/threads/vestacp-ouch-no-http-2-and-outdated-apache.10114/ - if you do build your own custom packages keep them up to date !

    4. Distro packages versus custom packages/source compiles - distro packages are easier as you leave maintenance and updates to distro maintainers but sometimes there are delays between a security CVE/bug fix/patch and the time the end user has access to that update via their package managers. Probably less of an issue on Debian/Ubuntu than RHEL/CentOS but nevertheless there are delays. So keep that in mind and be prepared for what you'd do if a package manager update is delayed. While custom packages you would need to maintain and be on top of security and bug issues. Versus source compiles, they can just be taken straight from source developer/provider. For my Centmin Mod LEMP stack, Nginx and PHP-FPM are sourced compiled so end users can specify the version they want to upgrade or downgrade to themselves, so they don't have to wait for me to update Centmin Mod at all. They see a new php version announced on php.net or new nginx version at nginx.org, they can immediately update to it themselves. This also allows me to patch nginx and php-fpm if need be too. Personally, I'm not waiting a few days for distro package update for nginx or php-fpm when I can resolve the issue immediately via source compile update. MariaDB via package install is an exception though as that has much higher QA testing involved between releases that can impact data integrity itself.

    5. Languages, maybe stick with python, go or php so you can in future leverage Nginx Unit in some way? I started looking at Nginx Unit integration into Centmin Mod too https://community.centminmod.com/threads/nginxs-unit.12803/#post-54893 :)

    Thanked by 3Jonchun CUTA MikeA
  • It's better if you manage thousands or hundreds of websites, otherwise there is no use of them if it's just one website.

  • WebProjectWebProject Host Rep, Veteran

    Bugs, example: moving from stable to current line of the same control panel somehow corrupt the Apache web server and other small bugs.

  • @eva2000 said:

    /thread. Thank you for your amazing answer. From the creator of Centminmod himself!

    Some thoughts:

    Any gui web interfacing control panel will have additional security related issues to address and keep on top of. It's why Centmin Mod is only SSH shell based menu with no gui - one less security issue to deal with

    While a security issue, you always have to trade off security vs convenience at some point. I could always add tools to lock down the web interfacing CP, but at the end of the day, for my target audience, I think it's worth the risk of exposing another point of vulnerability.

    gui interfaces can slow certain tasks down compared to just running a few commands via SSH commandline.

    agreed. this isn't targeting someone who's comfortable in the command line. This is for people who can follow command line guides if they really tried, but a "just do it for me" solution works out better for them.

    but sometimes there are delays between a security CVE/bug fix/patch and the time the end user has access to that update via their package managers.

    This tool is not intended to do anything special such as installing/compiling your own versions, and is targeting users who would be using the package manager anyways. You would be free to roll your own binaries as this would really only create/modify/delete configurations.

    Languages, maybe stick with python

    fineee :( It's time I got comfortable with Python :P

    I'll look at Nginx Unit when I have time. Haven't seen this before! Thanks again for your input!

  • Cpanel is expensive or you can say others are cheap as compared to it but it has many features that make it expensive but on other side bugs made it worse to spend money on

  • No node js, mongo, not responsive file manager.

  • vmhausvmhaus Member, Top Host, Host Rep

    Modularity, we build Bonsai for this reason. We would love to be able to pull out modules and replace them.

    For example with web hosting. Imagine if you could design my own MSSQL module and drop it into the panel.

    We wanted this for some new features and Virtualizor + WHMCS limited this too far.

  • @vmhaus said:
    For example with web hosting. Imagine if you could design my own MSSQL module and drop it into the panel.

    You can in cPanel ;)

  • vmhaus said: if you could design my own MSSQL module

    for apache or nginx or you mean MSSQL php extension ?

    Jonchun said: agreed. this isn't targeting someone who's comfortable in the command line. This is for people who can follow command line guides if they really tried, but a "just do it for me" solution works out better for them.

    Indeed though (if it matters), for longevity of your project might want to at least think about having parity of gui vs ssh command line features. As users of your gui panel get more experience on ssh command line, it may come a time that they either ask for ssh command line equivalent or switch to a different panel. It's why I find cpanel/whm and some gui panels slower to do some tasks and partially why centmin mod came about for me (~120+ servers and only 5 are whm/cpanel for me vs rest centmin mod based).

  • i use free centos web panel and what i hate about it is its UI design its not really professional if design is beautiful then control panel will automatically become popular like cpanel has become popular.

  • @eva2000 said:
    Indeed though (if it matters), for longevity of your project might want to at least think about having parity of gui vs ssh command line features.

    To be fair, I don't think it would be too hard to let people run specific python scripts themselves no? Similar to how cPanel has their scripts. (would be just building a simple wrapper around what already powers the GUI)

  • yeah scripting the ssh commands as wrappers can help - centmin mod is one big wrapper script anyway for shell based menu hehe

Sign In or Register to comment.