Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am trying to create a "dev" for my users. In that environment they would access to their own account of PHPMyAdmin, SQL, Subversion and FTP which is not a big problem, but I would like to emulate like if each one would be in their own server.

I mean so that they could change the PHP configuration (for example) and would be done only in its own environment.

Any idea how to do this? Do I have to make something "special" at the installations of my server or something like that?

share|improve this question
1  
What about setting up some lxc's? –  qweet Jul 2 '12 at 15:48
    
thanks, I found out that LXC is very powerful too, I will give it a try! thanks –  jpganz18 Jul 2 '12 at 21:54

2 Answers 2

(Disclaimer: I have no experience with lxc as suggested in the comment)

I would like to emulate like if each one would be in their own server.

Personally, I'd give them their own (virtual) server just using OpenVZ. It's really simple to install, and you can get a lightweight GUI client for it if you need one.

The idea would be you create a single template which you then deploy to each user who gets their own server. They'd be able to have root inside their virtual machine, but this would be completely isolated to just their machine. It'll simulate perfectly what would happen if they had their own (dedicated) server, and the beauty of this is you can use the tools provided (such as vzmigrate) to migrate their machine over a new host if they need more resources (RAM, Disk, etc) - without having to reinstall a single thing. The overhead of OpenVZ is minimal, so it's not uncommon to have one dedicated host with just a single OpenVZ VM due to that portability.

The other advantage is because they have root, they can go ahead and install whatever software they like in their container, since some developers may need a different version of PHP or Apache, custom Apache modules, or just some other server-side software for their development work.

share|improve this answer
1  
I have LXC experience, and it's just a little too rough at this point to recommend. However, the general idea of containers makes sense, so OpenVZ is a good option. –  ewwhite Jul 2 '12 at 16:40
    
Thanks, sounds pretty good, but, will they be able to connect to my svn server even if is locally installed? the server is only for my local area, will this be possible? –  jpganz18 Jul 2 '12 at 17:17
    
Yes, if you ensure each of the containers is placed on the same LAN as you (e.g. you give each containers a 10.x or 192.168.x address) then they'll be able to connect your SVN server. Even if it's on a different LAN, you can use some port forwarding at your router to make it work. –  Jay Jul 2 '12 at 17:42
    
thank you!! I am trying now... I will write a reply saying how it works! –  jpganz18 Jul 2 '12 at 21:52

Take the easy option and give them all a Vagrant VM, pre-configured with what you need to install (via Chef/Puppet) and let them go for their lives. Scales better, too, because they're not all using the one machine (each dev presumably has their own workstation) and they can work when they're not connected to the central server, too.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.