Page 1 of 1

Help me set up/pick a development server

Posted: Thu Aug 16, 2012 5:43 am UTC
by Steax
I work a lot with writing websites, both front and backends. For years I've been doing it from the comfort of my own machine, and just push stuff to a repo as necessary.

But now I need to set up a separate development machine, and place it somewhere in my house. My goal:
- set up a machine I can get over-the-network disk access
- pick a good linux variant for this machine
- use something somewhat similar to what a web server would use

I still want a desktop environment there: I may want to run profiling and debugging tools. But otherwise, I want it to act like a real web server. Any good distros to look at? Anything in particular I should know?

Also, quite importantly, what's the best way to get network disk access to that machine? I don't want to have to push/pull code to that machine; I want to directly store code there, and edit it live. I assume it will be easy to get access to this machine's Apache/MySQL servers via normal means, too.

(As for 'why': I need this server to work in an environment close to production, and I'm going to be doing heavy stress-testing on it. I therefore want it separate from the rest of my data and programs. It will also serve as a backup environment.)

Re: Help me set up/pick a development server

Posted: Thu Aug 16, 2012 11:00 am UTC
by cerbie
Steax wrote:Any good distros to look at? Anything in particular I should know?
CentOS or Ubuntu Server LTS

Also, quite importantly, what's the best way to get network disk access to that machine?
SSH, and/or Samba. Fish in Konqueror would be a good way to use SSH for file access.

Anything in particular I should know?
If you want to put up and tear down servers a lot, and this machine will not be running headless, learn to use Virtualbox, so that you don't have to keep messing with the base system (note: you want to use bridged networking).

Re: Help me set up/pick a development server

Posted: Thu Aug 16, 2012 11:28 am UTC
by Steax
cerbie wrote:
Steax wrote:Any good distros to look at? Anything in particular I should know?
CentOS or Ubuntu Server LTS


Thanks. I was wondering if there were any other builds more oriented for development than casual/everyday use, but I'll probably go with Ubuntu.

Also, quite importantly, what's the best way to get network disk access to that machine?
SSH, and/or Samba. Fish in Konqueror would be a good way to use SSH for file access.


I think I need full filesystem access, rather than just remote access. I need to do things like let the apps on my machine change code around, then push the code to the testing machine. Of course, if this is too complex, I might just do debug testing on my machine, commit to git, SSH over and pull changes, etc. Works too, just not as elegant.

Anything in particular I should know?
If you want to put up and tear down servers a lot, and this machine will not be running headless, learn to use Virtualbox, so that you don't have to keep messing with the base system (note: you want to use bridged networking).

[/quote]

I do have virtualbox available. I don't expect to tear down too many servers, though. Would having the actual server run within a virtual machine on that testing machine affect the process in any way?

Re: Help me set up/pick a development server

Posted: Fri Aug 17, 2012 9:54 am UTC
by cerbie
Steax wrote:
cerbie wrote:
Steax wrote:Any good distros to look at? Anything in particular I should know?
CentOS or Ubuntu Server LTS
Thanks. I was wondering if there were any other builds more oriented for development than casual/everyday use, but I'll probably go with Ubuntu.
Not that will have quirks that resemble real server environments, no.

I think I need full filesystem access, rather than just remote access. I need to do things like let the apps on my machine change code around, then push the code to the testing machine. Of course, if this is too complex, I might just do debug testing on my machine, commit to git, SSH over and pull changes, etc. Works too, just not as elegant.
If you remote in as root, you'll have access to it all, just as if you were actually at it, instead of the local machine.

I do have virtualbox available. I don't expect to tear down too many servers, though. Would having the actual server run within a virtual machine on that testing machine affect the process in any way?
If you don't have HW virtualization, you should probably not do multicore in the virtual, and expect significant performance drops when you may need interactivity, and generally 10-20% slower operation all the time. With HW virtualization, the differences should be extremely minor, once it is set up, though again, interactivity/timing-sensitivity can still occasionally be an issue (serving webpages doesn't count; routing live telephone calls or video streams might).

Re: Help me set up/pick a development server

Posted: Wed Aug 22, 2012 8:07 pm UTC
by webzter_again
My only addition to the thread is to suggest looking at Vagrant if you haven't already. Depending on how varied the work you do, getting in the habit of setting up and tearing down VMs might be very worthwhile.

Re: Help me set up/pick a development server

Posted: Thu Aug 23, 2012 12:38 pm UTC
by cerbie
I wasn't even thinking of that. http://www.turnkeylinux.org/ is another option.

Re: Help me set up/pick a development server

Posted: Thu Aug 23, 2012 1:13 pm UTC
by Ubik
Steax wrote:I think I need full filesystem access, rather than just remote access. I need to do things like let the apps on my machine change code around, then push the code to the testing machine. Of course, if this is too complex, I might just do debug testing on my machine, commit to git, SSH over and pull changes, etc. Works too, just not as elegant.
Are you familiar with SSHFS, which makes editing files over SSH much more convenient? If I remember correctly, you use a Mac, so FUSE for OS X could be the thing for you. (Also sshfs-gui for a GUI.)

Re: Help me set up/pick a development server

Posted: Sun Aug 26, 2012 3:29 pm UTC
by Steax
Just back from a break. Thanks everyone - I'm going to take a look at each platform and see which one works out best. I likely will just go with blank, off-the-CD installs and make scripts that configure each of them for me, though.

Question - is there a standard way to, say, update a large number of linux VMs/machines from a centralised machine, or something else that makes updating a uniform and controlled process?

And... no, I've never heard of SSHFS (I learned all this stuff on my own). That seems to take care of the entire filesystem issue. Thanks!