dkmb's picture

refer the heading above i would like to know how the VMs networking works and also how have you made the webshell be accessed like that on the browser also i see a lot of VMs use the same IP address so my question is can i power up more then one VM and use them at the same time

Any steps or video tutorial on how the webshell is made to accessed on the browser would be Amazing

Hope i will learn something from you guys

Jeremy Davis's picture

Hi there and welcome to TurnKey! :)

Unfortunately, I'm not completely clear exactly what you're asking, but I'll have a go.

With most VM platforms, for a server, you will need incoming internet. In other words, you need to be able to initiate a network connection from outside the VM. By default, often they provide NAT networking by default. That's fine with a desktop type OS, because then all network connections are initiated internally. So you should be looking for a "bridged" networking mode or something similar.

In "bridged" mode, your VM should be on the same network as the VM host system. Most consumer grade hardware these days uses 192.168.1.x address range (or sometimes 192.168.0.x). Regardless, it should be allocated it's own independent IP address by your network DHCP server. It should appear on your network as a separate computer and be accessible via any other computer on the network.

Assuming that you are using the LAMP appliance; once you have gone through the firstboot process, then you should finish on a screen with the IP address displayed. If you go to that address in your browser, it should load a landing page with links to Webshell and Webmin. Note that they have "self signed" SSL certificates by default, so you will need to click through the browser warnings.

Also for the record, whilst the Webshell can be quite handy, I recommend using a "proper" SSH client if you can. On Linux and Mac, using the default built in 'ssh' command should be fine. On WIndows you will need to install one. Historically PuTTY has been a popular choice. Another is WinSCP (also provides GUI file management as well as a shell). Microsoft now also provide OpenSSH (which is what Linux and Mac use by default).

I hope that helps? If you have more questions or I missed the mark, please try again.

dkmb's picture

Thanks for your beautfully answer

but you missed with my second question which is how did they make the webshell be accessed like that on a web browser ...

It is like a accessing a terminal of a remote machine on my web browser

The last qn

How did they setup the DNS server opencart vm when i access the ip address given through the browser it takes me directly to the website with its names ..


Lastly magento does not work in the browser ..i can not see its web applcation when accessed on browser

Jeremy Davis's picture

Webshell is provided by software called 'shellinabox'. We currently host it behind stunnel so that all the HTTPS services can use the same SSL certs.

It should already be accessible via the same IP (or domain name) that you can access your existing server. As I noted, on the LAMP appliance, by default ti should have links to that (and other stuff) on the landing page.

If you are manually connecting, you just need to ensure that you are using HTTPS and add a colon (':') and the relevant port number (12320 for Webshell, 12321 for Webmin and 12322 for Adminer for the servers that have it) on the end. E.g. if your LAMP server is, then to access web shell in your web browser put the following in the address bar:

Like I said though, as a general rule, I would recommend using a proper SSH client.

Regarding how to set up DNS, that all depends on how you have things set up already and exactly what you are trying to achieve. If you are hosting in a local VM and want your server to be public available via a publicly registered domain name, then there are a few things that you'll need.

Firstly you'll need to configure your router/modem to allow your server to be publicly available. Depending on your hardware and how you want to configure it, you'll either need to configure routing (e.g. port forwarding, port triggering or similar) or have your server within a DMZ. You'll also need to ensure that your ISP isn't blocking the relevant ports. If your ISP is blocking ports, then hopefully they will unblock them for you if you ask nicely. If not, then you'll need to rethink things (e.g. find an ISP that doesn't).

Then you'll need a domain name. If you haven't already got one, you can buy one from any domain vendor, although personally I like namecheap. Then you'll need to configure an A record that points your domain name to your server's IP. If you don't have a static public IP for your internet connection, then you'll either need to get one of those (most ISPs offer them. although you often need to pay extra). Or you'll also need to configure a dynamic DNS service (to update your A record's IP address when your public IP changes). Some routers support that, or you can install a client on your server and configure that. If you want to use the TurnKey Hub to manage your domain, then you can use HubDNS.

Once you have that all set up, then you can use Confconsole's Let's Encrypt plugin to get free Let's Encrypt SSL certificates.

I hope that helps. If there is still stuff that is unclear, please ask and I'll try again.

Add new comment