Best platform for developing Drupal Solutions

Hi There I currently use my VISTA machine to develop Druapl (and non-drupal) sites. It has 3GB RAM and runs at 2.00GHz. However, I do think VISTA is very resource intensive particularly memory hungary To develop Drupal I use the Bitnami Server set-up. However, ever thing seems to run slow and often I get the WSOD - ie timing out. So I end having to uninstall non essentail modules while developing my solutions. So my question is "What is really the best platfrom to develop sites on?" Is it - Win XP - Linux - other - or is VISTA OK. .... and what about the local server? Is Bitnami as good as anyother or should I look at another solution say WAMP Any thoughts would be appreciated Thanks
Robert Castelo's picture

OS X

Study this photo carefully for clues about what the best development platform might be ;-)

Dries Buytaert

"Best" development platform

I'd say Linux, OS X and Windows in that order. Annoying though it is, Windows has the advantage that most likely your customer or your customer's customers are using it, so you will at least see things as they do. I often think of OS X as a sort of mixture of Windows and Linux. It has many of the good bits of Windows (yes, they exist) and of Linux. Which Linux is another question, but Ubuntu or vanilla Debian are currently my favourites.
dokumori's picture

Before writing about which

Before writing about which OS is best, I might mention your WSOD may be related to how your php is set up. Have you tweaked the values of max_execution_time and memory_limit in php.ini? re: dev environment - I've had a Drupal development environment on WinXP, Vista, OSX and Linux (Ubuntu). Here's what I found: WinXP/Vista: I hated it. I mean, why can't you use symlink? If you set up fake symlinks, virus scanner gets trapped in the infinite loop and literally it takes forever to scan your system :p OSX: Fair. I tried setting up a dev environment on OSX with the native Apache but I never got it working so I used Fink to set everything up. After setting up the environment, it works very well. But as I said, setting it up is the tricky bit. Here's my blog post -a step-by-step instruction on how to set up with Fink. Linux (Ubuntu): Best. Just run apt-get or aptitude and install Apache2, MySQL5 and PHP5 (and some little stuff) and works immediately. I use OmniGraffle and some other apps that are only available on OSX so I use it as my primary machine, but I miss my Ubuntu every once in a while. I think it also depends on which IDE / text editor you prefer. I use eclipse so pretty much any platform is fine for me.

php.ini file

Thanks - all the feedback - really useful. Just on the WSOD I assume you mean the php.ini in the PHP folder. In my Bitnami stack I have 2 files: php.ini-recommended and php.ini-dist Which one should I change the max execution time? ...or should I just rename one to php.ini and change that file with a longer execution time? Sorry to appear a bit slow its just that I ma not that familair with the workings on a server.
dokumori's picture

I've never used Bitnami, so

I've never used Bitnami, so I don't know where php.ini is stored. the files you mentioned are distributed with Bitnami as examples / backups. In order to use one of those, you have to rename it to php.ini and swap it with the current php.ini file. If you are using one of those files, you want to back up the current php.ini first so the process will be something like this: 1. rename current php.ini to something like php.ini.bk so it will not be overwritten and you can restore the current settings if something goes wrong 2. duplicate php.ini-recommended / dist and rename it to php.ini 3. open php.ini and make following changes if necessary :
  • set max_execution_time to 30 seconds
  • memory_limit to 64M (this should be more than enough)
4. restart apache Oh, actually, you can change this setting in your Drupal's settings.php too. Under PHP settings, you find a list of ini_set('xxx... You can add: ini_set('memory_limit', 64M); ini_set('max_execution_time', 30); and that should work as well. You don't have to do them both. if you have a hard time finding php.ini, this is easier.
BOZMAN's picture

best platform

i have been using ubuntu hardy heron and it has proved more than ok. i also use firefox, which perhaps is faster than ie. if you have many images or something like image gallery installed, you may have to set your php mem limit to a minimum of 96m ( normally it complains when there is not enough)
johngriffin's picture

Mac AND Linux :)

