I recently upgraded to Snow Leopard from 10.5 and everything went relatively smoothly. I was particularly pleased to see extra 13GB of hard drive space.
However, I noticed a couple of things that I wasn’t so pleased about:
- Apache unable to start
- PHP disabled
- MySQL unable to start
I’ve already walked a couple of people through this, so if you run into the same problem you can try the following:
1. For some reason Snow Leopard modified the following file:
I was using a self-signed SSL certificate for one of my local sites, which was stored in my custom “SSL” directory. The path to my SSL cert was specified in httpd-ssl.conf, but after upgrading to Snow Leopard, that path was replaced with the default path:
The default .crt and .key files didn’t exist on my system, hence Apache failed to start. The error I got was:
Syntax error on line 99 of /private/etc/apache2/extra/httpd-ssl.conf SSLCertificateFile: file '/private/etc/apache2/server.crt' does not exist or is empty
You actually have to type ‘httpd’ in your terminal window to see those errors.
2. PHP disabled. This problem is closely related to the previous one and it is very simple to fix. In your httpd.conf file uncomment the following line:
LoadModule php5_module libexec/apache2/libphp5.so
For some reason Snow Leopard upgrade commented this line out for me.
3. MySQL unable to start. This one scared me a little bit as I do all of my development work on my local machine running against a local MySQL database. I typically start my MySQL server in terminal:
sudo mysqld -u root
To my surprise, I go this:
mysqld: command not found
The problem was that the following symbolic link was deleted:
mysql symbolic link points to your current version of MySQL install, typically in the same directory. In my case, that directory is here:
All you need to do is recreate the symbolic link and you should be able to start your MySQL server again. You can create the symbolic link in your terminal window by typing the following:
sudo ln -s /usr/local/mysql-5.0.45-osx10.4-i686/ mysql
Note: You need to cd into /usr/local/ before running the command above.