LAMP in Leopard OSX 10.5 (PHP5 and Apache 2.2)
(edit)Following my how to setup your mac web development environment, and today moving to Leopard, my entire offline environment is broken - this is entirely due to the move from Apache 1.3 to Apache 2.2.
This article will discuss the changes required to get your multi-host mac dev environment running again with PHP5, MySQL, Apache 2 and Leopard.
Orientation
Since we're running Apache 2.2, it means a few files have new homes. Here's a comparison:
/etc/httpd/httpd.conf => /etc/apache2/httpd.conf
/etc/httpd/users/ => /etc/httpd/users/
Get your virtual hosts back
Copy your .conf from your old httpd/users/ directory in to the new one (above). For example:
cp /etc/httpd/users/remy.conf /etc/apache2/users/remy.conf
If you restart apache (sudo apache restart) you should have the domains pointing to your sites.
PHP5
PHP5 appears to come with Leopard (though I could be wrong, since I upgraded - please feel free to correct me). To re-enable it, within /etc/apache2/httpd.conf, around line 114 - you should find # LoadModule php5_module - uncomment this and restart apache.
Run a little PHP test, and you'll find you're running PHP again.
MySQL
You have two options to get MySQL running again if you have the following error:
Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)
- Reinstall PHP5 and compile it with the new path to the MySQL socket (
/tmp/mysql.sock) - Change MySQL's conf to run the socket out of the old location
Since Leopard gave me PHP 5.2.4, which according to Entropy PHP, is the latest version for Apache 2.x, I went with option 2.
If you don't already have the MySQL conf in /etc/my.cnf (I didn't), then you need to copy a template out of the support files from MySQL. If you followed the instructions from my previous article - then you'll need to run the following:
sudo cp /usr/local/mysql-standard-5.0.27-osx10.4-i686/support-files/my-small.cnf /etc/my.cnf
Replace small with whatever suits your setup best.
Now follow these steps:
1. Shutdown MySQL
mysqladmin -uroot shutdown
2. Change the conf
Change all occurrences of /tmp/mysql.sock to /var/mysql/mysql.sock
3. Create /var/mysql/
sudo mkdir /var/mysql
sudo chmod 777 /var/mysql
4. Start MySQL back up again
cd /usr/local/mysql/
sudo ./bin/safe_mysqld &
Wrap Up
That should be it. I've tried to document every change I made to get going again, but if you spot any mistakes or have trouble with these instructions let me know and I'll try to help.
You should follow me on Twitter here I'll tweet about JavaScript, HTML5 and other such gems (amongst usual tweet-splurges)
Comments
comments powered by Disqus