Help me set up a Linux development box.
April 10, 2007 2:15 PM Subscribe
I have a laptop I’d like to use as a development server / file server. I’d like to install Ubuntu, Apache (if it’s not already in the Ubuntu distro, I haven’t checked) and CVS. I need your help.
I’ve never done this before, and beside connecting to my shared hosting with SSH and using a live cd a few times, I’m basically a Linux virgin. Further, I really don’t know the best practices for setting up a development box, so I’d like to leave this question sort of open.
I’m looking for tips, tricks, gotchas, caveats, how-tos and best practices to make the most seemless environment I can. How would you go about doing this? What should I consider? What haven’t I thought about? What resources should I look at? How can I best bring myself up to speed?
The secondary goal of this is to understand Linux and apache better.
My main machine is running xp pro and I do web development: html, php, python/django.
I’ve never done this before, and beside connecting to my shared hosting with SSH and using a live cd a few times, I’m basically a Linux virgin. Further, I really don’t know the best practices for setting up a development box, so I’d like to leave this question sort of open.
I’m looking for tips, tricks, gotchas, caveats, how-tos and best practices to make the most seemless environment I can. How would you go about doing this? What should I consider? What haven’t I thought about? What resources should I look at? How can I best bring myself up to speed?
The secondary goal of this is to understand Linux and apache better.
My main machine is running xp pro and I do web development: html, php, python/django.
Laptops are not a good choice for this. For one thing, the disk drives in laptops are generally much slower than those in desktop computers. But more important is that laptop HD's aren't designed for that kind of usage pattern. They won't last.
posted by Steven C. Den Beste at 2:37 PM on April 10, 2007
posted by Steven C. Den Beste at 2:37 PM on April 10, 2007
All laptops are not created equal when it comes to Linux. Hardware support for proprietary chipsets and features used in some laptops may be lacking. It's more likely to be supported if the laptop you are using is a mainline machine, with older hardware, but you'd be well advised to verify your machine against the hardware list for the distro you plan to use, than to just blindly start out with an install disc. You might still find that power management, screen lighting and other laptop specific features are wonky, even if you get the machine running on a given distro.
If you're serious about a dev box, put together a bog standard box with Intel motherboard and chip, standard disks, recommended optical drives and network cards, plenty of memory, and be done with it. $500 well spent, that will fade quickly from memory when you have stable, reliable box on which to learn.
posted by paulsc at 2:46 PM on April 10, 2007
If you're serious about a dev box, put together a bog standard box with Intel motherboard and chip, standard disks, recommended optical drives and network cards, plenty of memory, and be done with it. $500 well spent, that will fade quickly from memory when you have stable, reliable box on which to learn.
posted by paulsc at 2:46 PM on April 10, 2007
Laptops are not a good choice for this
Nonsense. Laptops make perfectly good development boxes, where you're running a local web server for one or two users. I'd venture to guess that most of the "Web 2.0" sites that you use were developed on laptops.
Slower RPM drives with shorter MTBF ratings aren't ideal for running live sites (ones that lots of people are using at once), but there are thousands of people running Linux+Apache on laptops while developing web sites and web applications.
It's also worth noting that laptop drives have a much higher tolerance for spin-up/spin-down cycles than do desktop drives. (cite). In some regards, they're more suitable for low-usage boxes than full size drives.
There are very few laptops that Ubuntu doesn't recognize immediately (it's better than any other distribution in this regard). If your unit is a typical one, you'll find that most stuff just works, including the power saving features and things like your dedicated volume buttons.
Apache, CVS, django and the like are all in the standard Ubuntu repositories. You'll be amazed at how easy it all is to install these with synaptic, and you'll never want to go back to Windows again :)
posted by toxic at 3:02 PM on April 10, 2007
Nonsense. Laptops make perfectly good development boxes, where you're running a local web server for one or two users. I'd venture to guess that most of the "Web 2.0" sites that you use were developed on laptops.
Slower RPM drives with shorter MTBF ratings aren't ideal for running live sites (ones that lots of people are using at once), but there are thousands of people running Linux+Apache on laptops while developing web sites and web applications.
It's also worth noting that laptop drives have a much higher tolerance for spin-up/spin-down cycles than do desktop drives. (cite). In some regards, they're more suitable for low-usage boxes than full size drives.
There are very few laptops that Ubuntu doesn't recognize immediately (it's better than any other distribution in this regard). If your unit is a typical one, you'll find that most stuff just works, including the power saving features and things like your dedicated volume buttons.
Apache, CVS, django and the like are all in the standard Ubuntu repositories. You'll be amazed at how easy it all is to install these with synaptic, and you'll never want to go back to Windows again :)
posted by toxic at 3:02 PM on April 10, 2007
Laptops are absolutely fine for this kind of thing. Unix-style web development is pretty lightweight. If it's a recent laptop, it's probably beefier than most virtual servers you can rent.
Install Ubuntu 6.10 desktop. After install, enable the Universe and Multiverse repositories in the Synaptic package manager, and select stuff you want to install. There are entries for apache-mod-python2.4, which will cover everything you need for django. Then just download the django source and install.
PHP packages should all be available in the package manager. Unless you want to run something bleeding-edge you shouldn't need to download any source.
Run your web server so that it listens on localhost/127.0.0.1 and you should be off and running.
Have fun!
posted by ldenneau at 3:14 PM on April 10, 2007
Install Ubuntu 6.10 desktop. After install, enable the Universe and Multiverse repositories in the Synaptic package manager, and select stuff you want to install. There are entries for apache-mod-python2.4, which will cover everything you need for django. Then just download the django source and install.
PHP packages should all be available in the package manager. Unless you want to run something bleeding-edge you shouldn't need to download any source.
Run your web server so that it listens on localhost/127.0.0.1 and you should be off and running.
Have fun!
posted by ldenneau at 3:14 PM on April 10, 2007
"... If your unit is a typical one, you'll find that most stuff just works, including the power saving features and things like your dedicated volume buttons. ..."
Maybe, and maybe not (unless you think Dell laptops, or IBM/Lenovos are atypical laptops).
It bears repeating to suggest that a newbie, interested in learning Linux, start by first verifying hardware against the compatibility lists, and sticking to them. If more newbies did that, there'd be far fewer postings to the help forums.
posted by paulsc at 3:24 PM on April 10, 2007
Maybe, and maybe not (unless you think Dell laptops, or IBM/Lenovos are atypical laptops).
It bears repeating to suggest that a newbie, interested in learning Linux, start by first verifying hardware against the compatibility lists, and sticking to them. If more newbies did that, there'd be far fewer postings to the help forums.
posted by paulsc at 3:24 PM on April 10, 2007
Response by poster: Thanks for all the responses. I won't actually be hosting the site on this computer, so I'm not too concerned with performance, but the laptop is only 4 years old, has 512 MB ram and the Ubuntu live cd I tried on it worked perfectly. And I do development as a hobby/freelance, so very lightweight stuff.
I've never used CVS before either. Is there any problem connecting from my win xp box over my home network? As far as I know I just need a windows client...any suggestions?
posted by miniape at 3:24 PM on April 10, 2007
I've never used CVS before either. Is there any problem connecting from my win xp box over my home network? As far as I know I just need a windows client...any suggestions?
posted by miniape at 3:24 PM on April 10, 2007
If you want to run it as a development server and not as your actual desktop, get the Ubuntu server distro. The installer will go ahead and install Apache, php and mysql if you like. Don't go installing a full x window environment if you want to know how to run a server.
I do almost all of my development/testing in a vmware image that runs Ubuntu Server 6.0.6. No need to have a separate box.
posted by advicepig at 4:24 PM on April 10, 2007
I do almost all of my development/testing in a vmware image that runs Ubuntu Server 6.0.6. No need to have a separate box.
posted by advicepig at 4:24 PM on April 10, 2007
You sure you wanna go with CVS? Subversion (SVN) is hella-more robust and easier to use. Since you say this is all kinda' new to you, I'm assuming you're not necessarily tied to CVS but are getting people's opinions on the matter.
And Ubuntu has a LAMP installation option straight from the CD (LAMP = Linux Apache MySQL PHP). It doesn't get any easier then that!
posted by Civil_Disobedient at 7:21 PM on April 10, 2007
And Ubuntu has a LAMP installation option straight from the CD (LAMP = Linux Apache MySQL PHP). It doesn't get any easier then that!
posted by Civil_Disobedient at 7:21 PM on April 10, 2007
Ubuntu is the most amazingly straightforward piece of complex software I have ever used, bar none. Canonical is doing absolutely outstanding work there, and is IMO well on the way toward fixing Bug #1.
I was recently forced to install Ubuntu Feisty Fawn beta on a friend's machine (none of the earlier Ubuntu kernels recognized her particular SATA controller) and it's even smoother than the Edgy Eft version I'm running on my own Dell laptop.
If Ubuntu runs perfectly on your laptop as a Live CD, it will also run perfectly once installed. The fact that laptops come with a built-in UPS makes them quite good servers for low-traffic applications, IMO.
I think the best way to set up a dedicated Ubuntu box is with three separate disk partitions for / and swap and /home. That way, you can easily do a total system replacement without affecting any of your own files. Once the system's installed, just use Synaptic (or aptitude, or apt-get) to install the server packages you want.
And Subversion really is better than CVS. If you don't already have a bunch of CVS repositories you want to use, pick svn instead.
posted by flabdablet at 10:47 PM on April 10, 2007
I was recently forced to install Ubuntu Feisty Fawn beta on a friend's machine (none of the earlier Ubuntu kernels recognized her particular SATA controller) and it's even smoother than the Edgy Eft version I'm running on my own Dell laptop.
If Ubuntu runs perfectly on your laptop as a Live CD, it will also run perfectly once installed. The fact that laptops come with a built-in UPS makes them quite good servers for low-traffic applications, IMO.
I think the best way to set up a dedicated Ubuntu box is with three separate disk partitions for / and swap and /home. That way, you can easily do a total system replacement without affecting any of your own files. Once the system's installed, just use Synaptic (or aptitude, or apt-get) to install the server packages you want.
And Subversion really is better than CVS. If you don't already have a bunch of CVS repositories you want to use, pick svn instead.
posted by flabdablet at 10:47 PM on April 10, 2007
You might try out the free VMWare server with a ubuntu image (or just install ubuntu in the image yourself, either way). That way you can get the feel of linux in a controlled environment first.
posted by beerbajay at 12:50 AM on April 11, 2007
posted by beerbajay at 12:50 AM on April 11, 2007
Personally, I (very occasionally) run the Windows XP Home that Dell supplied with my laptop inside VMWare Player under Ubuntu. I feel much safer having Windows in a controlled environment :-)
posted by flabdablet at 12:58 AM on April 11, 2007
posted by flabdablet at 12:58 AM on April 11, 2007
There's a new version of Ubuntu being released any day now... might want to wait for that? (6.10 works great for me, but for your purposes latest and greatest might be the best bet, no?)
posted by inigo2 at 5:39 AM on April 11, 2007
posted by inigo2 at 5:39 AM on April 11, 2007
This thread is closed to new comments.
Installing stuff will be a snap. Get yourself acquainted with the GUI synaptic package manager, which is dead simple to use. If apache, php, python, django, whatever is not installed, just find it with the package manager, select it for installation, and you are in business. Also, I'm pretty sure you'll get apache php and python in a stock Ubuntu distro though.
I'd probably start here.
posted by mcstayinskool at 2:31 PM on April 10, 2007