topフラッグ移行時 トランスミット・googleドライブ・MAMPでCGI/Perl

トランスミットでローカルのパーミッション

googleドライブは インストして 名前を変えて バーからエラーをクリック フォルダを探すで再設定

MAMPでCGIは
/Application/MAMP/conf/apache/httpd.conf 453行目ぐらいにある以下の部分を修正する。

#AddHandler cgi-script .cgi
コメントアウト(#)を削除し、.plも動作するように追加する。

AddHandler cgi-script .cgi .pl
編集したhttpd.confを保存してMAMPを再起動してください。

テストCGIの作成とパーミッションの変更
以下のような簡単なCGIを用意してtest.cgiとしてフォルダーに入れました。
test.cgiを保存する際には、必ず改行コードを LF としてください。

#!/usr/bin/perl
print “Content-type: text/html \n\n”;
print “Hello CGI”;

パーミッション
ターミンナル

$ cd /Users/TanakaKimi/Web/
$ chmod 755 test.cgi

トランスミット
右クリック 情報を見るから755

CGI(perl)を /usr/local/bin/perl でも動くようにする

最初に隠しフォルダを表示して
hd user local にbinを作る

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が動作するようになります。

サクラのCGIは
/usr/bin/perl

777のフォルダの下でも
動くと思っていたけれど、
実は777ではCGIは動かなくて、
705や755にしないと動かない

ファイルパーミッション 755 または 705 のいずれか
ディレクトリパーミッション 755 または 705 のいずれか

 

メモ ポストメールcgi

cgiへ受け渡すhtmlのurlが絶対パスでは

サクラでは駄目だった。

相対パスで受け渡せた。