Has anyone tried or researched into making a cpanel plugin to use caddyserver as the web server for cpanel/whm? I think this would make caddyserver extremely popular because of its simplicity, ability to have automatic http2 and let’s encrypt ssl certificates. Right now with cpanel to get a free ssl you have to use an additional plugin that enables/get the LE certificate. If it was seamless I bet a lot of system admins would change.
Also, I feel people would love to move away from apache (default cpanel install) and go to caddyserver since it’s nice and fast
I have no idea how CPanel works, but I think something would have to be written on top of Caddy (pre-processing of configuration to generate caddyfiles, etc.) to make it usable in a shared hosting environment.
It would and I feel like it would need a lot of work! I understand there’s a lot of Apache/Litespeed features that make it ideal for the task, features that would have to be handled in a layer between Caddy and cPanel.
No doubt it would vastly increase Caddy’s adoption (shared hosting makes up a huge amount of the internet), but I think the endgoal is not for Caddy to be used everywhere for the sake of it, but rather for Caddy to be perfectly simple for the people who do use it.
Also, I do not see shared hosting as the future of Internet web hosting. So for me, I do not find it worth my own time to invest in such technology. I think cloud instances / VPS have a much more promising future for quality sites.
I do not know if it is in your interest but I have a project in Github that implements a Cpanel/Plesk-like solution using Docker, docker-compose, Caddy, MySQL, PHP7 / 5, all based on the concept of containers without being a shared hosting .
@daspanel Actually, I’m gonna hold out on the tweet until the Download form on that website is fixed, and the page is over HTTPS (you’re asking for a password on plain HTTP ) - just let me know when it’s working better.
@matt In fact, the form of the site that asks for a password generates the ZIP file in memory, in the visitor’s own browser and nothing passes through HTTP. Of course you’re right that the site has to work with HTTPS. As the site was in testing I hosted it in Github Pages and had no way to set up an SSL certificate for it. I will set up a server for it now in the afternoon and will notice you when it is running with HTTPS enabled.
@Whitestrake Yes it can integrate with WHMCS because all control panel functions have an endpoint in the rest API. If you install it on your local computer you can view the documentation and use the API by visiting this address http://api.daspanel.site:5000/1.0/sites/ui/ in your browser. This address uses the SWAGGER (OpenAPI) specification and presents usage examples, including using the CURL command line. Any REST client library can be used to interact with the API. The address DASPANEL.SITE is a domain that I registered and that resolves any name to 127.0.0.1, the goal is to avoid the need to keep changing the /etc/hosts file when using DASPANEL on a local computer.
Looks promising, but very rough at the moment. There’s some interesting UI decisions, and I get the occasional “site returned no data” when performing certain actions. Uploading a zip file always ends up with an error, but the upload and unpack still seems to work.
Biggest issue is that despite creating the site, database, uploading the zip etc., I get No such site at :80 when previewing my site. Tried disabling/enabling, creating config, reloading Caddy.
Quite an ambitious looking project, I’d be interested to see how it progresses.
@Whitestrake Yes the project is in the pre alpha stage and there is a lot to be done. The purpose of his disclosure now is to get feedback about bugs, features to be implemented, and about the design of the system as a whole.
About the problems you encountered:
Are you using it on your local computer, ie, accessing using daspanel.site as the base domain or installed it on a remote server and use a domain of your own?
What the preview URL generated the error “no such site at :80” ?
I suspect it has something to do with the size of the zip file being downloaded and the API server timeout.