views:

1413

answers:

14

Does anybody know an ISO image of a up-to-date Linux distribution aimed at web developers with one, some or all of the following features:

  • LAMP stack readily set up (Readily installed Apache 2, virtual sites directory structure (hosting), PHP installed, mySQL installed)

  • Ruby/RoR set up for a beginner to start with

  • Subversion set up for multiple repositories

  • Firewall configured for functioning as a web server (Port 80 open, not much else)

  • Python and Trac installed and integrated with Apache (Multi-environment capable)

Background:

I have a powerful new workstation and would like to set up a number of virtual machines for testing, development and version control, preferably on Linux. The machines will not be exposed to the public.

I would like to save as much installation and set up work as possible - setting up everything from the above list would cost me weeks if I'd do it alone.

Bounty

I have had to put this on the shelf for the time being due to other, more pressing projects. The suggestions made are already a brilliant list; I'm putting a bounty on the question to try and gather as much input as possible, so this can be the reference question on the issue for future generations.

I will be awarding the bounty either based on popular vote or on a whim, from what looks the best solution to me.

+26  A: 

Set up a Debian or Ubuntu Server Edition. Easy to set up, and it takes one day to install/configure everything that you listed above with tutorials, even if you are beginner, and nothing is buggy.

erenon
Maybe setting all this up is easier than I thought nowadays. I'll look into the Server editions, cheers.
Pekka
A day? It takes 10 min. max. Just use apt-get
troelskn
@troelskn: Configuring and customizing Trac in 10 minutes? I whish I could do that.
erenon
To easily set up the lamp stack: sudo tasksel, then select lamp.
Cryophallion
@Erenon: Doesn't look too difficult, but mind you I've never used it: https://help.ubuntu.com/community/Trac
Cryophallion
And once you've got one installed you can snapshot it and just reuse the image.
HerbN
I know that in the past, the users of Ubuntu , on UbuntuForums.com , have created post-install scripts for turning your machine into a media server. perhaps someone has prepared a post-install "developer setup script" and if you not someone could? Also, you could use "Kickstart".
djangofan
+1 Ubuntu server edition is great.
Luke
It is even easier. tasksel allows easy installation of groups of packages like that. it would be very easy to create a tasksel configuration to contain all the necessary above.
txwikinger
+8  A: 

Try searching in the VMWare appliances directory. Choose 'Operating Systems' and search for 'LAMP'

Steen
+1 Nice List, thanks!
Pekka
+22  A: 

That's a very specific list! A quick exercising of my Google-fu leads me to Noys, which has the following software pre-installed.

  • Apache 2.2
  • MySQL 5.0
  • MySQL Administrator
  • MySQL Query Browser
  • PHP 5.2 with some important extensions (PDO, MySQL, PEAR)
  • XDebug
  • NetBeans 6.5
  • Subversion with Nautilus integration
  • Firefox 3.0.7 with some great extensions (Firebug, Web Developer Toolbar, Greasemonkey)
  • gFTP
  • GIMP 2.6

Any distribution with a decent package manager should take care of a lot of the grunt work for you though.

Alex Barrett
+1 Your Google-Fu is mighty, Sir. I will take a look into this.
Pekka
looks interesting
Elzo Valugi
+19  A: 

Seriously, I think the best thing to do is create your own. Some people for example use Redmine instead of Trac. Finding a pre-configured VM with these specific installation is going to be difficult.

So, having the "create your own" as a precondition, I believe you have the following options:

Use a a "VM Aware" distro


Ubuntu Server comes to mind: it has an option to install a minimal installation specific to VMs.

Download the server ISO image, boot from it, press F4 on the first screen and select "Install a minimal virtual machine".

  • Less than 380MB installed footprint
  • Specialized server Kernel (-virtual)
  • Optimised for VMWare ESX, VMWare Server and KVM Intel or AMD x86 architecture
  • Minimum memory 128MB No
  • graphical environment preloaded as it is aimed at server virtual appliance

IMHO, you're going to spend at most a day configuring your VM to your tastes, not weeks. Using apt-get is going to save you some time in almost all packages in your feature list.

...and if you want even more customization, you can even try to use vmbuilder.

vmbuilder is a script that automates the process of creating a ready to use VM based on Ubuntu. There is no need for a JeOS CD image. The currently supported hypervisors are KVM, Xen and VMware.

Use a well known distro and "stript it down"


Instal a minimal Debian system and strip down some features, or create a small live image and use it.

Use Linux From Scratch (LFS) and build a system only with essential software


This is the most difficult one and you're going to spend a lot of time.

But you'll be able to have a really small distribution and understand how a Linux system really works. Understanding how everything works you can install just what is needed in your setup, and use lighter binaries like Busybox.

There's an old project called Debian From Scratch (last update is from 2006, so I don't know if it's reliable) that aims to do the same LFS does but using Debian.

(...) is a unique distribution that allows you to install a Debian system with almost the same level of control as what you would get with a Linux From Scratch installation but with the Debian advantages (easy to update and maintain).

You just want a Damn Small Linux out-of-box solution


Well, you can try Damn Small Linux, it's only 50mb and Debian Based and I believe it's the most famous minimal distribution (you can check more distros in this list). I just don't know how it would perform in a Web Server Development scenario.

