ペコネット

ページの先頭へ
ページの先頭へ

CGIの実行環境(Ubuntu)

マルチドメイン化(VirtualHost)2に続き、当サイト(peconet.org)のローカルテスト環境も作りました。当サイトはメールフォームにPerl CGIを利用していますのでローカルテスト環境においてもCGIを有効化します。

※「peconet.localsite」をドキュメントルートとした設定を行っています。

最初に…

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

$ perl -v

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

$ sudo apt install perl

Perlのインストール

$ which perl

Perlのパスの確認

Apacheへ設定する

ローカルテスト環境「http://peconet.localsite/」でCGIを実行できるように設定します。

$ sudo a2enmod cgid

CGIモジュールを有効化します。

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

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

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

この内容を記述します。

※ その他のスクリプトを使う場合「AddHandler」に「.py」や「.rb」なども追加します。

$ sudo a2enconf peconet-cgi

設定ファイルの有効化

サイトの設定ファイルへの記述

<Directory /var/www/peconet.localsite>
      Options ExecCGI
</Directory>
<Directory /var/www/peconet.localsite>
      Options Indexes FollowSymLinks ExecCGI
      AllowOverride All
      Require all granted
</Directory>

サイトの設定ファイル「/etc/apache2/sites-available/peconet.localsite.conf」にも記述。ふたつ表示されてますが、下は他のページで.htaccessの有効化を行っている場合からの追記(赤文字部分が追記部分)

$ sudo systemctl restart apache2

Apacheの再起動

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

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

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

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

CGIの実行環境2

画像の拡大

#!/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

パーミッションの変更

ブラウザでの動作確認

CGIの実行環境3

画像の拡大

ブラウザで「http://peconet.localsite/perl-test.pl」にアクセスして動作を確認します。サンプルファイルが表示されCGIが動作していることを確認できました。