CloudPanel a free hosting control panel, a great choice to work with Wappler if u are not using Docker ☄️

I like working with Docker because it is a powerful and user-friendly tool that offers many advantages. However, sometimes I have to install some type of panel on a virtual private server (VPS) for different reasons. So far, if it wasn’t Cpanel or Plesk, I used to use Hestia, which I consider the most complete free panel.

But recently I tried Cloudpanel 2.0 and I loved it. It has many advantages, such as the ability to install both Node and PHP applications, good file management, advanced security options, and most of all, it is very easy and fast to install. It also has an intuitive interface that makes it easy to use.

Here is the link to their homepage: CloudPanel
Installing Cloudpanel on a VPS is very easy. You just need to follow these steps:

  1. Log in to the VPS
  2. Download the Cloudpanel installation file
  3. Run the installation command
  4. Follow the instructions on the screen to complete the installation

The first time I tried installing CloudPanel in an Oracle Cloud instance and in less than 20 minutes I had a domain pointing to the vps IP, a control panel installed and a Wappler app written in node working perfectly.

I leave some captures:

Grabación de pantalla 2023-02-10 a la(s) 10.57.01

The only thing that it does not have, unlike Hestia, is an e-mail server, but there are many very cheap and even free mail services depending on the use, such as zoho.com or sendinblue.com.

In conclusion, Cloudpanel 2.0 is an excellent option for those looking for an easy-to-use and feature-rich panel. I highly recommend it for anyone looking for an efficient and user-friendly solution.

10 Likes

You could also check out Virtualmin Pro. It’s super powerful and has a mail server. https://www.virtualmin.com/

5 Likes

Thanks for sharing Max and Keith.

2 Likes

Are you using their new tool DPLOY? Zero-downtime deployment and such

Note:
CloudPanel is good for NodeJS Wappler projects, but not for PHP Wappler projects because CloudPanel comes with Nginx reather than Apache as handler. So the .htaccess file will not be recognize by CloudPanel and you should to manually convert .htaccess rules to nginx rules.

And CloudPanel will never support for Apache:

I don’t see this as a negative, I’ve never used Wappler PHP but I’ve used Laravel before and was fine with nginx rules. Does Wappler not provide with nginx rules? Something in the docs hopefully

That’s right, is not negative, is about that native PHP Wappler project that use Apache as handler as default, it use .htaccess file, and CloudPanel use nginx with no support for Apache/htaccess.
Wappler use all routes inside the .htaccess, so its neccessary to convert that rules into nginx inside CloudPanel in the Vhost tab.
So, for PHP Wappler project I dont see as a good option, for Wappler NodeJS is perfect.

In the config the only handler for PHP projects that I see is Apache, there is not nginx, maybe @patrick or @George can help with this.

Are routes hard-coded in .htaccess? That shouldn’t need to be necessary

Or you can use:
https://winginx.com/en/htaccess

Not tried yet but sounds nice

Well, I guess that’s how Wappler works, it modify the .htaccess file to create the routes, and Wappler PHP projects tends to works only on Apache and not NGINX as CloudPanel works.

Looks good, in fact, I was using chatgpt to convert the rules from htaccess.

Nginx is quite different in configuration:

Nginx does support URL rewriting, but it uses a different syntax than Apache’s .htaccess. The rules are typically placed in the Nginx configuration file, not in a file in the project root folder.

Here’s an example of a simple rewrite rule in Apache:

RewriteEngine On
RewriteRule ^oldpath/(.*)$ /newpath/$1 [R=301,L]

And here’s how you might translate that to Nginx:

location /oldpath/ {
    rewrite ^/oldpath/(.*)$ /newpath/$1 permanent;
}

However, unlike Apache, Nginx does not read configuration files from the web directories it serves. Instead, all configuration has to be in the central Nginx configuration file (or files included by it). This means you can’t simply drop a .htaccess file equivalent into your project root.

If you need directory-level configuration, you would need to manually edit the Nginx configuration file (or files) and potentially reload the Nginx service for changes to take effect.

The htaccess file should be modified to rewrite all routes to index.php, and index.php should be the one holding information about the routes and load (include) the relevant script

This would allow existing Laravel htaccess to work with Wappler

/hello -> index.php -> hello.php

Or figure a way to make htaccess directly rewrite to hello.php without hard-coding “hello”