ミニウィキ

ペコネット活動部ウィキ

ユーザ用ツール

サイト用ツール


ubuntu:server:cgi

CGIの実行環境

静的サイトの作成で設置した「peconet.localsite」をドキュメントルートとした設定を行っています。

はじめに

Ubuntuにおいてはデフォルトでインストールされていますが、Perlを確認できなければインストールします。

$ perl -v



インストールされていれば以下のような表示がされます。

This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-gnu-thread-multi
(with 44 registered patches, see perl -V for more detail)

Copyright 1987-2023, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at https://www.perl.org/, the Perl Home Page.


Perlのバージョンが確認できなければインストールします。

$ sudo apt install perl


Perlのパスの確認

peconet@Ubuntu-V:~$ which perl
/usr/bin/perl


Apacheへ設定する

http://peconet.localsite/」でCGIを実行できるように設定します。

$ sudo a2enmod cgid

CGIモジュールを有効化すると「/usr/lib/cgi-bin/」配下でCGIが実行できるようになります。(その設定は/etc/apache2/conf-available/serve-cgi-bin.confに記述されています)これを「/var/www/peconet.localsite/」配下でも実行できるように設定する。

ここでは設定ファイル「/etc/apache2/conf-available/peconet-cgi.conf」を新規作成する。

$ sudo vim /etc/apache2/conf-available/peconet-cgi.conf


新規作成したファイルに以下のように記述して保存して閉じる。
※ その他のスクリプトを使う場合「AddHandler」に「.py」や「.rb」なども追加。

<Directory /var/www/peconet.localsite>
        Options +ExecCGI
        AddHandler cgi-script .cgi .pl
</Directory>


新規作成した設定ファイルを有効化する。

$ sudo a2enconf peconet-cgi.conf

さらに

/etc/apache2/sites-available/peconet.localsite.confに

<Directory /var/www/peconet.localsite>
        Options +ExecCGI
</Directory>

を記述する。

Apacheを再起動する。

$ sudo systemctl restart apache2



CGIの動作確認

Perlのサンプルファイルを作成

簡単なPerlプログラムを記述してブラウザでアクセスして動作確認します。

サンプルファイル「perl-test.pl」をドキュメントルートに新規作成します。

$ sudo vim /var/www/peconet.localsite/perl-test.pl


新規作成したファイルに以下のように記述して保存して閉じます。

#!/usr/bin/perl
print "Content-type: text/html \n\n\n";
print "<h1>Peconet.Localsite</h1>";
print "<h2>Hello..Perl is Working!!</h2>";


新規作成したファイルのパーミッションを変更します。
$ sudo chmod 775 /var/www/peconet.localsite/perl-test.pl</code>

ブラウザで動作確認

ブラウザで「http://peconet.localsite/perl-test.pl」にアクセスして動作を確認します。



サンプルファイルの出力結果が表示され動作確認がとれました。

Internal Server Error(500)が出た場合

#!/usr/bin/perl --
print "Content-type: text/html \n\n\n";
print "<h1>Peconet.Localsite</h1>";
print "<h2>Hello..Perl is Working!!</h2>";

これはダウンロードしたPerlプログラムなどもそうですが、1行目を

#!/usr/bin/perl --

こうすると動作することが多い

ubuntu/server/cgi.txt · 最終更新: 2024/11/04 17:05 by 127.0.0.1