Fastest Way to install the latest Drupal 7 version on Mac OS X Lion 10.7
Drupal is a quality CMS application and is as simple or complex as your needs vary, it runs on the same foundations that Mac OS X Lion or Snow Leopard provides.
This tutorial assumes a certain degree of comfort in the command line application (in the Utilities folder) Terminal for installing Drupal 7 on Mac OS X Lion or Snow Leopard but if the instructions below are followed correctly it will get the job done easily.
Before proceeding Drupal needs a couple of things to get going and those things are what is called an AMP stack – Apache, MySQL and PHP. Apache and PHP already come bundled in OS X and just need to be enabled but MySQL needs to be downloaded and configured, luckily a point and click installer is provided. Optionally and preferably also install phpmyadmin to manage the database from a browser.
To get the AMP stack working correctly on OS X follow this guide on Apache/MySQL/php and for phpMyAdmin if required. Once these components are in place you are OK to proceed.
OS X has 2 web document roots ‘/Library/WebServer/Documents’ and ‘/Users/username/Sites/’ also known as ‘~/Sites’ this guide uses ‘~/Sites’.
This tutorial assumes that the shared drupal directory will be called “drupal“. The mysql database will be called drupal and the mysql user is root. This takes into account that OS X has apache/mysql/php and phpmyadmin all ready installed and runnng. All of the installation takes place in the command line using OS X’s Terminal application.
Drupal Download and Configure
Make a sharing directory and move into it
mkdir ~/Sites/drupal ; cd ~/Sites/drupal
get the latest drupal, swap 7.x for incremental updates
curl -O http://ftp.drupal.org/files/projects/drupal-7.22.tar.gz
expand it
tar -xvzf drupal-7.22.tar.gz
move all files into shared directory one level up
mv drupal-7.22/* .
move hidden files one level up
mv drupal-7.22/.* .
remove compressed archive and empty directory
rm -rf drupal-*
create a settings file
cp ~/Sites/drupal/sites/default/default.settings.php ~/Sites/drupal/sites/default/settings.php
fix permissions on the default directory and settings file
chmod -R a+w ~/Sites/drupal/sites/default
or do the first lot in one hit (good for a script for multiple installs)
mkdir ~/Sites/drupal ; cd ~/Sites/drupal ; curl -O http://ftp.drupal.org/files/projects/drupal-7.22.tar.gz ;tar -xvzf drupal-7.22.tar.gz ; mv drupal-7.22/* . ; mv drupal-7.22/.* . ; rm -rf drupal-* ; cp ~/Sites/drupal/sites/default/default.settings.php ~/Sites/drupal/sites/default/settings.php ; chmod -R a+w ~/Sites/drupal/sites/default
Create the Drupal Database
create a new database (no space between -p and password – as an alternative this can be done in phpmyadmin
mysql -u [username] -p[password] -e "create database [databasename];"
or in phpMyAdmin
open it up in your default browser
open http://localhost/~username/drupal/
Finish the Drupal Install
Finish the install via the browser…
All done! faster than you can say “bitnami”
If this is your first time installing Drupal, go with the Standard option, then when you get to the Database configuration put in the details you used previously in this case the db was “drupal” and the db user was “root”. In the advanced options you can tweak the db prefix, port and host, the default “localhost” should be fine for this purpose.
Next steps are to create a master admin account and a few generic system settings and you are done.
Post Installation Tips
As a foot note, to sort out clean URLs, the .htaccess needs a tweak as the install is in a subdirectory, the “RewriteBase” needs to be explicitly set:
# If your site is running in a VirtualDocumentRoot at http://example.com/, # uncomment the following line: RewriteBase /~username/drupal
And also for smoother compatibilities for Drupal upgrades and module/theme add on installs change the local ownership to _www on your drupal web shared directory
sudo chown -R _www ~/Sites/drupal
Upgrading Drupal
To upgrade an incremental version of Drupal – say from 7.7 to 7.22, you download the new core base files and replace the current files in the web root apart from the Sites directory, and if customized the .htaccess file.
After replacing the files run a database update:
http://mydomain.com/update.php
or from within Drupal Admin > Reports > Available Updates > Update