このページは旧バージョンの情報です。最新版のマニュアルはこちらをご覧ください。
日本語プログラミング言語「プロデル」ワンページ マニュアル
プロデル簡易Webサーバは、プロデルで書かれたWebアプリケーションを動作させるための専用Webサーバです。
プロデル簡易Webサーバを使って、Webブラウザを対象としたWebアプリケーションをプロデルで開発することができます。
なお、この簡易Webサーバは、セキュリティ面、パフォーマンスに関して十分に考慮されていません。
個人的に利用するWebサーバまたは、使用者が限定されたローカルネットワーク内のみでの使用におすすめします。
不特定多数の利用者がアクセスする公開用Webサーバに利用することは避けてください。

プロデル簡易Webサーバは、HTTPプロトコルに対応した簡易Webサーバです。
拡張子が.rdrのファイルに対しては、プロデルプログラムとして解釈し、その実行結果をWebブラウザへ表示します。
それ以外の、HTMLや画像ファイルなどの通常のファイルは、そのファイルをWebブラウザへ送信します。
プロデル簡易Webサーバは、次のいずれかの動作環境が必要です。
なお、いずれも管理者権限で実行する必要があります。
Windows 7/Vistaでは、起動する際に「管理者として実行」する必要があります。
IISやApache、Skypeが動作している環境では、ポート番号を80番以外に設定する必要があります。
※サポート外ですが、CentOS5.5 + Mono1.9環境下でも動作します
1.「RdrWebServer.exe」を起動してください
※Windows 8/7/Vistaでは「管理者として実行」する必要があります
2.「プロデル簡易Webサーバ」の管理画面が表示されます。
ここで、公開フォルダおよびポート番号を設定します。

簡易Webサーバが公開状態にするフォルダを指定します。
Webブラウザがアクセス時に、ファイル名が指定されていない場合は、index.html、index.htm、index.rdrのいずれかのファイルを送ります。
HTTPリクエストを受け付けるポート番号を指定します。Webブラウザは、通常、ポート番号80番を使います。
3.[起動する]ボタンをクリックします
4.Webブラウザで、サーバへアクセスします。
※簡易Webサーバが動作しているコンピュータでアクセスする場合、
http://localhost/ でページが表示されます。
ファイルの取り扱いに使用するContent-Typeは、起動しているWindowsのファイル関連付けの設定に依存します。
プロデルプログラムを指定した場合の既定の文字コードは、プロデルファイルの文字コードが使用されます。
プロデル簡易Webサーバのインストール作業およびアンインストール作業は必要ありません。
ファイルを削除してください。
プロデルWebサーバを使うことで、プロデルでWebアプリケーションを作ることができます。
Webアプリケーションとは、プログラムによって表示する内容を変化させることができるWebページを指します。例えば、掲示板やブログ、ショッピングサイトなどがWebアプリケーションです。
利用する環境が異なるだけで、CGI(Perl)やPHPなどと原理は同じものです。
まずは、プロデルを使って簡単なWebアプリケーションを作ってみましょう。
「プロデルデザイナ」などで、次のようなプログラムを作成します。
このプロデルファイルのファイル名を「test.rdr」とします。
応答として「<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"
/>
</head>
<body>
現在は、[時刻]です。
</body></html>」を送る
作成したプロデルファイルを、プロデル 簡易Webサーバ(RdrWebServer.exe)があるフォルダ(ドキュメントルート)へコピーします。
プロデル簡易Webサーバを起動します。
1.RdrWebServer.exeを開きます。
※Windows Vistaの場合は、右クリックして「管理者として実行」をクリックします。
2.「プロデル簡易Webサーバ」の管理画面が表示されます。

