Magento Mac OS X OAuth

Eine lokale Installation von Magento auf Mac OS X erscheint sinnvoll für die Entwicklung von Modulen, Themes und das testen diverser Funktionen in einem Magento Shop.

Aktuell war ich dabei die Magento REST API Funktion der sehr schönen PDF Extension zu testen, jedoch gab es zunächst einen PHP Error wegen der fehlenden oAuth Class.

Wer schon eine lokale Installation auf den Mac gemacht hat weiß, dass hier einige PHP Bibliotheken fehlen. Eine Voraussetzung überhaupt für eine lokale Magento Installation beim Mac ist z. B.: MCrypt.

OAuth auf dem Mac

Auf Dauer kommt man nicht herum auch die Bibliothek OAuth zu installieren. In der Doku von "Magento Commerce" steht:

Magento authentication is based on OAuth, an open standard for secure API authentication

Eine schöne Beschreibung, die auf Anhieb auch funktionierte kann man hier nachlesen (Quelle):

1. PEAR

Aus bestimmten Gründen wird PEAR benötigt, das bei LION noch nicht installiert ist. Dafür ist die phar Datei schon vorhanden, die man nur ausführen muß. Nachfoldend die Commands in der Befehlszeile:

#!/bin/bash
cd /usr/lib/php
sudo php install-pear-nozlib.phar
#PHP ini Datei ändern: mit der Zeile:
#;include_path = ".:/php/includes" in include_path = ".:/usr/lib/php/pear"
sudo nano /etc/php.ini
sudo pear channel-update pear.php.net
sudo pecl channel-update
sudo pecl.php.net
sudo pear upgrade-all

2. PECL OAuth

Voraussetzung ist dass Xcode installiert ist Aktueller PCRE Quellcode herunterladen von: http://sourceforge.net/projects/pcre/files/pcre/ und auf dem Schreibtisch dekomprimieren.

#!/bin/bash
cd ~/Desktop/pcre-8.12
./configure
sudo cp pcre.h
/usr/include/
sudo pecl install oauth
# PHP ini Datei ändern: mit der Zeile:
sudo nano /etc/php.ini
# und folgende Zeilen am Ende hinzufügen.
# [oauth]
# extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/oauth.so"
# Apache neu starten
sudo apachectl restart

Danach kann über die phpinfo() Funktion kontrolliert werden ob OAuth installiert ist. Etwas praktischer und sicherer von der Kontrolle ist das Kommando:

#!/bin/bash
php -i | grep -i oAuth