Their are other options for Mac users to install an
AMP stack using prebuilt point and click downloads including the following,
MAMP,
DAMP,
XAMPP and
BitNami
– these installations use separate binaries outside of the regular OS X
software so no conflict occurs and it makes it easier to delete the
stacks without affecting other parts of the operating system.
However sometimes you need to configure these with different port
numbers and this can lead to issues and there is the question of vendor
support and application versions.
This tutorial bypasses the 3rd party AMP stacks and uses the native
installed components with the exception of MySQL which is a separate
install, unless you have OS X Server, which then MySQL comes preloaded
in 10.6 but not 10.7 which has dumped MySQL in favour of
PostgreSQL instead – you can still install MySQL on 10.7 Server with the instructions below.
To get Apache, MySQL and PHP running natively on OSX is quite easy
and straightforward – this guide should have you up and running in no
time.
This guide uses the command line to achieve some text editing of
various configuration files, however If you aren’t comfortable in the
Terminal you can do this in a graphical mode, download a free text
editor utility call
TextWrangler, launch it, when you come to edit one of the configuration files, open file, you have to click on “
show hidden items”
at the bottom of the open dialog box to see all of the system files.
But you will still need to use the terminal for some of the commands
which don’t involve editing files.
PHP
You can verify your version of PHP by launching the Terminal
application, as found in the Utilities
folder: /Applications/Utilities/Terminal
To find the
PHP version, type at the prompt:
And the version is displayed:
|
PHP 5.3.6 with Suhosin-Patch (cli) (built: Jun 16 2011 22:26:57)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
|
To find the
Apache version, type at the prompt:
And the version is displayed:
|
Server version: Apache/2.2.19 (Unix)
Server built: Jun 16 2011 22:09:54
|
So far so good, however by default PHP is not enabled and has to have
its module loaded you need to make a simple edit in the Apache
configuration file “httpd.conf” file. This is filed in
/etc/apache2/httpd.conf, get there in the terminal by typing:
Then in the terminal you need to use a text editor either “vi” or
nano” will do, this file also has stricter permissions so the “sudo”
command needs to be used to edit the file, you will need to be an admin
user to have permission to change the file, type:
and then your password.
Once in nano click “control+w” to get a search dialog, type “php” and this will bring you to the php module line:
|
#LoadModule php5_module libexec/apache2/libphp5.so
|
Uncomment out the hash # to leave it like:
|
LoadModule php5_module libexec/apache2/libphp5.so
|

enable php module in nano
Finally type “control + x” to exit and when prompted save the change by typing “y”
MySQL
So now onto the 2nd piece of the puzzle, MySQL. You need to download it from
http://dev.mysql.com/downloads/mysql/, chose
Mac OS X ver. 10.7 (x86, 64-bit), DMG Archive for
an Intel Mac the .dmg file is a point and click installation nice and
easy, you can download the tar.gz also for a command line install. The
easiest format is the .dmg file as it allows for an installation
visually using the GUI.
When downloading you don’t have to sign up, look for
» No thanks, just take me to the downloads! – go straight to the download mirrors and download the software from a mirror which is closest to you.
After download open the
.dmg and install:
- mysql5.6.xxx.pkg
- MySQLstartupitem.pkg
- MySQLPrefPane
The first is the MySQL software, the 2nd item allows MySQL to start
when the Mac is booted and the third is a System Preference that allows
start/stop operation and a preference to enable it to start on boot.
- Installation of MySQL
Once the installs are done you can start the mysql server right from
the System Preferences which has a new preference in the “Other”
category called “MySQL” click start and now it is running.

mysql-system-preference-osx
To find the
MySQL version from the terminal, type at the prompt:
|
/usr/local/mysql/bin/mysql -v
|
|
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 118
Server version: 5.5.14 MySQL Community Server (GPL)
Reading history-file /Users/username/.mysql_history
Type 'help;' or 'h' for help. Type 'c' to clear at the current input statement.
|
This also puts you in to an interactive dialogue with mySQL, type
\q to exit.
If you got the error:
|
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
|
then mysql was not started, go back to the System Preference and start the database.
After installation, in order to use mysql commands without typing the
full path to the commands you need to add the mysql directory to your
shell path, this is done in your “.bash_profile” file in your home
directory, if you don’t have that file just create it using vi or nano:
and then add:
|
export PATH="/usr/local/mysql/bin:$PATH"
|
The first command brings you to your home directory and opens the
.bash_profile
file or creates a new one if it doesn’t exist, then add in the line
above which adds the mysql binary path to commands that you can run.
Exit the file with type “control + x” and when prompted save the change
by typing “y”. Last thing to do here is to reload the shell for the
above to work straight away.
Then test the path by just this time issuing the mysql command without the full path:
You will get the version number again, just type “q” to exit.
The next step is to set up a root password for mysql there are 2 ways
to do this one is a regular way and the other provides additional
security and disables all other access:
Regular Way
If you have set the path correctly as above:
|
mysqladmin -u root password 'yourpasswordhere'
|
!use the single quotes
Then when logging in to mysql:
|
mysql -u root -pyourpasswordhere
|
!NB the no space between -p and the password
Securer Way
|
sudo mysql_secure_installation
|
|
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
|
Go ahead and just hit enter if this is a new installation and no
password currently exists, follow the prompts to set up a new root
password – this is a root password just for mysql separate from the root
password of OS X you should set this.
You also get asked about:
- Removing anonymous users?
- Disallow root login remotely?
- Remove test database and access to it?
- Reload privilege tables now?
If this is a new installation you can just answer yes to the questions.
Once the root user and password is set, you have to interact with
mysql with the username and password, so access via command line is
(note that there is no space between -p and the password):
|
mysql -u root -p[password]
|
So thats the two components installed with MySQL having a System Preference option to Start/Stop the database.
Apache
You can start/stop the Web Server Apache in the
System Preferences under
Sharing and checking the WebSharing box. (Sometimes you may have to toggle it on/off a few times to get it going).

web-sharing-turned-on
This can also be accomplished in the terminal using:
|
sudo apachectl start
sudo apachectl stop
|
Or restart the web server gracefully using the following:
Once you start your server the there are 2 x document root folders
for sharing, one is a top level and the other is user account specific:
and
|
http://localhost/~username/
|
You should see a “It Works!” or a OSX welcome page depending on which
document root you are at, in the finder these locations are found at
your Sites folder in your home folder for local user:
/Users/username/Sites/
or at the higher level
/Library/WebServer/Documents/
At the user level in Lion 10.7 you may need to create the personal
web sharing folder first, do this through System Preferences >
Sharing > Web Sharing and click “Create Personal Website Folder” if
it is created this will say ” Open Personal WebSite Folder”

open-create personal web folder
The final thing to verify is that PHP is loaded and ready to go by creating a new text file, has to be
plain text (use TextEdit) and typing in:
Save the file as
phpinfo.php and save it to the Sites folder in your home directory. Now point your browser to:
|
http://localhost/~username/phpinfo.php
|
You should see the full PHP configuration page. If you just see the
code restart the web server to make sure the php module is loaded.
- php-module-configuration
That’s it you are ready to develop and share!
The only difference between 10.6 and 10.7 are some incremental
version numbers on Apache and MySQL otherwise the process is the same
for both operating systems.
To get up and running with
mysql and use phpMyAdmin to manage the mysql database, there is a guide here.
Then look at installing
WordPress,
Drupal and
Joomla!!!
Post a Comment