ローカルでApache

 最近、僕のサイトの”Private room“というページを何人も訪ねてくれた。このブログを導入するまではある意味メインのページだった。でもブログを導入してから放置したままでリンク切れ続出で困ったと言われてしまったり前の携帯へのリンクがあったりしていくら個人的な記念碑のページとはいえ少しは現在の状況に合わせて修正しないといけなくなった。だけどそのページはperlで動くcgiのページ。しかも全てHTMLタグをテキストエディタの手打ちで作っている。簡単ではないのだ。意を決して修正しようと思ったんだけどMacOSXのバージョンも上がり上書きインストールをしていたせいかローカルで該当のcgiのページが表示できない。久しぶりにターミナルを起動してApacheの再セッティング。UNIXのコマンドなんかほとんど忘れていてもう2度とローカルのWebサーバーをうまく起動できないかと思った。それを救ってくれたのはMacOSXとLinuxの古い2冊の本と本に書き込んだ自分の書き込み。全く記憶のない、困ったときはこうしろとか細かな手順のメモの通りにして何とか復活。ターミナルで愛用していたエディタ”vi”も”vim”になっていた。

 興味のある人は、この後に今日僕がcgiを動かせるようにしたMacOSX(10.4.6)での手順を。


例えばサイトフォルダにtest.cgiというファイルがあったとして
(お約束ですが、ここから後は自己責任で、、、)
ターミナルで”test.cgi”のパーミッションの書き換え
sudo chmod 775 test.cgi
/etc/httpd/httpd.conf 編集
サイトフォルダの中のcgiファイルをcgiとして実行するために
#AddHandler cgi-script .cgi
の#を削除(有効にする)
/etc/httpd/users/ユーザー名.conf 編集
<Directory “/Users/ユーザー名/Sites/”>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
となっていると思うので
Addhandler cgi-script cgiの1行を追加してさらに
Options Indexes MultiViewsに半角スペースの後
ExecCGI を追加してCGIを許可
設定が終わったらApacheの再起動
sudo apachectl restart
で動くはずが動かなかった。
普通のサーバーはperlの置き場が
/usr/local/bin/perl
なので、普通cgiファイルの1行目には
#!/usr/local/bin/perl
と書かれている。
僕のファイルもそうだった。
だけどMacOSXのPerlの置き場は
/usr/bin/perl
なのでシンボリックリンクをはる。
sudo mkdir /usr/local/bin
sudo in -s /usr/bin/perl /usr/local/bin/perl
で動くはずがそれでもまだ動かなかった。
もう駄目かと思ってシンプルなことを思い出した。
該当cgiファイルの改行コードがUNIXになっていなかったので
テキストエディタ(Jedit)を使って変更。
動いた!良かった!