How to use Virtualmin like cPanel? Remote access to upload files and management.

How can I use Virtualmin like cPanel? I need to access the domain from a remote location and upload some website files. (other controls would be good too, like cPanel)

You can use FTP, SSH or SFTP to access and upload/edit files on your server. More or less you can do same things like with cPanel but Virtualmin is not so user friendly if you dont know at least basics about hosting, its lacking of some “easy to do stuff” and is not full of bloatware, e.g. fancy things no one needs but they looks awesome. On other side Virtualmin is more flexible, offers more customization and “fine tune” then cPanel. Both panels have their cons and pros but if you lack in basic knowledge in hosting (and looks like this is the case) you have two choices: learn at least some basics in hosting and virtualmin or stick with cPanel.
I need to access the domain from a remote location and upload some website files.
If you find yourself asking questions like this that means you are not ready for VPS/Dedi and best would be to keep your production/live sites on shared hosting and in mean time take some cheap VPS and learn how to manage with a help of Virtualmin.

Thanks for the reply.
Yes, I know about FTP, SSH etc…
My question is if there is a GUI like cPanel to added emails etc from a 3rd party’s point of view.
I.e., a paying customer who can edit their website, but not have access to the entire Virtualmin system.

Also, the FTP access is not clear, as I usually upload the website files via FTP or SSH to the LAN IP.
However, I now need a 3rd party to upload website files. They will need an FTP or SSH public WAN IP address and maybe a port number to gain access?
Also, the access should only be limited to the 1 website, not the whole virtualmin system.

My question is if there is a GUI like cPanel to added emails etc from a 3rd party’s point of view. I.e., a paying customer who can edit their website, but not have access to the entire Virtualmin system.

Sure – if you create a Virtual Server as the Master Admin, you would also setup an account for a Virtual Server owner when doing that.

That Virtual Server owner can log in and manage that one account, but nothing else.

They’d be able to add email accounts, manage DNS, databases, and such – but just for that one account, they won’t have access to everything that the Master Admin (root) can see.

-Eric

Thank you for the reply.
That’s great, but I think that’s even too much for what I’m offering.
I setup the Virtual Server and now I need to provide them with an IP address, username and password to FTP or SSH in to upload their website.
How do I do this basic access, as I always access locally with LAN IP 192.168.1.165.
Do I give them my public WAN IP:portnumber?

This would be like a 1st level customer who has little need for technical info.
The 2nd level would be what you suggested where they could manage their website a bit further.

Does Virtualmin have any plugins to create a charging account for these services?

Also, I just searched Virtualmin documentation on how to setup a Virtual Server owners account and didn’t see any clear documentation?
I can guess Edit Users, but maybe you can point me to a clear process?

eiger3970 You should read maybe a bit more about port forwarding, it’s the only way you can do that if you are hosting this inside your LAN. This means you have to configure the router to do that, and it’s less scary than it sounds. But I trust you have a static IP from your internet provider. And Virtualmin works best for the entry level guys if you assign a static IP directly for the server. And of course you have to provide them with the server name or external/public IP address.

Another options from Webmin this time (not really necessary to give them SFTP or SSH - SSH I bet you don’t want to):

  • you can enable the File manager for that domain. They will be able to upload/download files and manage them in a friendly manner. Also edit the files, priceless for small edits.

  • you can also enable the Upload and Download feature, so they can upload a zip, uncompress it and than delete the archive for example, in a certain directory.

You can find those under Webmin > Others. Good luck and test those yourself first, to get a grip. And do not expose your root account under any circumstances.

Thanks.
I went to Virtualmin > selected domain > Webmin > Others > File Manager > IcedTeawebplugin error.
I didn’t see any option to setup a customer user?

I’m guessing I port forward 10000 to the LAN IP 192.168.1.165?

Still not clear on any documentation to set this up and manage permissions?

Well, the File Manager doesn’t work well with IcedTea, only with Oracle Java (my problem for years, but I managed to get it to work partially); install and use Java from Oracle, just accept the certificate and you are done.

The permission management is not a very big deal, you just select in System > Server templates > Administrator’s Webmin modules > File Manager, read the documentation please. You will see that your users who access Webmin for that domain are jailed in their home - a bit problematic if you were to use SSH, that’s why I suggested not to. But test it first. And FTP is totally insecure. SFTP is the real option but maybe beyond your intentions.

And yes, you have to forward the 10000 port (if that is the one Webmin/Virtualmin is using); also 80 to be able to access the website.

I am not experienced with Web/Virtualmin yet but I think you can allow them access to the Webmin panel

What they are allowed to do in that is the same as using CPanel, it is controlled by the plan allocated to that domain

OR

You can set it up under the domain / Administration Options / Allowed capabilities and features

For your ip problem you may want to have a look at the “IP address and forwarding” feature which can be set up when you create the domain, not sure where to look once it has been created.

Hope that helps…

Thank you for your reply.
Java is a real pain. I have Jave installed, jdk installed and this IcedTea thing still causes issues. I’m sure it worked before, so why doesn’t this update to Java?

No, there’s no such path Virtualmin > domain > Webmin > System > Server templates.

Yes, I read documentation, however no clear documentation has been found abut setting up customer access to uploading website files with paths to navigate to.

Okay, I work n the port forward once the customer access setup has a clear navigation path documented.

