2017-10-27 7 views
0

私には2つの問題があります。cgi perlは真に実行されますが、ブラウザの表示はテキストとして(ubuntuサーバー上のsshでlocalhostをテストしてください)

最初:私は、VMwareにUbuntuのサーバをインストールし、apache2の、perlのとsshをインストールする...私は.cgiコードをviperl test.cgiことによってそれを実行したときに、それは本当にこのコードをコンパイルします。この結果に

#!/usr/bin/perl 
use strict; 
use CGI ':standard'; 

print header; 
print start_html('Hello World'); 
print h1('Hellow worlds'); 
print end_html(); 
exit; 

をうまく:

<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> 
<head> 
<title>Hello World</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
</head> 
<body> 
<h1>Hellow worlds</h1> 
</body> 

が、私はhttp://192.168.1.36/test.cgiでそれを実行します(このIPは、Apacheは、現在実行され、私のVMware IPです)ページショーまさに私がtest.cgiで入力したスクリプトのようなテキスト:|

2番目の問題は、ApacheのPerlコードをコンパイルするために必要なコードを追加するためのhttpd.confやアクセス権がありません(多分必要と思われます)。

だから私はすべての時間を探していたと私は私のコードを変更して...しかし、何も:(

+3

Webサーバー構成の問題またはファイルが実行可能ではありません。 [指示](http://httpd.apache.org/docs/current/howto/cgi.html) – ikegami

+0

私は第二の@ikegamiの設定や権限の問題のように聞こえます。ファイルとフォルダがApacheのユーザ/グループ(私が信じるUbuntuのwww-data)によって所有されていることを確認し、実行の許可を得てください。それが失敗した場合は、サイトのApache設定を投稿できますか? – interduo

+1

問題は解決しました:) –

答えて

0

を変更していない。この問題は、オプションのコードを使用してApacheの設定についてです私を助けて。

まず、あなたがしなければなりませんApacheのディレクトリに移動し、次のコマンドを実行し、その後

chmod +x test.cgi 

:次のコマンドを実行します

sudo nano /etc/apache2/apache2.conf 

<Directory>ブロックに以下を追加します。

Options +ExecCGI 

を次に、あなたのApacheを再起動して、もう一度それをテスト:)

関連する問題