Final advice


To all situations above, after configuring, save your VM as a default one for future use. Or better, use snapshots, each one with minor differences you may have with your installation (beware though that controlling too many snapshots may be a little cumbersome).

"I don't want to configure my own"


If for some reason you didn't like my approaches or don't have too much time to follow my advices ("create your own vm") you can check this question on ServerFault. There's a list for a bunch of appliances from different distros.

...but if you're going to test a bunch of them, to see if they fit your needs, why not just use the time spent with them creating your own?

GmonC
The minimal option sounds *very* good. Thanks for bringing this to my attention.
Pekka
+2  A: 

I'm not aware of one which specifically meets these requirements, however I have experimented with PCLinux OS bootable CDs where you can extensively customize the system after starting it up (installing direct from the internet with easy to use tools) - I'm not sure if it directly supports saving the resulting image, but if you were to run it within vmware then snapshotting the system is a no-brainer.

If you wanted to create your own image (e'g' if you needed to redistribute a natively bootable image) then I'd suggest you have a look at puppy linux - which is very easy to customize.

C.

symcbean
+6  A: 

I don't know of one. I would suggest building your own distribution or image. If you do, please distribute it.

HerbN
Good point! If I go this route, I definitely will.
Pekka
+4  A: 

You may want to try turnkeylinux. They have all the images you need from LAMP stack to ROR.

magictalong
+3  A: 

There is one that I know of called Excelixis 1.0 (previously Workbench linux). Check it here:- http://excelixis.wordpress.com/excelixis-details/

It is based on Ubuntu 8.04, and the ISO developer seems to suggest that with the next Ubuntu LTS (10.04), there could be an update for it.

It has the following preinstalled:-

Development

* GCC, G77, Sun JDK, FPC, Python
* Eclipse (+ All Callisto Repository Plugins)
* NetBeans 6
* Monodevelop
* Anjuta
* Glade
* Gambas 2
* Lazarus
* wxGlade

Web Design & Development

* Apache, PHP, MySQL Servers (XAMPP)
* Kompozer
* Bluefish
* gPHPEdit
* Cssed Editor

Development Utilities

* SVN WorkBench
* Geany
* PoEdit
* HexEditor
* ManEdit
* Umbrello UML Modeler
* regExxer (advanced search & replace tool)

Graphics

* GIMP
* Inkscape

Network

* Firefox Web Browser
* Thunderbird Mail/News Client
* Filezilla FTP Client
* Transmission Bittorrent Client
* Wireshark Packet Sniffer
* Pidgin Instant Messenger
nitbuntu
+3  A: 

As I know no bounds there, I just bugged my provider. He sent me his servers apt.list and package selection (Debian Linux). Additionally I got a stripped down Apache httpd.conf, so I could set up a near-100% emulation of my actual webserver.

That's not a turnkey solution, but quite useful if you want to test deploy things. Though I used that rarely, and ooops IIRC it was on the stolen laptop..

mario
Heh, nice approach! :)
Pekka
+2  A: 

Take a look at eBox and it's features

zengr
+2  A: 

You said you were looking for virtual machines so I looked around the VMWare appliances and found two you might be interested in

http://www.vmware.com/appliances/directory/289

Trac
Python
Subversion (Client and server components)
Apache web server
PostgreSQL
MySQL
SQLite 
The underlying operating system is OpenBSD.
ruby18-base-1.8.4nb1 Ruby 1.8 based release minimum package
ruby18-subversion-1.3.0nb3 Ruby bindings for Subversion

Only thing this is missing is PHP and Ruby on Rails which shouldn't be to hard to install on your own.

http://www.vmware.com/appliances/directory/134

Apache2 (2.0.54)
PHP (4.4.0)
MySQL (4.1.12)
PostgreSQL (8.1.2-1)
phpPgAdmin (3.5.6)
Ruby 1.8.4
Ruby on Rails (1.1.2)

They both seem to contain most but not all of what your looking for.

This last link seems to have Ruby and php but I'm not sure what else. Not going to check a torrent site a work lol.

http://www.kickasstorrents.com/ubuntu-php-ruby-on-rails-django-web-development-vmware-appliance-t3040351.html

Hope this helps

Gage
+1  A: 

How about this one?

http://lamppix.tinowagner.com/

VOX
Mmm, a bit aged, isn't it? Last update 2007?
Pekka
+2  A: 

Am not aware of whether it is available !

Actually as per the above answers, most probably it is not available. A team can be formed to do this..

The requirement has to improvised, and team can work on that, and release it as a open source..

What do you guys feel ? ( i would be happy to be a part of that team. )

thegeek
+3  A: 

Why don't you use one of the BitNami stacks depending on the specs of the project? It seems to be a waste of resources to install everything on one VM (unless you really need everything all the time).

http://bitnami.org/stack/

Personally, I would create a VM with an Ubuntu (or Debian) server install, and just apt-get the necessary packages needed for the project. If you have problems installing a full LAMP stack have a look at the tutorials on HowToForge. Installing most projects - with standard configs - is really not that hard.

BTW "Subversion setup for multiple repositories" - you can create as much repositories as you want using svnadmin, the only thing you have to do is install subversion itself (apt-get install subversion), and configure your repo's once you created them.

wimvds