プロデルCGIの概要

プロデルCGIは、プロデルで書かれたWebアプリケーションをCGI (Common Gateway Interface)を使って動作させるランタイムエンジンです。

ApacheやnginxなどのWebサーバと組み合わせて、プロデルプログラムをCGIとして実行できます。

動作環境

プロデルCGIは、次のいずれかの動作環境が必要です。

  • Windowsの場合、Apache, .NET Framework
  • Linuxの場合、Apache, mono 6.12.0

導入にはVPSやクラウドサービスなどのroot権限が得られるサービスを利用する必要があります。標準的な共有サーバでは、CGIに対応している場合でもmonoが導入されていないケースがほとんどのため、導入できません。

プロデルは、Windows環境上で動作することを想定して設計されています。 Linux上では、OSやライブラリの都合上、一部のプログラムが動作しない場合があります。


Apacheでプロデルを動かす

プロデルCGIを使うことで、Apache上でプロデルのプログラムを動かせます。

プロデル簡易Webサーバで動作するプログラムをほぼ変更することなく、動かせます。

動作環境

Apacheでプロデルを動かすには、次の環境が必要です。

  • Apache HTTP Server
  • mono(xps)もしくは.NET Framework
  • プロデルCGI

このページでは、XAMPPに含まれるApache HTTP Serverを使って、プロデルCGIの動作環境を構築する方法を、紹介します。

 

環境の構築

XAMPPのインストール

XAMPPの公式サイトからXAMPPをダウンロードして、インストールします。

 

プロデルCGIと関連するファイルのコピー

1.XAMPPがインストールされているフォルダ(C:\xampp\など)に「rdr」フォルダを作成します。

2.プロデル簡易Webサーバを解凍したフォルダまたは、プロデル本体から次のファイルとフォルダを「rdr」フォルダにコピーします。

  • rdrcgi.exe
  • Produire.Core.dll
  • utopiat.Host.dll
  • pluginsフォルダ

 

動作テスト

プロデルCGIのテストプログラム

次のプログラムを、test.cgi という名前で「C:\xampp\htdocs\」へ保存します。

#!c:\xampp\rdr\rdrcgi.exe

応答として「<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
現在は、[時刻]です。
</body></html>」を送る

 

テストプログラムを動かす

1.XAMPPのコントロールパネルでApacheを起動(Start)します。

2.ブラウザで「http://localhost/test.cgi」を開きます。

3.現在時刻が表示されれば、成功です!!

 

簡易Webサーバ用のサンプルを動かすには

プロデル簡易Webサーバ用のサンプルプログラムを、プロデルCGIで動かすには、拡張子を.cgiに変えて、ファイルの先頭に次のような内容を追加します。

#!c:\xampp\rdr\rdrcgi.exe

この部分は、apacheがCGIを処理するプログラムを指定するもので、プロデルで書かれたプログラムの場合は、プロデルCGI (rdrcgi.exe)があるパスを指定します。

 

[補足] 拡張子(.rdr)で動作させるようにするには

CGIとして実行するには、プロデルプログラムの拡張子を.cgiとする必要がありますが、Apacheの設定を変更することで、.rdrでも動作させられます。

Apacheの設定を変更するには、設定ファイル(httpd.conf)を変更します。

httpd.confの変更

1.「C:\xampp\apache\conf」にある「httpd.conf」をメモ帳などのテキストエディタで開きます。

2.httpd.confの中から、次の部分を、変更後の内容に変更します。

(変更前)
AddHandler cgi-script .cgi .pl .asp

(変更後)
AddHandler cgi-script .cgi .pl .asp .rdr

Apacheの再起動

Apacheがすでに起動している場合は、設定を反映させるために、Apacheを再起動します。



Linux環境のApacheでプロデルを動かす

.NET Frameworkのオープン実装であるMonoを使うことで、Linux環境でも、Apacheを使ってプロデルのプログラムを動かせます。Mono 6.12.0がインストールできる環境であれば、Linux環境でもプロデルを動かせます。

