Website Content

Uploading and Editing Website Data

Document Root Directory

Website HTML content and PHP applications reside in public_html within the home directory of the virtual server. For example, the website content for would reside in /home/virtualmin/public_html.

Sub-servers reside within a sub-directory of their parent virtual server home. For example, resides in /home/virtualmin/domains/, and thus web content would be located in /home/virtualmin/domains/

CGI Scripts

CGI scripts reside in the cgi-bin directory within the virtual server home directory. For example, the CGI applications for would reside in /home/virtualmin/cgi-bin.

Uploading Files

There are several ways to upload content to your Virtualmin account. You can use any of them or all of them, based on your needs and skills.

SSH, SCP and FTP over SSH

The preferred method for sending many files, directories of files, or very large files, is the SSH protocol. SSH is a fast and secure protocol, that allows you to safely login, upload and download files, and manage existing files. SCP is the name for file transfer commands that work using the SSH protocol. Likewise, FTP over SSH (sometimes also called FISH, or SFTP) is a mechanism for providing FTP-like service over a secure link.

There are many graphical and textmode clients for the SSH protocol available for free and commercially.

We'll cover where to find SSH-capable clients for your Operating System, and we'll provide a few examples of using them to manage the files in your Virtualmin account.

Windows SCP Clients


The best free command line SCP client is called pscp.exe and it can be found at:

It is related to PuTTY, which is a very nice free SSH client.

After you've placed the pscp.exe file into your system path, using it is quite simple. In a DOS shell, simply enter a command like the following:

C:\> pscp.exe myfile.htm user@domain.tld:/home/user/public_html

Then, enter your password at the prompt, and hit enter. This will copy the file "myfile.htm", located in the current directory, to the /home/user/public_html folder on the Virtualmin server.

Windows graphical FTP clients


A free graphical FTP client that supports FTP over SSH is Filezilla. Filezilla Home Page.

To Configure Filezilla:

  1. Download and Install Filezilla
  2. Run Filezilla
  3. File -> Site Manager ->
  4. Click "New Site" -> Give it a name such as "example"
  5. In the top right "Host" box fill in ""
  6. In the "Servertype" box choose "SFTP using SSH2"
  7. "Logontype" choose "Normal"
  8. Fill in the "User" and "Password" boxes with the virtual server owner username and password respectively.
  9. In Virtualmin -> Webmin -> Servers -> SSH Server
  10. Access Control -> Only allow users -> add the above virtual server username
  11. Click "Save" -> Click "Apply Changes"

Your admin user will be able to use a graphical FTP style program or Dreamweaver to upload their pages now.


Another good free graphical FTP over SSH option is WinSCP:

WinSCP Home Page

After installation, simply start it up. It will ask for your login information. Enter the details as provided by your system administrator for hostname, username, and password. Then click Login.

Now you'll see a window displaying the files in your Virtualmin account home directory. You can copy files into your public_html directory to make them accessible via the webserver, or into the cgi-bin directory, if the files are executable CGI scripts.

Mac OS X SCP Clients


Mac OS X includes the free OpenSSH SCP client, called simply scp. Usage is just like Linux and UNIX scp clients. Open a Terminal and execute a command like the following:

$ scp myfile.htm user@domain.tld:/home/usr/public_html

After this hit enter, and then enter your password.

Linux SCP Clients


Like Mac OS X, all Linux distributions include a complete SSH implementation, including the scp command. Run the following to copy a file named "myfile.htm" to the domain.tld server using the username "user":

$ scp myfile.htm user@domain.tld:/home/usr/public_html

After this hit enter, and then enter your password.


gftp is a popular Gnome-based graphical FTP client that also supports scp and FTP over SSH protocol connections.

Download it for free from here:

gftp Home Page

Or, preferably, simply install the package provided by your OS vendor. gftp is very popular and is available from the majority of Linux distributions, so you don't need to build it yourself.



Your FTP client should be configured to connect to yourdomain.tld, or, if DNS has not yet propagated, you could use the IP address or temporary hostname given to you by your administrator (which will be of the form youdomain.hostdomain.tld). You will use the domain account name and password given to you by your system administrator. Note that, by default, only the domain account has FTP access to the website data for your account, and additional users are only email users.

Webmin File Manager Applet

The Webmin File Manager applet is documented in detail in the Webmin Documentation.