2014年1月9日木曜日

Webサーバー (Apache) でPythonファイルを実行できるように設定する

webサイト作成中に躓いたこと。

Pythonで作成した配列をJSONにエンコードしてAjaxで受け取ろうとすると、JSONではなくPythonのソースコードがそのまま送られてきた。

原因はwebサーバー上でPythonを実行できるように設定していなかったため。

手順は以下のとおり

1.Apacheの設定ファイルを開く
sudo vim /etc/httpd/conf/httpd.conf

2.次の記述箇所を検索して編集する
  AddHandler cgi-script .cgi 
=>  AddHandler cgi-script .cgi .py

3.次の記述箇所を検索し
<Directory "/var/www/html">
その少し離れた下の方にある記述を編集

  Options Indexes FollowSymLinks 
=>  Options Indexes FollowSymLinks ExecCGI


4.Apacheを再起動
sudo service httpd restart

以上


ちなみに

手順2の編集箇所に .pl .rb など各言語の拡張子を追記すれば実行可能になる模様。

また、DirectoryIndex index.html〜 という箇所に index.py など使用したい言語のindexページを記述しておけば html の動的生成ができるようだ。

0 件のコメント:

コメントを投稿