OSX Marvericks にアップデートしたら MAMP PRO が動かなくなった
2013.11 02

OSX Marverics(以下、Marvericks)になって、便利な機能も増えましたが恒例のごとく「今まで動いていたものが動かない!」というケースも発生したりします。今回は、MAMP PROがそれになったので対処法をメモとして残しておきます。

現象

  • MAMP PRO 起動後に MySQL を起動できずハングアップする
  • 上記の状態だと、アプリケーション側からはログを見ることしかできない

原因

Marverics でのセキュリティ強化により、権限の問題で /etc/hosts をサードパーティーアプリケーションが書き換えられなくなっているためのようです。

やるべきこと

  • MAMP PRO を最新(2.2)にアップデート
  • Keychain Access で署名を発行する
  • codesign コマンドで MAMP PRO に署名し、編集許可を与える

電子署名を作成する

  • Keychain Access を起動する
  • Menu(Keychain Access) > Certificate Assistant > Create a Certificate…
  • 必要情報を入力して、署名を作成
  • Name => CalmTech(ここは任意)
  • Identity Type => Self Signed Root
  • Certificate Type => Code Signing

Keychain Access で電子署名を作成後

MAMP PRO に適用する

上記で発行した電子署名を MAMP PRO に適用します。ターミナルを起動して、以下のコマンドを実行します。
codesign -s “Your Name(今回の場合は、CalmTech)” /Applications/MAMP\ Pro/MAMP\ Pro.app

適用されたかどかは、以下のコマンドで確認できます。

codesign -v /Applications/MAMP\ PRO/MAMP\ PRO.app -v

MAMP PRO を再起動します。私の場合は、マシンも再起動してみました。

調査の過程で試したこと

デフォルトでインストールされる Apache を停止

Marvericks にアップグレードすると、Apache がインストールされるため MAMP Pro の Apace を起動できないというケースも散見されています。この場合は、以下のコマンドで Apache を停止することで解決。今後も使わないのであれば、自動起動からも削除してしまうと良いと思います。

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

参考

この記事へのコメント

[OSX]NetBeansからsvn+sshでリポジトリにアクセス
2009.11 18

ここに手順はありますが、解りづらいので自分でググって辿っていきました。 まずコマンドベースでsvn+sshできるところまで さくらインターネットの場合、SSHログインの際に$PATHに読み込まれるパスにユーザ制限がかけら […]

ここに手順はありますが、解りづらいので自分でググって辿っていきました。

まずコマンドベースでsvn+sshできるところまで

さくらインターネットの場合、SSHログインの際に$PATHに読み込まれるパスにユーザ制限がかけられるそうです。
よって、任意に配置したプログラムについては、 $HOME/bin へシンボリックリンクを貼っておく事で
問題を解決できます。
私の場合は、svn関連のコマンドは $HOME/local/bin に配置されていますので、以下の手順になりました。


% ln -s $HOME/local/bin $HOME/bin

続いて、リポジトリの初期化を行います。Berkeley DBは使用していないので、ファイルシステムにFSFSを
利用することとします。


% mkdir -p $HOME/svn/repos
% svnadmin create $HOME/svn/repos --fs-type fsfs

クライアント側で鍵認証のための手続きを行っていきます。
公開鍵を作成し、サーバ側に配置。その後、パスフレーズのスキップまでをついでに行います。
初期ディレクトリは /Users/ とします。


$ ssh-keygen -t rsa #パスフレーズを聞かれるので、入力しておきます。
$ scp .ssh/id_rsa.pub  @.sakura.ne.jp:.ssh/id_rsa.pub

#続いて、サーバにSSHログイン
% cd .ssh
% cat id_rsa.pub >> authorized_keys
% chmod 600 authorized_keys
% rm id_rsa.pub

#ここからクライアント側
$ ssh-agent bash
$ ssh-add
$ ssh -l username username.sakura.ne.jp

これでパスフレーズの入力なしでログインできたらOKです。

NetBeansからsvn+sshでリポジトリにアクセスする

NetBeansのバージョンは6.7です。まずはローカルのsvnクライアントについて設定を加えます。
/Users//.subversion/config を編集。
[tunnels]の項目で

ssh = ssh -l username

を追加。
NetBeansからのインポート、コミット時などのメッセージで日本語があるとエラーが表示されるので、
/Applications/NetBeans/NetBeans 6.7.1.app/Contents/Resources/NetBeans/etc/netbeans.conf
を編集し、netbeans_default_optionsの最後尾に以下を追加。

-J-Dfile.encoding=UTF-8

次に、
/Users//.subversion/config を編集。
[miscellany]の項目で

log-encoding = utf-8

と編集。

その後、NetBeansを再起動。
[チーム] -> [Subversion] -> [リポジトリにインポート]

リポジトリURLの項目に

svn+ssh://username.sakura.ne.jp/home/username/svn/repos
トンネルコマンドの項目に

ssh -l username

これでリポジトリにプロジェクトがインポートされます。
他に注意するのは、日本語のファイル名を持つファイルです。
ファイル名自体がUTF-8となっていないと、コミット時にエラーとなります。

私はDreamweaverを使ってないのですが、これでDreamweaverからもリポジトリにアクセス
できるはずなので、協業の際には役立ちそうです。
#Dreamweaver CS4からsvnクライアントの機能があり、svn+sshにも対応しています。

参考

  • [ssh] さくらサーバでsvn+sshを利用する方法(Linux/Mac)

この記事へのコメント

作者について

青森県内でソフトウェア・システム開発を行うフリーランスのプログラマー。元々は集中監視システム開発に従事。現在はウェブサイト製作・オンラインシステムの開発案件を中心に、プログラミングのスキルトレーニングや講演も行う。

TEL 0172-55-7030  FAX 0172-55-7031
10:00 - 18:00 土日祝休

恐れ入りますが、お急ぎの場合を除いて、メールにてお問い合わせください。