I use Mac, but I run Ubuntu server as a virtual machine. I find that this gives me an optimum development environment, the ability to use Textmate or pretty much anything I want as an editor, and a proper linux to run apache etc with no hassle. Also it's worth being aware that Macs use a case-insensitive file system as standard, and of course most *nixes don't. This has caused surprises when moving sites to their staging/live environment on more than one occasion in the past.

Windows XP & Linux

For same reasons as above I'm running Debian Etch on VMware on Windows XP. I've set up Samba so I can edit files as www-data (apache), root and aegir users. Works really well, I nearly bought a Mac but cost and keyboard layout put me off. I prefer using the Linux VM to a WAMP set up as I can run all the linux commands over SSH logged in via Putty, making it almost the same as my VPS hosting environments. Although you can emulate most of this with Cygwin I find that too much work since using my VM. If I had time I would install Ubuntu but I'm not really too bothered about my desktop OS these days. If you want standout from the crowd looks like a non Mac is the way ;-)
darren's picture

Linux

One more vote for Linux. I've used Windows, Mac and Linux for extended periods of time and for development work nothing beats Linux (IMO)! I used the Mac for respec-ing design work for print, and I have to say it's great using a Mac for design work, but I couldn't imagine doing hardcore dev on Mac OS - even though I know lots of people do. The only thing I need Windows for is cross-browser compatibility testing. I'm using Sun VirtualBox to run Vista but that's only to check websites in IE.

Linux is best...but...windows has some advantages...

Personally I like to use Linux box for development... but, when it comes to use in Office...or many people prefer to use Windows for various reasons. 1. it is easy to test in various buggy versions of IE, which is very difficult in Linux. 2. We can not avoid the IE, which has huge market share...when we do projects for our clients. http://www.drupal-web-developers.com

There is no best. It is

There is no best. It is down to what the developer feels most comfortable with. Just because Dries uses OSX does not make it the best OS or even the best OS for development. If Dries drove a Morris Merrina people wouldn't start saying it's the best car for Drupal developers.
Robert Castelo's picture

Advantages

I actually wanted to use a photo from the Amsterdam DrupalCon where Dries, Steven, Moshe and several other developers were sitting at a long tableand all working away on their Macs, couldn't find it so went with this photo of Dries.

Was mainly responding to the original post not even listing OS X, which is strange as it's by far the most ubiquitous platform that I see at Drupal conferences.

You're right that being comfortable and familiar with an OS is important, but I'd say that some platforms have their advantages, and sometimes those advantages trump the inertia of moving to a new system.

Although Apple have marketed

Although Apple have marketed Mac's well, they haven't marketed OSX, or at least from what I have seen. But this is probably more down to the fact that OSX comes with Mac's and the user doesn't need to know that much. Pretty much the opposite of Microsoft who push Windows but not their hardware which is actually very good and normally fairly cheap. I don't think Windows/OSX/any distribution of Linux has any advantage over each other. Each have their own (even share alot) of IDE's and all have various different web server configurations that they can use (WAMP, MAMP, LAMP). So for a developer starting out, it would be down to speed and cost which is where Apple will be losing out at the moment until they drop their prices a little. For most Linux may be a bit of a big step which only really leaves a Windows based PC their only (easiest) viable option to use.
tekila's picture

Very Interesting Topics listed here

Not only for drupal solutions but also for a lot of other solutions Linux is better than Windows platform. Linux is very powerful and secure OS. As per windows it cries out for even simple treats of virus of spy-wares. Any way using windows for developing CMS like drupal means dedicating half your time fighting to windows enemies. As per Mac OS I have only heard good of it. But personally I have no good Knowledge. currently I am using Linux (ubuntu) as Drupal development platform and it is very friendly though not as easy as windows. The problem with linux is that most powerful and great softwares for graphics design are made to support windows not linux. For instance the Photoshop CSxs and illustrator and so on. However the power of linux and its supporting softwares are growing fast this time. The best that one can do for drupal solutions in my opinion is to use linux as the main platform and can use windows with virtual machines like vitualBox for Sun. There is also a good Image editing tool in linux OS GIMP( Gnu Image Manipulation Program ) which I am learning it if it can substitute Photoshop. Lead and Accelerate your Life