Saturday, 27 August 2011

Preparing your drupal development environment with Mac OS X Lion.

I just got a MacbookPro and the first thing i wanted to do was get a drupal developer environment on the machine, I ideally would have like to mirror what i had on my windows laptop - which was Apache/PHP/MySQL/Eclipse.

I googled and found OSX Lion comes with Apache and PHP built in, I must add here that i didn't know there was a MAMP server similar to the WAMP server i had installed on my windows machine, but using the already installed Apache and PHP was just as easy.

To enable Apache just do the following:

1. Go to System Preferences 
2. Click sharing
3. Click Web Sharing service
4. Note the location of the Website Folder on my macbook pro it was Macintosh HD->Library->WebServer->Documents, i would think this is the same for you as well.

We can change the document root from httpd.conf if required, i left it as is.

A quick run to safari/firefox and go to http://localhost to make sure Apache is working - and it does tell you emphatically 'It Works!', note PHP is not yet enabled and we will have to enable that form the apache configuration file.

Enable PHP (you may have to use root privs or sudo to do this)

1. open terminal window
2. sudo cd /private/etc/apache2
3. sudo vi httpd.conf
4. in vi search for string php5_module by typing /php5_module
5. switch to edit/insert mode by typing 'i'
6. remove the '#' and save the file by typing ':wq'
7. disable websharing (System Pref->sharing->web sharing) and re-enable.

Create a php file with phpinfo() and checking on the browser confirms php is working with Apache.

MySQL is not preinstalled on the mac osx so this requires to be downloaded from www.mysql.com - i installed the mysql 5.5.15. Downloading the "dmg" file and clicking when complete opens the disk image revealing  two .pkg files. the first mysql-5.5.15-osx10.6-x86.pkg will guide you through the installation, on completion you need to click the MySQLStartupitem.pkg to make sure mysql comes up when your macbook is restarted. I also suggest installing the MySQL pref pane, to allow you to manage mysql better.

There i just one more thing you will have to do to ensure mysql works with PHP by pointing php to the right mysq.sock file, i got this done by looking at the place MySQL was installed and did the following

sudo mkdir /var/mysql
sudo ln -s <current localtion of mysql.sock> /var/mysql/mysql.sock

Install MySQL GUI tools to administer mysql and MySQL query browser, this will be required for drupal development.

After installation restart your macbook pro and confirm mysql is up and working by using the mysql query browser, create a database and you are now ready to install drupal.

Download the latest drupal 7.7 and place in the documents folder and follow drupal installation steps as normal, note you will require to change permissions on the sites/all folder to change the settings.php and also install files folder. I skipped the step and changed the owner of the Documents folder to the one i will be using most.

sudo chown 'myuser' /Library/WebServer/Documents

I have installed eclipse pdt from 'pdt-1.0.3.R20080603_debugger-5.2.14.v20080602-all-in-one-macosx-carbon.tar' and placed the eclipse folder in applications.

The next step is of course editing preferences to make sure drupal files like .install, .module are added to php content type and tabs are converted to spaces as per drupal coding standards.

the PDT has zend debugger preconfigured which is a great thing for serious development. Hope you find this helpful, next steps is configuring drush and you are all through!

No comments:

Post a Comment