なお、共有サーバなど、インストールできるソフトウェアに制限がある環境では、LinuxであってもプロデルCGIを利用できません。

また、プロデルはWindowsでの動作を前提としているため、一部の種類や手順が正常に動作しない場合があります。

動作環境

Apacheでプロデルを動かすには、次の環境が必要です。

  • Apache HTTP Server
  • Mono
  • プロデルCGI

このページでは、RHEL系のLinux(CentOS 7.9)とMono 6.12.0を使って、プロデルCGIを動作させる環境の構築方法を説明します。

なお、RHEL系(AlmaLinux,Rocky Linux,CentOS)以外のLinux環境では、Monoの導入方法が異なります。使用しているLinux環境にあわせた方法で、Monoを導入してください。

Mono環境下では、プロデルの基本的な機能が動作しますが、OSやLinux環境で対応していない機能などがあります。

 

環境の構築

Linux(RHEL系のCentOS)環境での準備

Apacheがインストールされていない場合は、ApacheをインストールしてCGIが動作するように設定を変更します。

参考

Webサーバー構築(Apache) - CentOSで自宅サーバー構築

 

Monoのインストール

RHEL系Linuxでは、Mono Projectで提供されているrepoを用いて、yum(dnf)でMono 6.12.0をインストールできます。

Monoをインストールするには、ターミナルで次のコマンドを実行します。

yum -y install mono-complete xsp

※Webサーバを利用する場合、xspのパッケージのインストールも必要です。必ずMono Project公式のrepoからインストールしてください。

 

プロデルCGIと関連するファイルのコピー

1.「/usr/local」ディレクトリに「rdr」フォルダを作成します。

cd /usr/local

mkdir rdr

2.プロデル簡易Webサーバを解凍したフォルダまたは、プロデル本体から
次のファイルとフォルダを「rdr」フォルダにコピーします。

  • rdrcgi.exe
  • Produire.Core.dll
  • utopiat.Host.dll
  • pluginsフォルダ

 

動作テスト

プロデルCGIのテストプログラム

次のプログラムを、rdrtest.cgi という名前で、Apacheのドキュメントルート「/var/www/html」ディレクトリへ保存します。

#!/usr/bin/mono /usr/local/rdr/rdrcgi.exe
 			
応答として「<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
現在は、[時刻]です。
</body></html>」を送る

2.rdrtest.cgiに対して実行権限を与えます。

chmod 755 /var/www/html/rdrtest.cgi

 

テストプログラムを動かす

1.サーバ上では、ブラウザで「http://localhost/rdrtest.cgi」を開きます。
リモートから確認する場合は「http://(サーバのIPアドレスまたはホスト)/rdrtest.cgi」へアクセスします。

2.現在時刻が表示されれば、成功です!!

 


簡易Webサーバ用のサンプルを動かすには

プロデル簡易Webサーバ用のサンプルプログラムを、プロデルCGIで動かすには、拡張子を.cgiに変えて、ファイルの先頭に次のような内容を追加します。

#!/usr/bin/mono /usr/local/rdr/rdrcgi.exe

この部分は、apacheがCGIを処理するプログラムを指定するもので、プロデルで書かれたプログラムの場合は、Monoのプログラム本体のパスに続いて、プロデルCGI (rdrcgi.exe)があるパスを指定します。

 

拡張子(.rdr)で動作させるようにするには

CGIとして実行するには、プロデルプログラムの拡張子を.cgiとする必要がありますが、Apacheの設定を変更することで、.rdrでも動作させられます。

Apacheの設定を変更するには、設定ファイル(httpd.conf)を変更します。

httpd.confの変更

1.「/etc/httpd/conf/」にある「httpd.conf」をviなどのテキストエディタで開きます。

2.httpd.confの中から、次の部分を、変更後の内容に変更します。

(変更前)
AddHandler cgi-script .cgi .pl
(変更後)
AddHandler cgi-script .cgi .pl .rdr

Apacheの再起動

Apacheがすでに起動している場合は、設定を反映させるために、Apacheを再起動します。

service httpd restart

関連ページ

ページ先頭へ