Development with ISPConfig

Discussion in 'Developers' Forum' started by lnx, Feb 16, 2023.

  1. lnx

    lnx New Member

    I'm interested in helping make ISPConfig become a replacement for cpanel. Not just for me, but for the internet. I want to help change the business model of web panels from the huge money drain with cpanel cornering the market and other paid panels, to make it so that there is absolutely no reason for someone to choose a paid panel over this panel. Besides support.

    To accomplish this, we need a UI similar to cpanel's best theme which they have discontinued in favor of widely hated themes including Paper Lantern, which they also deprecated, to now Jupiter the last I checked, and it was a regression to the 1990s era.

    Combine this with extremely high fees that are always increasing, and the internet desperately needs something with the same functionality but yet a FOSS model. Millions of people all the time are coming to the age that they are wanting to experiment with the web and they need a panel to do it.

    I am a designer developer and systems admin, and I am presently growing my development skills so I would like to know what develpoment languages I should focus on to help with this project. I have built many websites, I'm a front end developer with some back and and system admin skills. I currently run dedicated servers, web hosting platforms, and a number of websites. My skills presently include UI/UX design, HTML, CSS, some PHP and JavaScript, and Linux server administration (mainly redhat, presently I'm using AlmaLinux 9 on my servers).

    I installed a box with ISPConfig, and it feels a bit barebones to me. I hope to help with this. I am creating a mockup of a theme I would like to see. I previously had modified cpanel's interface and created a custom theme as well as all new custom icons, making what I consider to be the perfect web interface. But cpanel is getting too pricey, and with the amount of people working on FOSS panels, there is no reason for a web panel to be charging so much.

    My hope is that ISPConfig provides a good enough foundation to be able to create a web panel that will be for web panels what CentOS/AlmaLinux is for web operating systems. CentOS for many years was the free OS that ran the majority of the internet. Even when Redhat discontinued CentOS early, devs jumped to action and made two viable forks: AlmaLinux, and Rocky Linux. I chose AlmaLinux because it seems more open source, even though both are open source.

    But with web panels, that goes to paid services: cPanel and Plesk make up the majority of the internet. This should not be the case. With FOSS like ISPConfig, a few devs can change the entire internet by making it possible for anyone to easily have a free web panel. I would like to help with that.

    What languages should I learn and build on to help with this project? I can already make a front end interface, but I will need help to create some new pages and to link up some of the software. Let me know who wants to help me with this. I am an excellent and professional designer developer and can design an amazing interface with 20 years of UI/UX experience behind me to help make ISPConfig the most desirable panel on the planet, and under a FOSS model - free and open source.

    Later I will make notes about what pages exactly that we need. I already have a skeleton mockup so I know what we need. One of the biggest things it needs is a built-in file manager. Hopefully it can be as simple as integrating an existing FOSS web panel and creating a theme for it, much like how Roundcube is integrated as a web email client.
     
    Last edited: Feb 16, 2023
  2. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    lnx likes this.
  3. till

    till Super Moderator Staff Member ISPConfig Developer

    Welcome to the ISPConfig project!

    Mainly PHP, HTML, and CSS.

    A hosting panel is in some ways very similar to a CMS or website but in other aspects very different, especially regarding security considerations. When changing something in ISPConfig, you must always take security into account. When a panel would get hacked, it not only affects one website that runs with low privileges, it would affect the whole system and might compromise the root account. And, e.g. the panel UI has no access to the files in websites directly, as the panel runs under a different user and might even be located on a different server altogether. So when talking about a file manager, these things make building and implementing a file manager a bit more complicated, as the file manager must be able to access files remotely e.g. by FTP, but not every site has an FTP account, which means you might have to work with shadow FTP accounts not shown in the Ui or creating such accounts ad-hoc. There are ways around these issues, but they require good Linux system admin and security knowledge from the developer that wants to take on such a task.
     
  4. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    CPanel may not be a good model to follow. I have used it a little, and do not like it. It uses a different approach than ISPConfig, maybe it is suitable to those with no background in systems administration using command line on terminal.
    CPanel does have some features that are usefull, but I do not need those features since I do that stuff from command line.
    Like the integrated File Manager, I wrote tutorial (link in my signature) on how to use the file manager on workstation to access files on website.
     
    till likes this.
  5. Taleman

    Taleman Well-Known Member HowtoForge Supporter

    till likes this.
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    I'm not a fan of Cpanel too. While ISPConfig is indeed in need of a fresh theme, we will not change the general way it works.
     
  7. lnx

    lnx New Member

    Thank you!

    About the file manager, it is very rare for anyone except large companies to be using remote files like in a cloud service, and a file manager would not need to access that. A file manager only needs to access the files on the user's account.

    Have you ever used cPanel or any other panel before? They all have file managers, and AFAIK none of the built-in file managers have access to "remote file", I don't even know what you are talkling about.

    Personally in 20 years of hosting websites, I have never had these remote files that you speak of. That is not a core needed functionality, that would be an addon. cPanel I know does have a thing called "Remote FTP", but I never used it. Even when I, who am more advanced, needed to transfer files between 2 servers (extremely rarely, and for entire server migrations, not regular website management), I used SSH for this, not Remote FTP.

    However, I used the built-in file manager frequently, even though of course I also use FileZilla. Lay users (regular non-tech people) would need the built-in file manager though. Conversely,, FTP, as easy as it is for you an I, is too hard for some people to figure out. Or, it is an unnecessary complication.

    And the people who need a file manager definitely do not need Remote FTP. So you shouldn't even be thinking about that.

    99.999% of websites have 100% of their site files on the same server, assigned to their own user account. This is not FTP. This is direct access to the files through a GUI, called a "File Manager".

    When a user logs in, the way a file manager works is that it only shows directories in that users' account. Of course, as we know, Linux automatically assigns permissions to associated files for user accounts.

    So you are overthinking this. It is as simple as providing a GUI for managing files on the server. And there are open source file managers that might be able to be easily integrated with ISPConfig, rather than trying to build one from scratch.
     
    Last edited: Feb 17, 2023
  8. lnx

    lnx New Member

    Half the internet disagrees.

    The only reason that cPanel now is terrible (besides pricing) is because they forced new themes, first Paper Lantern which was unwanted, and now Jupiter, which is absolutely atrocious and brings it back into the 20th century and the dot-com era.

    As far as functionality, there is no debate, cPanel has the best functionality of any control panel on the internet. There is a unanimous consensus on this. Anyone who says otherwise either has not really used cPanel, or is being disingenuous or dishonest with themselves.

    And I am saying this coming from the standpoint I want to destroy cPanel because I despise their company and business practices. But it doesn't change the fact that their software works better than any others on the internet. That cannot be denied, as much as I dislike cPanel's new themes and pricing model, their control panel is the best out there.

    I hope that I can help change that by helping ISPConfig add new functionality and better usability by providing some of the missing essential features (such as file manager, among others), and a more familiar theme so that regular users can easily make the switch.

    I hope the devs are open to improving the panel and open to feedback. If not, then I would be open to making a fork of the project and hopefully finding some other devs with a similar vision.
     
    Last edited: Feb 17, 2023
  9. lnx

    lnx New Member

    I saw them, but these are 1990s-era themes. While a little prettier than ISPConfig, they are not modern and looks like the kind of things I would develop in my free time when I started college 20 years ago. My skills have come a long way since I made things that looked like that. It is a skillset, and does take awhile to learn. What those look like are what I would expect from beginner designers. A nice start, but not ready for primetime.

    I can help create an actually modern theme that is beautiful, elegant, and usable. ISPConfig's default theme today is not terrible. But it is time for a full redesign and and a dark theme.

    I wouldn't just want to make a theme that comes and goes, I would want to make a design that is the core theme and help redesign the core theme to modernize the panel.

    I would recommend always keeping the classic theme and never deprecating it,so that old stubborn users will never lose it. So the classic present theme should be switchable. Let's avoid cPanel's terrible approach of forcing users into new themes. But we should have at least two themes: the present classic theme (with a dark option), and the modern one that I will design that brings both the UI and the UX into being the best panel.

    We have a huge opportunity, because everyone and I mean everyone hates - despises - cPanel's Jupiter theme. There are no icons, plain text, it is shockingly horrific. DOS-era design. Unbelievable, for a company that makes so much money.
     
  10. lnx

    lnx New Member

    If your suggestion is that ISPConfig is only meant for systems admins, then you have a very small audience.

    My vision is to help make it into a panel that can be the CentOS of web control panels - the default that everyone on the internet uses which is also FOSS.

    cPanel has a panel built to be easily usable for everyone, and that's the reason that the majority of the internet uses it - even despite having to pay thousands or even tens of thousands of dollars a year for it - begrudgingly, because there is no other alternative with wide usability and ease of use.

    I want to help change that and take away the monopoly from cPanel and convert web control panels from a paid model to a FOSS model That is my vision. I hope there are other devs with a similar vision. I'm not just looking to help server experts who like to write command line and bash scripts. That is a narrow skillset and few have it, and most who want to run websites and host servers do not have it, and that is the majority of people. I want to broaden the use to the majority of people, not just a tiny niche of systems admins like you and I.
     
    Last edited: Feb 17, 2023
  11. lnx

    lnx New Member

    That's it?! Well I've already got that covered. I haven't looked at the source code yet but I had assumed you had some more advanced languages, maybe python, perl, or ruby.

    The upside of being just plain HTML, CSS, and PHP is that it is easy to develop as these are the most common and basic front-end web languages. Ruby, Perl, and Python, among others, have their uses though.
     
  12. Th0m

    Th0m ISPConfig Developer Staff Member ISPConfig Developer

    Implementing a file manager is not as easy as you describe it, sadly. Till explained that in #3. See https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/1520 for the feature request in our GitLab.

    The main problem is that we can't create one FTP user that can access all files, and restrict the shown files to the client that's logged in. The security risk would be too big. So when a client request the file manager, a FTP user should be created that's not shown in the list of ISPConfig FTP users. That shadow user shall only be able to access the DocRoot of the client.

    Anything can be developed, but it takes time and effort.

    Regarding a new theme. I think everyone will agree that the frontend of ISPConfig can use some work. A new theme will not be prod ready within 1-2 weeks of writing it, and some things need to be rewritten from scratch. Updating the jQuery version we use can already cause all sorts of issues due to some very old code, as recently shown. So building a new theme will need a lot of testing and accepting feedback.

    Lastly, on the topic of forking the project. That sounds a bit like a "threat", while Till has been open for your ideas. Honestly, if you would want to build the control panel that anyone is using in the future, I would not fork ISPConfig 3. Some core PHP functions are outdated and only work because of some patches. Maintaining it is OK, but when I dream about the future of ISPConfig, the first thing that comes to mind that it might be necessary to write some core stuff.
     
    ahrasis likes this.
  13. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    I guess everybody can talk including you @lnx but that just talk. I would like to see your work too, if you can really walk all talks that you have made. So prove yourself, start somewhere, and let people see your result as action talk louder than just just writing words. Otherwise, you just likes talking with no action at all, just like the very few that were here before. I see them come and go. Good luck.
     
    Farsus likes this.
  14. lnx

    lnx New Member

    First of all it's clear you didn't actually read my posts, and second isn't it amazing that you are the ONLY control panel on the internet with this opinion? Every other panel has a file manager. It's rudimentary.

    Seems to be a very closed minded opinion on development here. All "it's too hard" "too much work" etc, just a lot of time writing on why you do NOT want to improve your panel, very whiny attitude. Maybe I should just go ahead and fork it? Or is there a better FOSS panel out there to use as a foundation to fork?

    Rather than tell me every reason you don't want to improve your panel and add critical features that most of the internet considers essential and basic, and every reason why you don't want to improve the theme, etc, maybe instead of coming up with every excuse to keep this panel obsolete, maybe you should consider accepting people's advice and adopting a more open approach to development.

    Most software that is professional has at least two versions to deal with this. Nightly and Beta. The one that is not fully tested but working is the beta. Alpha is one that is not fully working and has potentially major bugs but is usable, usually Alpha isn't public but Beta is, and allows users to do the debugging for you. Especially for FOSS, this is really helpful.

    Let me know if you are willing to stop complaining about why you can't do stuff and open your mind to the future of development. If you let this opportunity in web panels pass, then you will have no one to blame when you remain obsolete and eventually shut down.
     
    Last edited: Feb 18, 2023
  15. till

    till Super Moderator Staff Member ISPConfig Developer

    No one here said that it's not good to have a file manager, instead we invited you to the project to contribute if you like. And as @Th0m told you, we already have a feature request for it, and there were discussions on how it could be implemented in the past. I just tried to explain the requirements to implement a file manager in a secure environment with privilege separation and multiserver capabilities. Don't tell me that I have to rethink it as I know what I'm talking about. Instead, you might want to learn what privilege separation on Linux is and what running large-scale server systems means for implementing a file manager and try to understand the whole matter.

    It's not too hard, but someone needs to do this, and most of our dev resources are bound to regular maintenance, adaption to new OS releases etc. If you want to implement a file manager, feel free to do so. Just keep in mind that ISPConfig is a panel that is capable of running larger-scale installations which means you have a central panel server that runs the UI for dozens or hundreds of headless servers, and the file manager must be able to cope with that.

    Do you think that insulting the developers and users of a software you want to contribute to is a smart strategy? I have seen many FOSS hosting control panels and their forks come and go over the years because their makers and the people that forked them underestimated the time and money it takes to develop and maintain them over the long run.
     
    ahrasis and Farsus like this.
  16. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    i've used plesk and cpanel extensivelly... along with ispconfig.
    yes ispconfig is missing features that would make it a full hosting system (invoicing available separately), domain registration, file manager etc... some of that can be overcome by connecting it to whmcs, hostbill, blesta etc.
    yes, i would really like a file manager included in ispconfig.. not for my own use, i'd probably never use it, but it would make it a lot easier for clients, and avoid having to deal with them being unable to work out ftp/ssh etc, but as already mentioned, there are various security requirements to overcome first.. just because cpanel does it does not mean it is actually secure.
    and as for trying to make the ispconfig interface look like cpanel.. no, god no.. cpanel's interface is hideous. and horrible to use, i hate cpanel, regardless of any pricing/business model issues.. and plesk is just a resource hog.
    ispconfig's interface is simple and effective.. yes it could look snazzier, yes it could have more features.. but i find it very quick and easy to use... so does every customer i've had on it.. so much more so than plesk or cpanel.

    if you want to make it look different.. you can do so without touching any of the ispconfig code anyway.. you can make a frontend in any language you like, looking anyway you want to, with the frontend using the ispconfig api to actually make the config changes.

    both plesk and cpanel include a lot of features that clients will never need, probably never even look at.. and it just makes their interfaces look cluttered and complicated, they should not be used as a basis for designing a new ispconfig interface.
     
    Farsus, ahrasis and till like this.
  17. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    To be included is ok, but to be maintained, is not, at least to me. We can add a preferred file manager via ISPConfig AutoInstaller quite easily, I guess, though, choosing one will be another debate. Currently, I am personally using elFinder - a web based file manager - ever since someone introduced it here, in this forum and I've never looked back. Step by step to install it was also shared in that thread, though I can't remember which thread for now. And yes, you'll have to type in the credentials manually but it is easier and safer that way.
     

Share This Page