3.[起動する]ボタンをクリックします。
※Windows XP SP2以降や、各種インターネットセキュリティソフトを導入している場合は、ブロックするかどうかの確認メッセージが表示されます。このときは、「ブロックを解除する」を選んでください
※この段階で起動しない場合は、IISまたはApache等のWebサーバがすでに起動している場合があります。この場合は、ポート番号を変えて再び[起動する]か、すでに起動しているWebサーバを停止させてください
1.プロデル簡易Webサーバが起動したら、Webブラウザでアクセスします。
プロデル簡易Webサーバが起動しているコンピュータで、アクセスする場合は、
アドレスバーに「http://localhost/test.rdr」と入力してアクセスします。
※ポート番号を80以外に設定した場合は、「http://localhost:ポート番号/test.rdr」としてアクセスしてください。
2.Webブラウザに現在時刻が表示されます。
3.Webブラウザの「更新」または「再読み込み」ボタンをクリックすると、時刻が変化します。
プロデル簡易Webサーバが起動している状態であれば、他のコンピュータのWebブラウザからアクセスすることもできます。他のコンピュータからアクセスするためには、Webサーバが起動しているコンピュータのIPアドレスが必要です。
1.Webサーバが起動しているコンピュータ上のプロデルデザイナで、次のように入力して、実行します。
ネットワークのIPアドレスを表示する
2.実行すると、IPアドレスが表示されます。
ここでは、説明のためにIPアドレスが、「192.168.1.1」であるとします
3.他のコンピュータのWebブラウザのアドレスバーに「http://192.168.1.1/test.rdr」と入力してアクセスします。
4.しばらくすると、時刻が表示されます。
※この段階で、「Webサーバがみつかりません」などと表示される場合は、ファイアウォール(インターネットセキュリティソフトなど)によって、Webサーバにアクセスできない可能性があります。
この場合は、インターネットセキュリティソフトの設定画面で、プロデル簡易Webサーバで設定したポート番号から外部アクセスできるように設定してください。
POST形式のフォームで送られたパラメータを取得する例です。
値は、[要求から「message」という引数を取得したもの]
応答として「<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
</head>
<body>
<form action="post.rdr" method="POST">
<input type="text" name="message">
<input type="submit" value=" 送信 ">
</form>
<hr>
[値]
</body>
</html>
」を送る
アクセスしたウェブブラウザにCookieを保存させたり、保存したCookieを取得したりする例です。
カウントクッキーを、[要求から「count」というクッキーを取得したもの]とする
もしカウントクッキーは、空なら
カウントは、1
応答として「count」というクッキーへ(カウント+1)を設定する
そうでなければ
カウントは、カウントクッキーの内容
カウントクッキーの有効期限を明日に変える
カウントクッキーの内容は、(カウント+1)
応答としてカウントクッキーを設定する
もし終わり
応答として「<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
カウントは、[カウント]です。
</body></html>」を送る
セッション変数の例です。
Cookieはウェブブラウザに保存されるのに対して、セッションはサーバ側に値が保存されるため、クライアントによって直接情報が変更される可能性がありません。
メッセージは、[要求から「message」という引数を取得したもの]
もしメッセージが「」でないなら
応答として「message」というセッション項目へメッセージを設定する
そうでなければ
メッセージを、[要求から「message」というセッション項目を取得したもの]とする
もし終わり
応答として「<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="session.rdr" method="POST">
<input type="text" name="message" value="[メッセージ]">
<input type="submit" value=" 投稿する ">
</form>
<a href="session.rdr">再表示</a>
</body></html>」を送る
プロデルCGIは、プロデルで書かれたWebアプリケーションをCGI (Common Gateway Interface)を使って動作させるランタイムエンジンです。
ApacheなどのWebサーバを組み合わせて、プロデルプログラムをCGIとして実行できます。
CGI動作には、プロデルの知識に加えて、Apacheなどのサーバの知識が必要です。
プロデルCGIは、次のいずれかの動作環境が必要です。
CGIが利用できるWebサーバに加えて、プロデルを動作させる環境が、別途必要です。
なお、標準的な共有サーバでCGIに対応していた場合でも
monoが導入されていないサーバでは、動作しません。
プロデルは、Windows環境上で動作することを想定して設計されています。
Linux上では、一部のプログラムが動作しない場合がありますので、ご了承ください。
プロデルCGIを使うことで、
Apache上で、プロデルのプログラムを動かすことができます。
プロデル簡易Webサーバで動作するプログラムを、
ほぼ変更することなく、動かすことができます。
Apacheでプロデルを動かすには、次の環境が必要です。
このページでは、XAMPPに含まれるApache HTTP Serverを使って、
プロデルCGIの動作環境を構築する方法を、紹介します。
XAMPPの公式サイトからXAMPPをダウンロードして、インストールします。
1.XAMPPがインストールされているフォルダ(C:\xampp\など)に「rdr」フォルダを作成します。
2.プロデル簡易Webサーバを解凍したフォルダまたは、プロデル本体から
次のファイルとフォルダを、「rdr」フォルダにコピーします。
次のプログラムを、test.cgi という名前で、「C:\xampp\htdocs\」へ保存します。
#!c:\xampp\rdr\rdrcgi.exe
応答として「<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
現在は、[時刻]です。
</body></html>」を送る
1.XAMPPのコントロールパネルでApacheを起動(Start)します。
2.ブラウザで「http://localhost/test.cgi」を開きます。
3.現在時刻が表示されれば、成功です!!
プロデル簡易Webサーバ用のサンプルプログラムを、プロデルCGIで動かすには、
拡張子を.cgiに変えて、ファイルの先頭に次のような内容を追加します。
#!c:\xampp\rdr\rdrcgi.exe
この部分は、apacheがCGIを処理するプログラムを指定するもので、
プロデルで書かれたプログラムの場合は、プロデルCGI (rdrcgi.exe)があるパスを指定します。
CGIとして実行するには、プロデルプログラムの拡張子を.cgiとする必要がありますが、
Apacheの設定を変更することで、.rdrでも動作させることができます。
Apacheの設定を変更するには、設定ファイル(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を再起動します。
.NET Frameworkのオープン実装であるMonoを使うことで、
Linux環境でも、Apacheを使ってプロデルのプログラムを動かすことができます。
Mono1.9以降がインストールできる環境であれば、Linux環境でもプロデルを動かすことができます。
なお、共有サーバなど、インストールできるソフトウェアに制限がある環境では、
LinuxであってもプロデルCGIを利用することはできません。
また、プロデルはWindowsでの動作を前提としているため、
一部の種類や手順が正常に動作しない場合があります。
Apacheでプロデルを動かすには、次の環境が必要です。
このマニュアルでは、CentOS 5.5とMono 1.9を使って、
プロデルCGIを動作させる環境の構築方法を説明します。
なお、CentOS以外の環境では、Monoの導入方法が異なります。
使用しているLinux環境にあわせた方法で、Monoを導入してください。
Mono1.9で、プロデルの基本的な機能は、動作しますが、
不具合により十分に機能が動作しない場合があります。
可能であれば、最新版を導入することをおすすめします。
Apacheがインストールされていない場合は、
Apacheをインストールして、CGIが動作するように設定を変更します。
Webサーバー構築(Apache) - CentOSで自宅サーバー構築
CentOS 5.5では、yumを使ってMono 1.9をインストールすることができます。
Monoをインストールするには、ターミナルで次のコマンドを実行します。
yum -y install mono-complete
※CentOS以外の環境では、yumが使用できない場合があります
1.「/usr/local」ディレクトリに「rdr」フォルダを作成します。
cd /usr/local mkdir rdr
2.プロデル簡易Webサーバを解凍したフォルダまたは、プロデル本体から
次のファイルとフォルダを、「rdr」フォルダにコピーします。
次のプログラムを、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=Shift_JIS">
</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サーバ用のサンプルプログラムを、プロデルCGIで動かすには、
拡張子を.cgiに変えて、ファイルの先頭に次のような内容を追加します。
#!/usr/bin/mono /usr/local/rdr/rdrcgi.exe
この部分は、apacheがCGIを処理するプログラムを指定するもので、
プロデルで書かれたプログラムの場合は、Monoのプログラム本体のパスに続いて、
プロデルCGI (rdrcgi.exe)があるパスを指定します。
CGIとして実行するには、プロデルプログラムの拡張子を.cgiとする必要がありますが、
Apacheの設定を変更することで、.rdrでも動作させることができます。
Apacheの設定を変更するには、設定ファイル(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を再起動します。
service httpd restart