プロジェクトWebサーバーの詳細

 この文書では、プロジェクトWebサーバにインストールされているモジュール一覧やその設定状態、また使用に当たっての注意事項等を公開しています。

各プロジェクトのDocumentRoot

 プロジェクトWebサーバーの管理や構築は、シェルサーバー(shell.osdn.jp)で行います。プロジェクトWebサーバーでは、シェルサーバーの下記のディレクトリ以下が公開されます。

公開されるディレクトリ対応するシェルサーバーのディレクトリ
http://<プロジェクト名>.osdn.jp//home/groups/<プロジェクトUNIX名の1文字目>/<プロジェクトUNIX名の1、2文字目>/<プロジェクトUNIX名>/htdocs/
http://<プロジェクト名>.osdn.jp/cgi-bin//home/groups/<プロジェクトUNIX名の1文字目>/<プロジェクトUNIX名の1、2文字目>/<プロジェクトUNIX名>/cgi-bin/

プロジェクトWebサーバの権限

各プロジェクトのWebページを表示する際には、そのプロジェクトごとのユーザ/グループ権限で動作します。 (例えば foo というプロジェクトの場合 ユーザ foo.p グループ foo というユーザの権限でで動作します)

※ cgi 等でファイルを生成するような動作をするものに関しては上記に注意して permission の設定等を行ってください。

インストールされているスクリプト言語とバージョン

 プロジェクトWebサーバーでは、CGIの実行環境として下記のスクリプト言語が利用できます。

  • perl 5.10.1
  • python 2.6.6
  • php 5.3.3
  • ruby 1.8.7

利用できる.htaccessディレクティブ

 プロジェクトWebサーバーでは、各ディレクトリに.htaccessというファイルを用意することでWebサーバーの動作をカスタマイズできます。.htaccessファイルでは、Optionsディレクティブを除くすべてのディレクティブが利用可能です。

.httaccessファイルの使い方については、Apacheチュートリアルなどをご参照ください。

インストールされているApacheモジュール一覧

 プロジェクトWebサーバーでは、下記のApacheモジュールがインストールされています。

  • mod_access
  • mod_actions
  • mod_alias
  • mod_auth
  • mod_autoindex
  • mod_cgi
  • mod_dir
  • mod_env
  • mod_include
  • mod_mime
  • mod_negotiation
  • mod_rewrite
  • mod_setenvif

使い方については、apache.orgのオフィシャルドキュメントなどを参照してください。以下では、OSDNで使う上での設定方法を補足します。

mod_cgi

プロジェクトWebページの動的コンテンツ をご覧下さい。

mod_rewrite

mod_rewriteは非常に強力なURLマッピングツールですが、.htaccess内で使うにはいくつか注意が必要です。

まず、標準で書き換えエンジンはonになっていないので、ディレクトリごとにonを指定する必要があります。また、ディレクトリ内でのURL書き換えには「RewriteBase」を一緒に指定する必要があります。 apache.orgオフィシャルドキュメントの記述(特にRewriteBase)も参考にしてください。

いくつか簡単にサンプルを示します。

  • 「http://YOURPROJ.osdn.jp/foo.html」を同じディレクトリのindex.htmlにマッピングする

/htdocsの直下の.htaccessに以下のようにします。

RewriteEngine on
RewriteBase /
RewriteRule foo.html index.html

  • 「http://yourproj.osdn.jp/docsa/」以下は.htmでアクセスされても同名の.htmlの内容を返す

htdocs/docsの.htaccessの内容を以下のようにします。

RewriteEngine on
RewriteBase /docs
RewriteRule ^([^.]+).htm$ $1.html

  • 「/cgi-bin/bbs/bbs.cgi?no=NNN」で目的の記事にアクセスできる掲示板があったとして、/cgi-bin/bbs/articleNNNというURLで記事が見えるようにする
RewriteEngine on
RewriteBase /cgi-bin/bbs
RewriteRule ^article([0-9]+)$ bbs.cgi?no=$1