質問するログイン新規登録
CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

501閲覧

VPS Python&Apache でのCGIの様な利用方法について

toushou

総合スコア1

CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2023/03/05 11:40

0

0

お世話になります。
VPS始めたての素人ですがよろしくお願いいたします。
この度 ConoHa でVPSを借りてApache & Pythonインストールを実行し
CGIのように動くプログラムを作ろうと思ってます。

OS:CentOS Stream release 9
Python:Python 3.9.16

/var/www/cgi-bin/
にてtest.py

#!/usr/bin/python3

-- coding: utf-8 --

import io,sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
print ("Content-Type: text/html; charset=UTF-8;\n\n")
print ('Hello.')

はブラウザからの実行でうまく表示されました。

しかし同じフォルダーに
#!/usr/local/bin/python3

coding:utf-8

#日本語を扱うための設定
import os , sys , io , cgi , datetime
from bs4 import BeautifulSoup
import requests
sys.stdin = open( sys.stdin.fileno() , 'r' , encoding = 'UTF-8' )
sys.stdout = open( sys.stdout.fileno() , 'w' , encoding = 'UTF-8' )
sys.stderr = open( sys.stderr.fileno() , 'w' , encoding = 'UTF-8' )
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
print ("Content-Type: text/html; charset=UTF-8;\n\n")
print ('Hello.')

と書いたプログラムをアップし実行すると エラー500 Internal Error とか教示されます。
しかしTeratermでコマンドプロンプトの様な画面で実行すると間違いなく動作します。

知ってる知識で改行コードエラーかなと思い確認しましたが問題無いようです。
importしてる物も全てインストール済です。

ネット検索しても問題解決につながる投稿も見つかりません。
何が問題なのか全く見当も尽きません。

よろしければ御教示願います。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2023/03/05 12:34

エラーが発生した場合は、まず Apache のログを確認しましょう。 CentOS Stream であれは、デフォルトから変更していない場合は、/var/log/httpd/ に error_log があると思いますので、まずはApache のログにどのようなメッセージが記録されているか確認してください。
toushou

2023/03/05 20:48

CHERRYさん この度は お世話になります。 教えていただいた通り ログを確認してみます。 ありがとうございました。 失礼します。
toushou

2023/03/05 22:41

CHERRYさん お世話になります。 ログを読んで、ネット検索したところ解決できました。 お手数かけました。 ありがとうございました。 今後も何かあると思いますので 目に触れたときは ご教示願います。 重ね重ね ありがとうございました。
CHERRY

2023/03/06 02:22

解決できたようで何よりです。 ご自身で解決した場合は、 https://teratail.com/help#resolve-myself にあるようにご自身で回答を記載して質問を解決済みとして終了させていただけないでしょうか。
toushou

2023/03/06 07:31

CHERRYさん お世話になります。 最後まで責任在る指導ありがとうございます。 早速、指示された件実行させていただきます。 ありがとうございました。 感謝です。
guest

回答1

0

自己解決

教えていただいた通りエラーログを確認後 プログラムの一部修正を含め無事問題を解決できました。
サポートしていただいた方、目を通された方ありがとうございました。

投稿2023/03/06 07:33

toushou

総合スコア1

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問