4

In our university we want to create simple web hosting for our students. Our web hosting is supposed to provide following features:

  • Every student has it's own folder where he can upload his website
  • One web site per user
  • Each student has a limit of 100Mb of disk space in the server
  • Server supports PHP+MySQL
  • Students can access their folder via FTP and only have access to their own folder

Could you please propose any free application(s) which could help us in order to organize this kind of web hosting in our Ubuntu server?

Thank you!

0

2 Answers 2

3

Way to many steps to explain, but here http://www.howtoforge.com/perfect-server-ubuntu-12.04-lts-apache2-bind-dovecot-ispconfig-3

This is the easiest method since you need to know almost nothing to get everything up and running. Just follow the tutorial.

After you get everything going just setup your DNS and then your sites and users. I usually use ssh/sftp over ftp since it is encrypted, but either should work once you create an account. They should also all be in virtual hosts so no need to worry about wrong permissions. Just make sure you keep them in the "jail" when creating the user account. This will all make more sense once you play around with ISPConfig

2
  • 1
    While this tutorial is nice if you need all those services, he would get much more services (an possible security problems) than he asks for. A better answer is needed imo.
    – Floyd
    Oct 4, 2012 at 5:20
  • You could always elaborate the potential security risks you speak of and how to avoid them.
    – Goddard
    Oct 4, 2012 at 17:11
0

Apache supports per-user web directories. This in combination with per user quotas (should be fairly easy to google), and an ftp server should do the trick.

In order to only access the home folder, I guess you could assign /bin/false as the user's shell. This disables SSH access. Then only the ftp server needs to be configured. That configuration depends on what kind of ftp server you will be using.

Disclaimer: I haven't tried this, but this would be my first approach. Anyone feel free to enlighten me :)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .