shortcut Webデザインとかガジェットについてつらつらと書き連ねています

81月/090

macでmampを使ってMT4をインストールしてみる

簡単にできるかな、と思ったらものすごく面倒だったので。
あ、今回はDBにmySQLを使おうと思ったので面倒になっただけで、SQliteとかだったら簡単にできると思います。

MAMPをインストール

これはインストーラー付きなので簡単ですね。
サイトからdmgダウンロードしてインストーラーを起動してインストールします。

OSXデフォルトのWeb共有は使わないので、こんな設定にしました。

ポート
Apache: 80
MySQL: 3306
ドキュメントルート
/Users/hoge/Sites

localhost:80にアクセスして動作を確認します。
次いで、phpMyAdminからMT4用のDB(mt4)とユーザー(mtuser)を作成します。
この辺は全然分からないので、適当に...

hostsを書き換える

パスの書き換えが面倒なので、hostsの書き換えで対応します。
emacs派なのでemacsで。

sudo emacs /etc/hosts

下記を追加

127.0.0.1     www.s-cut.net     #shortcut

MT4をインストール

個人ライセンスを選んでアーカイブをダウンロードします。

解凍してcgi/mt4以下に配置し、.htaccessにMIMEタイプの関連づけのなどの設定を記述します。

Options -Indexes
Options +ExecCGI
AddType application/x-httpd-cgi .cgi

httpd.confに書いてもいいのですが、レンタルサーバにアップする事を考えて、.htacessで。

MT4を設定する

http://localhost/cgi/mt4/mt.cgiにアクセスします
チェックウィザードが走り、一応OKとなっていますが、いくつか足りないモジュールがあるようです。
DBD::mySQLが足りない、ということで、このままではmySQLが使えませんね。

という訳で、DBD::mySQLをインストールします。
ここからが大変だった...。

DBD::mySQLをインストール

CPANを使ってインストール

$ cpan
cpan> install DBD::mysql
[中略]
Can't exec "mysql_config": No such file or directory at Makefile.PL line 76.
[後略]

...ということで、configファイルが見つかってませんね。
MAMPの中に入っているので、オプションで指定して直接makeしてみます。

$ cd ~/.cpan/build/DBD-mysql-****/
$ sudo perl Makefile.PL --Cflags=-I/Applications/MAMP/Library/include/mysql --mysql_config=/Applications/MAMP/Library/bin/mysql_config
[中略]
$ sudo make
[中略]
dbdimp.h:22:49: error: mysql.h: No such file or directory
dbdimp.h:23:45: error: mysqld_error.h: No such file or directory
dbdimp.h:25:49: error: errmsg.h: No such file or directory
[後略]

ヘッダーファイルがないんですか...。MAMPに含まれてないっぽいです。
いろいろ検索したのですが、面倒になって来たのでmacportを使ってmySQL5インストールし、そこに含まれるヘッダーファイルを利用することにします。

$ sudo port install mysql5

で、さっきの/DBD-mysql-****/ディレクトリでもう一回makeしてみます。

$ sudo perl Makefile.PL --cflags="-I/opt/local/include/mysql5/mysql" \
--libs="-L/opt/local/lib -L/opt/local/lib/mysql5/mysql -lmysqlclient -L/opt/local/lib -lz -lm -L/opt/local/lib -lssl -lcrypto"
--testsocket="/Applications/MAMP/tmp/mysql/mysql.sock"
--testpassword="root"
--mysql_config="/Applications/MAMP/Library/bin/mysql_config"
$ sudo make
$ sudo make install

これでなんとかインストールできました...。
あと、スクリプトからmysqld.sockの場所を聞かれるので、MAMPから強引にシンボリックリンクを張ります。

cd /opt/local/var/db/mysql5/
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysqld.sock

もう一度MT4を設定する

http://localhost/cgi/mt4/mt.cgiにアクセスします。
で、各種設定をして、mySQLの設定を下記のように設定します。

  • ソケット: /Applications/MAMP/tmp/mysql/mysql.sock
  • ポート: 3306

これで、無事設定が完了しました...。

Filed under: webdesign Leave a comment