次のスクリプトは、Webブラウザ経由でアクセスしようとすると500の内部エラーが発生します。Apache Webサーバー上でPythonスクリプトを実行する際にParamikoを含むと500エラー
#!/usr/bin/python
import cgi
import cgitb
import paramiko
cgitb.enable() # Enable error messages
print "Content-Type: text/html" # HTML will follow
print ""
print "<html><head></head><body>Done.</body></html>"
linuxコマンドラインから実行すると、スクリプトはエラーなく実行されます。
「import paramiko」という行をコメントアウトすると、Webブラウザで正常に動作します。
他のコマンドラインスクリプトで使用されているため、paramikoはインストールされ、動作しています。これは、Webインターフェイスからアクセスされるスクリプトからparamikoを使用する私の最初の試みです。
私は/ var/log/httpd/error_logファイルにエラーはありません。
どこでこの問題を解決する必要がありますか?
私はApache 2.2.3-83.el5とpython 2.7.2を使用してCentOS 5-10.el5を実行しています。私のスクリプトの最初の行を変更する
apacheはユーザー 'httpd'の下で実行される可能性があります。たぶん 'paramiko'がこのユーザーのために正しくインストールされていないのでしょうか? –
ユーザー権限の問題であるかどうかをテストするためのスクリプトをユーザーapacheとして実行する方法が見つかりません。 '#su -c/bin/bash apache このアカウントは現在利用できません。 ' – Calab
何が変更されたのかわかりませんが、今は私が受け取っているWebブラウザを介してスクリプトにアクセスしようとしていますPythonからのエラーで、モジュール「paramiko」が見つかりませんでした。繰り返しますが、スクリプトはlinuxのコマンドラインから実行すると動作します。他にも気付いたのは...エラーメッセージのpythonバージョンは2.4.3ですが、コマンドラインからはPythonがバージョン2.7.2であることが報告されています。なぜ私のfreshmeat_linux/Linux]のbashのコマンドラインは、Pythonの別のバージョンを実行するのでしょうか? – Calab