Understanding the DreamHost Structure


I’ve just recently bought a shared plan, and seeing as I’ve previously been an exclusive cPanel user it’s taking a while to understand the structure of… everything.

So here’s what I know:

  • You have one Web ID.
  • Within this Web ID, you can have multiple Accounts.
  • Within each Account, you can have different hosting plans.
  • Within each hosting plan, you can host domains.
  • For each domain you host, you can have FTP users (“Users” in the Web Panel).

Then you have MySQL hosts, which can be created from different domains, and a database can have multiple host names. Each database has users which are completely independent from the FTP/mail users.

Er… well seeing as I only have one Account, and one hosting plan, I don’t know how having multiple Accounts would work, and I don’t know how having multiple hosting plans would work in relation to domain names.

I’m just having trouble trying to picture the heirarchy of everything.


It does take a while to get used to things but after a few days it all starts to fall into place,and,you are correct with your understanding so far.

It is true that you start off with one Web ID but you can add more if you wish, so that you can let others use the control panel with a restricted but not uncompromising set of features that you may decide to set. You can also add all of the domains you have under one user name, so that all the domains can be accessed from one ftp/ssh user, or you can create one username/password/domain setups if you wish.

You can create many MySQL hostnames each with several usernames and or multiple databases containing one or many tables, or, you can just have one MySQL, one user/password (which can be the same as the email username/password if you wish)and one database for use across all of your domains.

So you see it is quite flexible and you can throw in quite a wide range mix of a combination of domain/sub-domain/user/email alias/database user/ftp user/ssh user as you see fit.

Write all those options on coconuts and throw them up in the air and you can see what patterns and combinations you can create when they land! If you have no coconuts to hand use bits of paper.

Once you pass that stage when your head hurts it soon starts to look comparitively simple. An important thing to do is to go through the Control Panel and look at all the options and features. Just click on every option and try a few out. You will not break it and there is always the option to delete what you create.

Try not to compare the DreamHost control panel directly with cPanel so much as realise that each of the two systems only act as a front end, utilising databases, to control and update the various server and system programs running under this Debian Linux using a different cosmetic approach but achieving the same ends.



It’s more like:

  • You have an account
  • Within this account, you can have multiple Web IDs
  • You can create other accounts/hosting plans, and tie it to the same or different Web ID.
  • Within each hosting plan, you can host domains.
  • For each domain you host, you can have FTP users (“Users” in the Web Panel).


I do get things mostly, but as DreamHost uses a different backend setup (as well as a custom web panel), certain things get confusing such as creating users with FTP access to subdomains only, and having non-locolhosts for mysql.

Is it possible to give a different user FTP access to a sub-directory of a domain, and still have PHP and PHP-CGI enabled in that sub-directory? I looked at the Wiki and it said that wasn’t possible.

Also, what exactly does “balance” represent for each account? Currently it’s 0. Does that mean I have nothing left to pay, or that I have no funds in my account? I’ve payed for a year up-front, so what happens if I choose to make a payment through PayPal right now?


I can imagine a new user being confused by the current setup.

You can give an FTP user access to a specific directory of a site, but the process is somewhat convoluted. Additionally, only that user will be able to write to that directory.

This might help: http://wiki.dreamhost.com/index.php/I_dont_want_to_give_a_user_access_to_all_of_my_domains