You can also install Java from Oracle, like the “original Java”, search the web for tutorials, there are lots of them, if your default IcedTea installation doesn’t work. Here it is not the place for a how to in this regard. The problem is only on your local computer that doesn’t load the Java applet from Webmin.

Important: hope you are not using Chrome/Chromium browser because Google removed Java support years ago! Try Firefox for this one.

And AFTER you properly create a domain, using a server template and a plan, with a corresponding user, that user after login will see only his domain and can manage only that. And if you followed what I wrote, they will also have a link in Webmin > Others, called File Manager to that module, that will confine them to their home directory in the File Manager. Simple as that. And they will be able to manage files and directories there, upload, download, edit, so on.

In fact, you can do this “blindly” if yourself can’t access the File Manager, and if they have a working Java installation on their computer it’s their problem. Because it works.

You can’t give rights and access in the File Manager module itself, they are inherited from Webmin and Virtualmin combined. So I guess you don’t know how to create a domain and work with plans/templates/features/modules. Sorry to say - you have to catch up with the documentation, it is quite clear. And don’t expect to get a hang of it in a couple of weeks; these panels are quite complex and require a learning curve. Not your average cPanel/Plesk (oh dear, good for us!). :slight_smile:

Yes, I am using Firefox and I installed Java…again from https://java.com/en/download/help/linux_x64_install.xml#install,
but Firefox shows the error when I go to Virtualmin > domain > Webmin > Other > File Manager:

The folloing exception has occured. For more information, try to launch the browser from the command line and examine the output.
For even more information you can visit http://icedtea.classpath.org/wiki/IcedTea-Web and follow the steps described there on how to obtain necessary information to file bug
Additional information may be available in the console or logs. Even more information is available if debugging is enabled.

Another available info:
IcedTea-Web Plugin version: 1.5 (1.5-1ubuntu1)
1/05/15 10:56 AM
Exception was:
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click “more information button”.
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:746)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:675)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:908)
Caused by: net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option.
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:206)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:79)
at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711)
… 2 more
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:203)
… 8 more
This is the list of exceptions that occurred launching your applet. Please note, those exceptions can originate from multiple applets. For a helpful bug report, be sure to run only one applet.

  1. at 1/05/15 10:56 AM
    net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
    at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385)
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:203)
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:79)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
    at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711)
    at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:675)
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:908)
  2. at 1/05/15 10:56 AM
    net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option.
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:206)
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:79)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
    at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711)
    at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:675)
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:908)
    Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
    at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385)
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:203)
    … 8 more
  3. at 1/05/15 10:56 AM
    net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click “more information button”.
    at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:746)
    at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:675)
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:908)
    Caused by: net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option.
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:206)
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:79)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
    at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
    at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711)
    … 2 more
    Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
    at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2385)
    at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:203)
    … 8 more

Told you two times already - follow some random online “how to” about how to install and use Oracle Java. On any distro “update-alternatives --config java” should let you config which Java version to use, because you are still using IcedTea Java…

It is a local problem, with your computer, not Webmin/Virtualmin related. And any issues regarding this should be posted in the Ubuntu forums. Read here, and just don’t follow it blindly http://www.wikihow.com/Install-Oracle-Java-on-Ubuntu-Linux

Okay, I lodged a fault here http://ubuntuforums.org/showthread.php?t=2276345&p=13276836#post13276836

I also checked the fault with some others and they say it’s a Virtulamin error.

I tried this which fixed this IcedTea thingy last time, but same error now:
sudo apt-get install openjdk-7-jre icedtea-7-plugin > Reboot > Firefox (Chrome doesn’t support it).

IcedTea still broken. Noone knows how to fix it.
Why so many problems with Virtualmin? Is cPanel more reliable?

Yes it is, please use cPanel.

Hello, thanks for the support.
I’ll keep trying as almost there for now.
Will see if cPanel can be setup too later.

So, I tried FTP to:
Host www.domain.com
Username: admin (email address is admin@domain.com)
Password: password
Port: 22.

I port forwarded the router to the Virtualmin LAN IP:10000.

FTP error: Could not connect to server.

@eiger3970: Default port for FTP is 21 (22 is for SSH). You should really spend some time reading at least basics about hosting because doesnt matter what control panel you will use it will always be a problem with something.
This would be like a 1st level customer who has little need for technical info. The 2nd level would be what you suggested where they could manage their website a bit further.
Correct me but by my understanding your intention is to host other people sites on your server located at home? If this is true i think you should learn some basics before you take money from others and stop playing russian roulette with other people data. Giving you advice to help you to quickly patch up your lack of knowledge is no way to go and i would feel personally responsible for all future damage made to your clients. Buy reseller account from some host and cheap VPS so you can host your clients in peace and in mean time learn all what you need about hosting, without fear to screw your clients data.

Diabolico is one of the users with whom I don’t get along here; doesn’t mean he is wrong, just impolite, kinda brutal :slight_smile: But you should follow his advice.

I am not wrong also; usually I am sarcastic because after I try to explain things, help around, offering best options to my best abilities, I find myself writing pages and pages for dudes that are ignoring them. Because for me in openSUSE it works with IcedTea by default; also Oracle. So I end up usually replying to a “vs cPanel post” something like:

Yes it is, please use cPanel.