MacOS – phpMyAdmin 403 Forbidden Error after upgrade to Yosemite

apachehomebrewmacosMySQLPHP

I upgraded my Mac to Mac OS X Yosemite.

I had a AMP stack installed via Homebrew on Mavericks and it worked fine.

After upgrading to Yosemite, I have the following problems:

  1. when trying to load phpMyAdmin at http://localhost/phpmyadmin I get the following error:

Forbidden

You don't have permission to access /phpmyadmin on this server.

The error log shows: [Mon Oct 20 11:34:17.235518 2014] [authz_core:error] [pid 70303] [client ::1:50374] AH01630: client denied by server configuration: /usr/local/share/phpmyadmin

  1. When trying to load localhost, I get a blank page. The error log does not have any entries related to that.

  2. I had set up dnsmasq, but now it doesn't work.

When I try to ping a domain name under the *.dev structure, it doesn't respond. It doesn't even time out. Just no response at all, and I have to ctrl-C to exit the ping. However, if I try dig, it gives a response as follows:

 ➜  dig cs.dev

; <<>> DiG 9.8.3-P1 <<>> cs.dev
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 35355
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;cs.dev.                IN  A

;; AUTHORITY SECTION:
.           3600    IN  SOA a.root-servers.net. nstld.verisign-grs.com. 2014102000 1800 900 604800 86400

;; Query time: 38 msec
;; SERVER: 172.16.0.1#53(172.16.0.1)
;; WHEN: Mon Oct 20 12:18:36 2014
;; MSG SIZE  rcvd: 99

I am at a loss as to how to reconfigure my AMP stack to work properly.

Ali

Best Answer

AH01630: client denied by server configuration: /usr/local/share/phpmyadmin

most likely means, that Yosemite upgrade changed file permissions on /usr/local/share/phpmyadmin or changed default apache access settings for the directory where you keep phpmyadmin.

You need to check 2 things:

  1. that /usr/local/share/phpmyadmin is readable by your user and that directories that needs to be writeable by you are.

  2. that you have correct order for Allow and Deny settings for that directory (you either deny from all and then allow from certain locations, or allow from all locations and then disallow from some)

I don't know how did you installed phpmyadmin, but it might have added some config file for it's directory to /etc/apache2/other or /etc/apache2/extra.