FTP (File Transfer Protocol) is a method for you to move data from one computer to another. It is commonly used to transfer web data from your local computer to the remote server. This allows you to develop a website locally and then upload it to the remote server to be published to your domain.
Unfortunately, FTP is not considered a "secure" protocol. Basically, that means that incoming/outgoing data is unencrypted and in plain text (which means an exceptionally sneaky someone could eavesdrop on what you're sending). However, if your Dreamhost user is setup as a shell user (as opposed to an ftp user), you can use SFTP using SSH, an option found in some of the more full-featured FTP clients such as FileZilla, to transfer data back and forth securely with encryption.
If you have a VPS, you can disable FTP and further secure your VPS.
Getting your FTP Login Credentials
If you signed up with a hosting plan, you should've created your FTP user during the sign-up process. You should've then been emailed an automated email from DreamHost with the login information.
You can also view a copy of this email and all other correspondences between DreamHost and yourself in the panel at Support > Support History.
Locating the Correct FTP User
You can find the FTP username that is attached to your domain's hosting in the panel. Just login and navigate to Domains > Manage Domains.
Once there, you will see the user in the domain name's row. Example: Fully Hosted / User: myuser
Resetting your FTP User's Password
If you don't know your username's password, you can change the password for that user in the panel. Even better yet, you don't have to know the existing one! Just login to the web panel and navigate to Users > Manage Users.
Next, click the edit button for your user.
Now on this page, you can change the password. Go ahead and do that and then save the changes.
Finding Out your FTP Server Hostname
If your domain's DNS is setup to point to your hosting here at DreamHost, then you may use your domain's name as the FTP hostname.
If you don't have a domain setup quite yet, you may also use the server's hostname. To find out what server you are on, login to the DreamHost web panel and navigate to Billing > Manage Account. Underneath the Domains Hosted section, you should see something like (User "myuser" on myserver) under the Hosting Type column for the domain.
Now, just replace "myserver" here: myserver.dreamhost.com
FTP Client Software
All operating systems come with a built-in FTP client that runs from a command prompt, using the command
There are also some more full-featured FTP clients available for various operating systems that support some extra features:
- WinSCP - now supports SFTP and FTP
- Seagull FTP
- Using Windows XP as an FTP client (no longer recommended)
Mac OS X
- Konqueror A versatile web browser, (s)ftp client, file browser, image viewer etc. Included with KDE. Input the address of the server you want to connect to in the address bar and press enter:
- Nautilus (GNOME) as FTP or SFTP client.
- Kasablanca (KDE)
Web Browser FTP Support
All modern web browsers (Internet Explorer, Firefox, Opera, etc.) come with a built-in FTP support as well that will do in a pinch (for downloading only). Just punch in ftp://USERNAME@EXAMPLE.COM/ (replace username with your DreamHost username and example.com with your domain name) and enter your password when prompted.
DreamHost WebFTP Support
You can also connect to your site via WebFTP. This isn't intended to be a full featured FTP client, but will suffice when you don't have one handy. Uploads are limited to 2MB, but you may find it very useful for features like easily moving files, and editing pages live (though DO NOT edit perl scripts or crontab files with this editor, as it will "break" them).
Once you have your FTP program open and running, you will still need to point it somewhere to upload files. You'll need to enter the 'hostname' of your site (often called a domain name or server, depending on the FTP program). For example, if your site is viewable at 'www.dreamhostrules.com', the hostname would simply be 'dreamhostrules.com'.
If your domain hasn't been set up yet (not registered or not transferred to DreamHost) you can still upload your site directly to your machine name temporarily. You should have gotten the name of your machine in a welcome email. It will be of the form machine.dreamhost.com.
Next, you'll probably be prompted for a username and password. These values should have been given to you when you first signed up. If you have any questions as to what they are, please feel free to ask.
You may also be asked for a starting directory. This tells the FTP client where to put you within the directory structure of your account. Almost all web site files need to go into a directory named after the domain they are hosted under, or a subdirectory beneath that directory, not in the root of the account! Although putting your files directly into the root directory will not break anything, this will certainly prevent you from seeing your site until you move them. For the starting directory setting, you should put in a value such as /dreamhostrules.com/ (assuming that was your domain name).
Setting up Dreamweaver for FTP with DreamHost
There are a few specific things you should know when setting up Dreamweaver for FTP access.
1. The FTP host is just your domain name. ( ie. domain.com, NO ftp:// ) 2. The Host Directory should NOT be left blank. It is usually [yourdomain.com]. To find out exactly what the Host Directory should be, go to the panel, click on Domains->Manage->Edit. The host directory is in the last field on the line labeled Web Directory.
Configuring your FTP client to show hidden files is a process that differs significantly from each FTP client. Instructions for doing so using many popular FTP clients can be found below:
1. Open up the website that you would like to see the hidden files for, and connect to the remote server 2. Click on the "drop down menu" button in the top right of the "Files" sidebar 3. Select "View > Show Hidden Files"
1. Go to www.yoursite.com/fileman/fileman.cgi? 2. Select the 'web' folder 3. Select Preferences from the tools menu. 4. Tick the 'File Display' -' Do you want to show hidden files?' checkbox (NB: The directory will refresh showing the hidden files.) 5. You can then delete / copy / move the file using the Commands menu.
1. Enable "Force showing hidden files" from the "Server" drop-down menu.
1. Choose Settings from the Edit menu. 2. Select Remote file list under Interface settings in the tree on the left. 3. Make sure that the Always show hidden files checkbox is checked.
In CuteFTP (not Pro)
1. Go to Sitemanager. 2. Choose the connection and click edit. 3. Make sure filters is checked. 4. Press the filter button towards the bottom. 5. Check [Enable remote filters (Server applied filter)] 6. In the box below add -al 7. Hit apply, now log in with that connection.
In CuteFTP 8.0
1. Go to Site Manager. 2. Highlight your DreamHost connection. 3. Select the 'Actions' tab. 4. Click on the filter button towards the bottom. 5. Check [Enable remote filters (Server applied filter)] 6. In the box below add -al 7. Hit apply, now log in with that connection.
In CuteFTP Pro
1. Go to your "Site Manager" 2. Right click your DreamHost FTP account that I have created. 3. Right click on it (Alt+Enter When its Selected) and go to "Properties". 4. Click the "Actions" Tab at the top of the dialog. 5. Click the "Filter..." button at the bottom of the dialog. 6. Click and enable "Enable server side filtering (server appliesfilters)". 7. In the "Remove filter:" box, type in "-al". 8. Click "Apply", then "OK". 9. Re-Connect to your DreamHost FTP server.
1. Right click on the connection before logging on, select "properties" 2. Select the "startup" tab. 3. Enter "-al" (without quotes) in the Remote file mask field.
1. Open the Preferences. 2. Click on the 'Misc' tab 3. Click on the 'Obscure Options' popup menu. 4. Check the 'Send LIST -al to UNIX servers'
1. Click the checkbox that says 'Show Files Starting with "."'
1. Open the Preferences. 2. Click on 'Files' in the Toolbar. 3. Check the box that says 'Show all Hidden Files."
In FTP Voyager
1. Select a profile in the FTP Site Profile Manager. 2. Click on the 'Advanced' button. 3. Select the category 'Connection'. 4. Enter "-al" in the Extra LIST Parameter.
1. Right click on the connection before logging on. 2. Select "properties". 3. Select Category > Options > FTP. 4. Select the All entries option under Directory Listing Options.
1. Choose Options from the File menu. 2. Select the Transfers tab. 3. Change the LIST command field to "LIST -a" (without quotes).
Where do I put my files once I've connected via FTP?
You should see a folder called yourdomain.com (or if you put in a different folder name when adding the site in the panel, you should see that listed instead). Upload your files there.
If you don't see that folder yet, you probably just have to wait a little bit longer.. but you can also go ahead and just make it yourself in your FTP client (be sure to make it all lowercase, and without the "www."!). Make sure you're logging in with the user associated with that domain as well. Only one user has access to that site, not just any FTP user you add through the panel. You can check the user in the Panel > Domains > Manage Domains > edit.
Also, note that the first page you want to be shown when people visit your site (for example, your homepage) should be called index.html, all lowercase. Other extensions will work as well, you're not limited to html; .htm and .php will also work. index.html and index.htm will be served instead of index.php if both are present. Otherwise, when users connect to yourdomain.com they will see a list of files, rather than your default page.
Using FTP from SSH in your domain
If you log to your domain by SSH, you could use FTP to sync its files with a different domain without downloading them to your local computer.
For doing so, instead of using the 'ftp' client, it's better to use the 'ncftp' client, already installed on Dreamhost servers.
Once connected with ncftp, if you want to send local files and directory, from current directory, to the remote server, you issue the command:
>put -R .
It will ask you if you want to Overwrite, Skip, Overwrite All or Skip All.
If you have SSH access to both servers, there are better options, like rsync