MovableTyp(以下MT)は以前にローカルにインストールしたんだが、モジュールが足りてないせいでイメージドライバが使えないなどのエラーが出ていたので、改めて挑戦。
今度は覚え書きとして、記録しながらやっていく。
下準備として
拡張子.htmlでPHPを動作させる
/Application/MAMP/conf/apache/httpd.conf をテキストエディタなどで開いて、
135行目ぐらいにある以下の部分を修正する。
AddType application/x-httpd-php .php .phtml
この部分にPHPを実行させたいファイル形式の拡張子を追加する。
AddType application/x-httpd-php .php .phtml .html
編集したhttpd.confを保存してMAMPを再起動すれば、追加したファイル形式でPHPが動く。
CGI(perl)を実行できるようにする
(1)httpd.confの編集
/Application/MAMP/conf/apache/httpd.conf をテキストエディタなどで開いて、
453行目ぐらいにある以下の部分を修正する。
#AddHandler cgi-script .cgi
コメントアウト(#)を削除し、.plも動作するように追加する。
AddHandler cgi-script .cgi .pl
編集したhttpd.confを保存してMAMPを再起動する。
(2)テストCGIの作成とパーミッションの変更
以下のような簡単なCGIを用意してtest.cgiとしてフォルダーに入れた。
test.cgiを保存する際には、必ず改行コードを LF とする。
#!/usr/bin/perl
print "Content-type: text/html \n\n";
print "Hello CGI";
次にcgiファイルのパーミッションを変更する。
ターミナル
cd /Users/ppp/qqq/
chmod 755 test.cgi
cd (test.cgiを入れているフォルダーまでのパス)を入力し、
chmodでパーミッションを755に変更する。
エラーが出なければ問題なく変更されている。
これでtest.cgiが正常に動作する。
・CGI(perl)を /usr/local/bin/perl でも動くようにする
Mac OSXのPerl のパスは [/usr/bin/perl] だが、
一般的なサーバは [/usr/local/bin/perl] だと思われる。
そのままだとローカル環境でテストしたCGIを設置サーバにアップするときにPerlのパスを書き換えなければいけない。
そこで [/usr/bin/perl] に加えて [/usr/local/bin/perl] でも動くように設定する。
まず [/usr/local/] ディレクトリには [bin] ディレクトリがありませんので、ターミナルで [/usr/local/bin] ディレクトリを作成し、その中にPerlのシンボリックリンク(エイリアス)を作る。
ターミナル
sudo ln -s /usr/bin/perl /usr/local/bin/perl
これで、MacOS X でも一般的な [/usr/local/bin/perl] で、CGIが動作するようになる。
------------------------------------
いざインストールに向けて
1. Xcodeを入手
MacPortsを利用するためにXcodeが必要なので、App storeからXcodeをダウンロード(無料)
2. MacPortsを入手
足りないモジュールをインストールするのに、MacPortsを使ってインストールする。
The MacPorts Project — Home
http://www.macports.org/
MacPortsダウンロードページの左側、
Shortcutsの項目の1番上の
Available Downloadsをクリック。
今の自分のMacのバージョンのものをダウンロード。
OS X Yosemite 10.10.5だったので、
“MacPorts-2.3.2-10.10-Yosemite.pkg”
ダウンロードしたpkgファイルを開くとインストールが始まる。
インストールが終了すると /Macintosh HD/opt/ という不可視フォルダーが作成される。
色々やりすぎたり失敗したらこのファイルを削除してMacPortsのインストールからやり直す事も可能。
ダウンロードしたら再起動する。
※ Xcodeに初めて入るときは一度アプリを開いておかないといけない。
(管理者(root)権限
サーバモジュールをインストールするときに管理者(root)権限が必要になります。アプリケーションをインストールする時に入力するものとは別のもの。
設定してない場合は Terminal で以下を入力する。
sudo passwd root
すると管理者(root)としてのパスワードと、確認用パスワード入力を求められます。大切なパスワードになるので忘れないようにする。)
今回これやってみたけど、root権限ではなく、sudoで普通にやった。
----------------------------
MacPortsの設定と初期化
echo 'export PATH=$PATH:/opt/local/bin:/opt/local/sbin/' >> ~/.bashrc
echo 'export MANPATH=$MANPATH:/opt/local/man' >> ~/.bashrc
echo 'source ~/.bashrc' >> ~/.bash_profile
sudo port -d selfupdate
sudo port -d sync
----------------------------
データベース関連モジュールのインストール
sudo port install p5-dbi
sudo port install p5-dbd-mysql ダウンロードできなかった
sudo port install p5-dbd-sqlite
sudo port install p5-dbd-pg
sudo port install p5-dbd-sqlite2
(mysqlダウンロードできなかったので手動でDBD-mysql-4.033.tar.gzダウンロードしたが設置がうまくできなかった。)
----------------------------
Image::Magick のインストール
sudo port install ImageMagick +perl
or
sudo port install ImageMagick +perl +no_x11
※ 終わってからインストールできてないみたいに表示されたので、
公式からパッケージをダウンロードしてきてあてはめた。
参考にさせていただいたページ
http://qiita.com/tomomomo1217/items/79f516fc0c483e68f444
しかし、結局ImageMgicはMTに認識されていないのか(ターミナルにはインストールされていると表示される)イマージドライバーはGDで行っている。
----------------------------
オプションインストール
sudo port install p5-gd
sudo port install freetype
sudo port install jpeg
sudo port install libpng
sudo port install gd2
sudo port install p5-crypt-dsa
sudo port install p5-archive-zip
sudo port install p5-xml-atom
sudo port install p5-mail-sendmail
sudo port install p5-archive-tar
sudo port install p5-xml-parser
sudo port install p5-ipc-run
sudo port install p5-html-parser
----------------------------
Perl のパスを MacPorts のインストールディレクトリへ変更
Mac OS が本来持っている Perl のパスから今回 MacPorts 経由でインストールした Perl へリンク(シンボリックリンク)を設定する。
cd /usr/bin/
sudo mv perl perl.bak
sudo ln -s /opt/local/bin/perl /usr/bin/perl
----------------------------
インストールしたソフト一覧を見るには
port installed
memo
スタティックウェブパス
http://pq07/mt-static/
スタティックファイルパス
/Applications/MAMP/htdocs/pq07/mt-static
データベースのパス (SQLite)
/Applications/MAMP/cgi-bin/mt-mom/db/mt.db
-----------------------------
インストールしたあとはMovable Typeの管理画面のユーザーダッシュボードの▼クリック→[ システム ] → [ ツール ] → [ システム情報 ]と進むと情報をみることがでる。
これであってるかはわからないけど、一応、前回やったときに出た、イメージドライバーのエラー始め、エラーは出なかったのでよしとする。
また何かわかれば追記していきたい。
参考にさせていただいたページ
http://www.9142.net/blog/2013/03/13/mamp-cgi/
http://www.9142.net/blog/2013/03/17/mamp-mt/
http://blog.imagedrive.jp/web/research/2010-04-09/build-a-development-server-in-snow-lepoard