[ トップページ ]
Web とインターネット:Web サーバと Web サービス・管理

Mac OS Big Sur での CGI 内部使用のための httpd.conf のかきかえ

螺旋 3D 印刷のための CGI プログラムをうごかすのに,いまは個々の PC で Apache をうごかしている. そのため,Mac OS Big Sur をインストールした MacBook の Apache でも CGI のための設定が必要になった. オリジナルの httpd.conf を 3 行かきかえるだけで動作するようになった.

MacBook には Apache が最初からはいっている. 便利といえば便利だが,OS をアップグレードするたびに httpd.conf をかきかえなければならないのはわずらわしい. どこをかきかえればよいかがよくわかっていないので,これまでつかってきた httpd.conf はだいぶかきかえすぎていた. それをもとにしてあたらしい httpd.conf をつくると,Apache がたちあがらくなった. やむなく,Apple 提供の httpd.conf をすこしずつ,かきかえていくことにした.

3 行だけ,コメントをはずして一部かきかえることで,Apache が動作している Mac 上で CGI がつかえるようになった. すなわち,まずつぎの部分の '#LoadModule' 2 箇所のコメントをはずした.

<IfModule !mpm_prefork_module>
	LoadModule cgid_module libexec/apache2/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
	LoadModule cgi_module libexec/apache2/mod_cgi.so
</IfModule>

両方必要ではないのだろうとおもうが,どちらがつかわれているかわからないので,両方はずしておく. また,つぎの行も '#' をはずした.

#AddHandler cgi-script .cgi

ついでに '.py .pl' をくわえておいた.

AddHandler cgi-script .cgi .py .pl

これでつぎのようにして Apache を再起動すると,CGI が動作するようになった.

sudo apachectl restart

なお,emacs で httpd.conf を編集するのにも,いささか苦労している. vi がつかえない私は httpd.conf を編集するのに emacs をつかっている. ところが,emacs を sudo で起動してもなぜか httpd.conf をかきかえることができない. そこで,やむなく 'sudo chmod 666 httpd.conf' を実行してからかきかえている.

追記 (2020-12-17):
きょう,突然 CGI がうごかなくなった.昨夜システムが自動的にアップデートされた際に httpd.conf がもどされてしまった. なぜそんなことがおこったのか,つきとめていないが,httpd が更新されて httpd.conf もおきかえられてしまったのかもしれない. あたらしい httpd.conf と私がかきかえたものを diff で比較すると,私がかきかえたところ以外に改訂されたところはなかった. そこで,私がかきかえたものにおきかえると,CGI はもとどおり動作するようになった. これは Apple のチョンボだろう.

追記 (2021-2-4):
OS が自動的にアップデートされ,ふたたび Apache がうごかなくなった. 年末にしたのと同様のことをして解決した. 前回なにをしたかがすぐわかるようにしておかなかったので,だいぶ時間をつかってしまった. OS がアップデートされるたびにくりかえすのはかなわない. とりあえず httpd.conf を書き込み禁止にしておいたが,これで解決されるかどうか…

キーワード:

トラックバック

このエントリーのトラックバックURL:
https://www.kanadas.com/mt/mt-tb.cgi/7581

コメントを投稿

Google でブログを検索:

メインページアーカイブページも見てください.
Creative Commons License
このブログはつぎのライセンスで保護されています. クリエイティブ・コモンズ・ライセンス.
Powered by Movable Type