ユーザ用ツール

サイト用ツール


top:デプロイ

デプロイ

Aloneでは、基本的に配布ファイルを展開するだけで動作するように設計していますので、適切なディレクトリをユーザーが決めることができます。

ウェブアプリケーションでは、実際にはブラウザからのリクエストをウェブサーバが受けて動作するため、ウェブサーバの設定を適切に実施する必要があります。

以下の例では、/usr/local/aloneにアプリケーションを作成することとし、Apache httpd 2.4 を使う場合を例に説明します。

ポイントは2点。

  • CGIでRubyプログラムが実行できること。
  • ドキュメントルートをどうするか。

方針1 htdocs下でcgiが実行できるように設定

配布ファイルは、標準でこの方針を想定しています。

  1. 配布ファイルを/usr/local/aloneディレクトリに展開します。
  2. httpdの設定ファイルを以下のように書き換えてrestartします。
httpd.conf
DocumentRoot "/usr/local/alone/htdocs"
<Directory "/usr/local/alone/htdocs">
    Options Indexes FollowSymLinks ExecCGI
    AllowOverride None
    Require all granted
    DirectoryIndex index.html index.rb
    AddHandler cgi-script .cgi .rb
</Directory>
  • DocumentRootをファイルを展開したパスに設定します。
  • DocumentRoot下のCGI、index.rb を実行できるように設定します。

テスト

ブラウザでindex.rbをアクセスして、CGIが実行されるかテストしてください。 (例) http://example.com/index.rb

Internal Server Errorが出る場合、以下のいくつかの方法でトラブルシュートをします。

  • index.rbの1行目を、そのサーバの環境で適切なshebangに書き換えます。(例:#!/usr/local/bin/ruby 等)
  • index.rbのコメントアウトされているputs “Content-Type…” 行を有効にして、ブラウザに It works! と表示されるか確認します。
  • ウェブサーバのエラーログを確認します。

方針2 cgi実行専用のディレクトリからしかcgi実行ができない場合

apache httpdのデフォルト設定に近い状態です。

  1. 配布ファイルを/usr/local/aloneディレクトリに展開します。
  2. 配布ファイルのhtdocs以下のファイルを、サーバのDocumentRootへコピーします(必須ではありません)
  3. 配布ファイルのhtdocs/index.rbを、cgi実行ディレクトリへコピーします。
  4. index.rbを環境にあわせて、1行目のshebang行、およびal_configのパスを書き換えます。
index.rb
#!/usr/bin/env ruby
 
# CGIそのものが動作しているか確認するには、以下の行を有功にして確認できる。
#  puts "Content-Type: text/plain\r\n\r\nIt works!"
 
require '/usr/local/alone/al_config'
require 'al_controller'

テスト

ブラウザでindex.rbをアクセスして、CGIが実行されるかテストしてください。 (例) http://example.com/cgi-bin/index.rb

top/デプロイ.txt · 最終更新: 2018/12/24 11:46 by hirohito