How-to: Setup apache for a multi user shared hosting environment

Basic setup of a multi user hosting environment on Ubuntu or Debian.

This is a very simple, minimal and safe setup which allows users to have their own web sites hosted in a central web server. The main advantage of this method is that it is very secure.

The main features of this setup are the following:
  • Each user has his own home directory
  • Each user can have one or more websites hosted
  • Web server does not need extra configuration regarding users, groups etc.
  • Users are owners of their website(s) and can connect and modify their sites at will.
  • Users can only view the web directories that they own.
  • Simple and fast setup


  1. Login as root
  2. sudo su -
  3. Create user with his own home dir
  4. useradd -s /bin/bash -m -d /home/<username> <username>
  5. Assign a password to the user
  6. passwd <username>
  7. Create virtual host's directory and set permission to user and group. 
  8. mkdir -m o-rwx /var/vhosts/<site>
  9. Change ownership of vhost directory
  10. chown -R <username>:<username> /var/vhosts/<site>
  11. Add apache user www-data to user's group
  12. usermod -a -G <username> www-data
    The statement above gives apache web server the required permissions in order to run effectively all of the user's websites.
  13. Check the groups that the user www-data belongs to:
  14. root# groups www-data
    www-data : www-data <username> ...
  15. Create virtual host or virtual directory apache configration
    • Virtual directory setup
    •         Alias /<subsite> /var/vhosts/<site>
              <Directory /var/vhosts/<site>
                      Options None
                      AllowOverride All
                      Order allow,deny
                      Allow from all
    • Virtual host setup. Let's assume <site> is A sample config virtual host config could be similar to the configuration below:
    •         <VirtualHost *:80>
              ServerAdmin webmaster@localhost
              DocumentRoot /var/vhosts/
              <Directory />
                      Options FollowSymLinks
                      AllowOverride None
              <Directory /var/vhosts/>
                      Options Indexes FollowSymLinks MultiViews
                      AllowOverride All
                      Order allow,deny
                      allow from all
              CustomLog ${APACHE_LOG_DIR}/ combined
              ErrorLog ${APACHE_LOG_DIR}/
              # Possible values include: debug, info, notice, warn, error, crit,
              # alert, emerg.
              LogLevel warn
  16. Reload/Restart apache
  17. service apache2 reload
    In case reload doesn't work (although it should) try restart:
    service apache2 restart
  18. Ready!


  1. This comment has been removed by a blog administrator.

  2. This comment has been removed by a blog administrator.

  3. This comment has been removed by the author.

  4. Thanks for the guide!
    I prefer to use Web Hosting Services but this was pretty useful

  5. Hi,

    Thanks for sharing a very interesting article about How-to: Setup apache for a multi user shared hosting environment. This is very useful information for online blog review readers. Keep it up such a nice posting like this.

    Best Web Design Company in Bangalore

  6. Most Reliable offshore Web Hosting I have ever used Visit website here.

  7. I was very impressed by this post, this site has always been pleasant news Thank you very much for such an interesting post, and I meet them more often then I visited this site. Shared Hosting

  8. All the contents you mentioned in post is too good and can be very useful. I will keep it in mind, thanks for sharing the information keep updating, looking forward for more posts.Thanks
    ddos protected hosting

  9. Great info! I recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have.
    our speed

  10. Great post, and great website. Thanks for the information! start a business make money online

  11. replica rolex watches uk, combining elegant style and cutting-edge technology, a variety of styles of replica rolex sea dweller watches, the pointer walks between your exclusive taste style.

  12. Thanks for taking the time to discuss this, I feel strongly that love and read more on this topic. If possible, such as gain knowledge, would you mind updating your blog with additional information? It is very useful for me. Pressure Cleaning Services

  13. You know your projects stand out of the herd. There is something special about them. It seems to me all of them are really brilliant! power washing services

  14. Most of the time I don’t make comments on websites, but I'd like to say that this article really forced me to do so. Really nice post! industrial pressure washing

  15. This was really an interesting topic and I kinda agree with what you have mentioned here! wichita jewelry

  16. Yes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!THANKS!!!!!! How-To Do a Successful Product Launch on Your Website

  17. I learn some new stuff from it too, thanks for sharing your information. Agen Slot Online

  18. are you looking for best web hosting then click best web hosting

  19. As claimed by Stanford Medical, It's indeed the SINGLE reason women in this country live 10 years more and weigh an average of 19 kilos less than we do.

    (And realistically, it is not about genetics or some secret-exercise and absolutely EVERYTHING to do with "how" they eat.)

    P.S, I said "HOW", and not "WHAT"...

    Click this link to determine if this easy test can help you find out your true weight loss potential

  20. Thanks for a wonderful share. Your article has proved your hard work and experience you have got in this field. Brilliant .i love it reading.

  21. Starting a new business can be a challenge with many obstacles to overcome. Having a set of goals can help you focus so you can be successful in launching your new company.

  22. This comment has been removed by the author.

  23. You made such an interesting piece to read, giving every subject enlightenment for us to gain knowledge. Thanks for sharing the such information with us to read this... Web Hosting

  24. Thanks for a very interesting blog. What else may I get that kind of info written in such a perfect approach? I’ve a undertaking that I am simply now operating on, and I have been at the look out for such info. Web Hosting

  25. Thank you for such a well written article. It’s full of insightful information and entertaining descriptions. Your point of view is the best among many.