View Source

[English|http://wikis.sun.com/display/WebStack/Web+Stack+Getting+Started+Guide] \| 日本語

h1. OpenSolaris 2008.11 Web Stack 入門ガイド

{note:title=注}
最新のドキュメントは [http://wikis.sun.com/display/WebStack/Web+Stack+Getting+Started+Guide+%28Japanese%29] を参照してください。このドキュメント Web Stack 1.4 のものです。
{note}

{note:title=注}[Web Stack Getting Started Guide|http://wikis.sun.com/display/WebStack/Web+Stack+Getting+Started+Guide] を個人的に [katakai|http://blogs.sun.com/katakai] が訳したもので現在ドラフトです。現在以下のドキュメントが日本語に翻訳されています:
* [Sun Web Stack リリースノート|http://wikis.sun.com/display/WebStack/Sun+Web+Stack+Release+Notes+Japanese]
* [Sun Web Stack インストールおよび構成ガイド|http://wikis.sun.com/display/WebStack/Sun+Web+Stack+Installation+and+Configuration+Guide+Japanese]
* [Sun Web Stack 入門ガイド|http://wikis.sun.com/display/WebStack/Sun+Web+Stack+Getting+Started+Guide+Japanese]
* [OpenSolaris 2008.11 Web Stack 入門ガイド|http://wikis.sun.com/display/WebStack/Web+Stack+Getting+Started+Guide+Japanese]

翻訳の間違い等ありましたらお知らせください。
{note}

{section}
{column:width=30%}
{panel:borderColor=#236B8E|bgColor=#ffffff}
                              {color:black}{*}目次{*}{color}

----
*OpenSolaris 2008.11 Web Stack 入門ガイド*
{toc:outline=true|indent=20px|style=none|minLevel=2}
{panel}
{column}
{column}

h2. Web Stack とは

{anchor:introduction}
[OpenSolaris OS|http://opensolaris.org/os/] は Web アプリケーションの開発および配備のための完全なサポートを提供します。いくつかの一般的に使われているオープンソースアプリケーション、サーバー、フレームワークをパッケージ化し OS で利用できるようにしています。これらのアプリケーションで Web Stack は構成され OpenSolaris OS 用に最適化されたオープンソースアプリケーションを含んでいます。

Web Stack は以下を含んでいます:
# *サーバーソフトウェア* \- Apache Web Server, Apache Tomcat, Squid Proxy Server, lighttpd
# *データベースソフトウェア* \- MySQL Server
# *プログラミング環境* \- PHP, Perl, Ruby, および Python
# *キャッシングソフトウェア* \- Memcached
{note:title=注}Web Stack は OpenSolaris に完全に統合されパッケージマネージャー GUI あるいは pfexec pkg install コマンドを使って簡単にインストールできます。
{note}

h3. Web Stack の取得

{anchor:getting}
OpenSolaris 2008.11 のリリースを使用すると、Web Stack コンポーネントを個別にインストールできます。パッケージおよびそれらをインストールするためのコマンドを次の表に示します。

h4. Web Stack コンポーネントを個別にインストールする

|| コンポーネント名 || パケージ名 || コンポーネントをインストールするためのコマンド ||
| Apache 2.2 コアのみ | {{SUNWapch22,SUNWapch22d}} | {{pfexec pkg install SUNWapch22 SUNWapch22d}} |
| Apache 2.2 モジュール | {{SUNWapch22m-security, SUNWapch22m-jk, SUNWapch22m-fcgid, SUNWapch22m-dtrace}} | {{pfexec pkg install SUNWapch22m-security SUNWapch22m-jk SUNWapch22m-fcgid SUNWapch22m-dtrace}} |
| PHP5 | {{SUNWphp524, SUNWphp524core, SUNWphp524man, SUNWphp524-mysql, SUNWphp524-pgsql, SUNWapch22m-php5}} | {{pfexec pkg install SUNWphp524 SUNWphp524core SUNWphp524man SUNWphp524-mysql SUNWphp524-pgsql SUNWapch22m-php5}} |
| MySQL | {{SUNWmysql5}} | {{pfexec pkg install SUNWmysql5}} |
| PostgreSQL | {{SUNWpostgr-82-devel}} | {{pfexec pkg install SUNWpostgr-82-devel}} |
| Squid | {{SUNWsquid}} | {{pfexec pkg install SUNWsquid}} |
| Web Stack ユーザーインタフェース | {{webstackui}} | {{pfexec pkg install webstackui}} |
{note:title=注}{{{}pfexec}} コマンドを使用すると、{{root 以外の{}}}ユーザーがパッケージをインストールできます。
{note}
また、IPS 用の PackageManager のグラフィカルユーザーインタフェースを使用して、コンポーネントをインストールすることもできます。PackageManager を使用してパッケージをインストール、更新、および管理するには、[http://dlc.sun.com/osol/docs/content/2008.11/IMGPACKAGESYS/new-user.html] を参照してください。

h4. Web Stack バンドル全体をインストールするには

{anchor:installing}
AMP 開発者であれば AMP クラスタパッケージをダウンロードでいます。これは個々の AMP パッケージのスーパーセットです。AMP パッケージをダウンロードするには以下のコマンドを実行します:
{code}
$ pkg install amp-dev
{code}
{note:title=注}pkg install コマンドを実行するには root ユーザーになる必要があります。root 以外のユーザーは pkg install コマンドを pfexec コマンドと一緒に実行することもできます。{{pfexec pkg install amp-dev}} と実行してください。
{note}
以下の表では {{amp-dev}} パッケージに含まれる個々のコンポーネントのリストとそれぞれのパッケージの簡単な説明を示しています。
|| コンポーネント名 || パッケージ名 || バージョン || 説明 ||
| NetBeans | {{netbeans}} | 6.1 | オープンソースの統合開発環境。Java, C/C++, Ruby などのエンタープライズ、Web、およびモバイルアプリケーションの開発をサポート。 |
| PHP | {{SUNWphp524}} | 5.2.4 | PHP サーバー |
| | {{SUNWphp524doc}} | 5.2.4 | PHP サーバー ドキュメント |
| | {{SUNWphp524man}} | 5.2.4 | PHP サーバー マニュアルページ |
| | {{SUNWphp524-pgsql}} | 5.2.4 | PostgreSQL 用 PHP5 モジュール |
| | {{SUNWphp524-mysql}} | 5.2.4 | MySQL 用 PHP5 モジュール |
| Python | {{SUNWPython}} | 2.4.4 | Python インタプリタ。ライブラリとユーティリティ。 |
| | {{SUNWpython-twisted}} | 2.4.4 | インターネットアプリケーション用のイベントベースのフレームワーク |
| Apache Web Server | {{SUNWapch22}} | 2.2.8 | Apache Web Server V2.2 |
| | {{SUNWapch22m-jk}} | 1.2.25 | Apache Web Server V2.2 用 Tomcat コンテナプラグイン |
| | {{SUNWapch22m-security}} | 2.1.5 | Apache Web Server V2.2 用 Mod Security |
| | {{SUNWapch22d}} | 2.2.8 | Apache Web Server V2.2 ドキュメント |
| | {{SUNWapch22-php5}} | 2.2.6 | Apache Web Server V2.2 用 PHP5 モジュール |
| | {{SUNWapch22-fcgid}} | 2.2 | Apache Web Server V2.2 用 FastGCI プラグイン |
| | {{SUNWapch22m-dtrace}} | 0.3.1 | Apache Web Server V2.2 用 DTrace プラグイン |
| Apache Tomcat | {{SUNWtcat}} | 5.5.26 |
| MySQL | {{SUNWmysql15}} | 5.0.45 | MySQL Database Management System(ユーザーコンポーネント) |
| | {{SUNWmysql5-base}} | 5.0.45 | MySQL Database Management System(ベース) |
| Squid | {{SUNWsquid}} | 2.6.17 | Squid Web Proxy Cache |
| lighttpd | {{SUNWlighttpd14}} | 1.4.19 | lighttpd Server |
| lighttpd | {{SUNWlighttpd14}} | 1.4.19 | lighttpd Server |
| memcached | {{SUNWmemcached}} | 1.2.2 | 分散オブジェクトキャッシュフレームワーク |
| WebStack ツールおよび UI | {{webstackui}} | 0.5.11 | Web Stack のツールと UI パッケージでデスクトップに Web Stack を操作する機能を追加します。 |
{note:title=注}{{{}amp-dev}} はすべての Web Stack パッケージのスーパーセットです。おおよそのサイズは 650 Mバイトです。AMP 開発にはこのパッケージをダウンロードしてインストールします。このパッケージをダウンロードできない場合は、以下で説明するように個々のパッケージをダウンロードしてください。
{note}
AMP 実行環境のコンポーネントのみインストールしたい場合は {{amp}} パッケージをダウンロードできます。パッケージには開発環境は含まれていません。

amp パッケージをダウンロードしてインストールするには、以下のコマンドを実行します:
{code}
$ pkg install amp
{code}

h2. Web Stack IPS リポジトリ

{anchor:repository}
Web Stack IPS リポジトリは実験的なリポジトリで Web Stack に関係するアプリケーションとツールをホストしています。この Web Stack リポジトリでは Drupal や PHPMyAdmin などを提供しています。それぞれのサイトからダウンロードする代わりにこのリポジトリを使ってダウンロードしインストールすることができます。このリポジトリに用意されているパッケージは他の Web Stack のコンポーネントと動作するようにあらかじめ構成されています。

Web Stack リポジトリは [http://pkg.opensolaris.org/webstack|http://pkg.opensolaris.org/webstack] にあります。

OpenSolaris では {{pkg set-repository}} コマンドを使って追加リポジトリを設定できます。

h2. Web Stack UI の設定

{anchor:webstackui}
Web アプリケーションの開発環境を使用する前に、ログインのための環境を初期化してください。システムにログインするすべての新規ユーザーは、各自の環境を初期化する必要があります。{{amp-dev}} パッケージをダウンロード、インストールした後、*アプリケーション > 開発ツール > Initialize* をクリックし、初期化プロセスを開始します。

Web Stack UI をダウンロードし、インストールするには以下のコマンドを実行します:
{code}
$ pkg install webstackui
{code}
{note:title=注}すでに {{amp-dev}} パッケージをインストールしている場合は、{{webstackui}} パッケージもインストールされています。AMP パッケージを個別にインストールした場合、あるいは {{amp}} パッケージをインストールした場合には {{webstackui}} をインストールする必要があります。
{note}
{{webstackui}} パッケージは他の Apache パッケージに依存しているため、Apache Web Server をインストールしていない場合は、{{webstackui}} パッケージのインストール時に同時にインストールされます。前述のように Web Stack UI は AMP コンポーネントを制御するための GUI オプションです。AMP パッケージをダウンロードして設定するにはさらに AMP {{amp-dev}} パッケージをインストールする必要があります。

Web Stack UI をインストールすればメニューからサンプルアプリケーションの作成や実行が行なえます。*アプリケーション > 開発ツール > Web Stack Admin > Sample App* のメニューを参照してください。

h2. サーバー環境を設定する

\\

{{amp-dev}} パッケージをインストールすれば、Apache Web サーバーのパッケージを別途ダウンロードする必要はありません。{{amp-dev}} パッケージをインストールしていない場合、Apache のコアの実行環境をインストールするには以下のコマンドを実行してください:
{code}
pkg install SUNWapch22 SUNWapch22d
{code}
上記のコマンドは Apache のドキュメントもダウンロードします。他の Apache モジュールをダウンロードするには以下を実行してください:
{code}
$ pkg install SUNWapch22m-security SUNWapch22m-jk
SUNWapch22m-fcgid SUNWapch22m-dtrace
{code}
Web Stack には Apache 2.2.8 Web サーバーが含まれています。


Web Stack の Apache Web Server サーバーは PHP 配備環境に構成され最適化されています。NetBeans IDE では Apache Web Server を使用し PHP ベースのアプリケーションを Apache Web Server に配備できます。

Apache Web Server を起動するには:
# *アプリケーション > 開発ツール > Initialize* をクリックします
# *アプリケーション > 開発ツール > Web Stack Admin > Start Apache2/MySQL Servers* をクリックします

h3. Apache Web Server のインストール場所

Apache Web Server パッケージをダウンロードしてインストールするとバイナリは {{/usr/apache2/2.2}} にインストールされます。他の実行設定ファイルは {{/etc/apache2/2.2}} にインストールされます。

h3. サーバーの管理をする

Web Stack コンポーネントの SMF フレームワークはこのリリースでは初期化されません。Web Stack UI または起動コマンドを手動で実行しサーバーを起動してください。

Apache Web Server を起動するには root ユーザーで次の手順を実行してください:
{code}
svccfg import /var/svc/manifest/network/http-apache22.xml
svcadm enable network/http:apache22
{code}
最初のコマンドでは Apache Web Server のマニフェストファイルをインポートしています。このコマンドは1度だけ実行する必要があります。サーバーを停止するには以下のコマンドを実行します:
{code}
svcadm disable network/http:apache22
{code}

h3. Apache Web Server と SMF

Apache Web Server の SMF プロパティーを以下の表のリストに示します:
|| SMF プロパティー名 || 値 ||
| httpd/server_type | prefork (デフォルト) または worker |
| httpd/enable_64bit | true または false(デフォルト) |
| httpd/startup_options | 有効な {{apachectl}} オプション |
以下の例では SMF の使用方法を示します:
# *SMF プロパティーをリストする*
{code}
$ svccfg -s apache22 listprop httpd/*
{code}
# *32-bit-prefork サーバーを実行する*
{code}
$ svccfg -s apache22 setprop httpd/server_type=prefork
$ svcadm refresh http:apache22
$ svcadm disable http:apache22
$ svcadm enable apache22
{code}
# *64-bit-prefork サーバーを実行する*
{code}
$ svccfg -s apache22 setprop httpd/enable_64bit=true
$ svccfg -s apache22 setprop httpd/server_type=prefork
$ svcadm refresh http:apache22
$ svcadm disable http:apache22
$ svcadm enable http:apache22
{code}
# *32-bit-worker サーバーを実行する*
{code}
$ svccfg -s apache22 setprop httpd/server_type=worker
$ svcadm refresh http:apache22
$ svcadm disable http:apache22
$ svcadm enable http:apache22
{code}
# *64-bit-worker サーバーを実行する*
{code}
$ svccfg -s apache22 setprop httpd/enable_64bit=true
$ svccfg -s apache22 setprop httpd/server_type=worker
$ svcadm refresh http:apache22
$ svcadm disable http:apache22
$ svcadm enable http:apache22
{code}

h2. MySQL DB を設定する

MySQL サーバーはもっとも使われているリレーショナルデータベースです。IPS リポジトリには MySQL パッケージが提供されています。{{amp-dev}} パッケージをダウンロードし、インストールすれば MySQL データベースもインストールされます。{{am-dev}} パッケージをインストールしていない場合は以下のコマンドで MySQL パッケージのみをダウンロードできます:
{code}
$ pkg install SUNWmysql5
{code}
MySQL を動かすには設定する必要があります。Web Stack UI パッケージをインストールしている場合はメニューから MySQL の設定が可能です。

h3. MySQL データベースのインストール場所

MySQL パッケージをダウンロードしてインストールした場合、バイナリは {{/usr/mysql}} 以下にインストールされます。

h3. MySQL サーバーを管理する

MySQL サーバーの SMF プロパティーを以下のテーブルのリストに示します:
|| SMF プロパティー名 || 値 ||
| mysql/data | /var/mysql/5.0/data \\ |
| mysql/enable_64bit | false(デフォルト) または true \\ |
以下の例では SMF の使用方法について示します:
# *SMF プロパティーをリストする*
{code}
$ svccfg -s mysql:version_50 listprop mysql/*
{code}
# *MySQL 5.0 サーバーを 32 ビットで実行する (デフォルト)*
{code}
$ svccfg -s mysql:version_50 setprop mysql/enable_64bit=false
$ svcadm refresh mysql:version_50
$ svcadm disable mysql:version_50
$ svcadm enable mysql:version_50
{code}
# *MySQL 5.0 サーバーを 64 ビットで実行する*
{code}
$ svccfg -s mysql:version_50 setprop mysql/enable_64bit=true
$ svcadm refresh mysql:version_50
$ svcadm disable mysql:version_50
$ svcadm enable mysql:version_50
{code}
# *MySQL データディレクトリを変更する (デフォルトでは /var/mysql/5.0/data)*
{code}
$ svccfg -s mysql:version_50 setprop mysql/data=/zpool/data
$ svcadm refresh mysql:version_50
$ svcadm disable mysql:version_50
$ svcadm enable mysql:version_50
{code}

Web Stack コンポーネントの SMF フレームワークはこのリリースでは初期化されません。Web Stack UI または起動コマンドを手動で実行しサーバーを起動してください。

MySQL サーバーを起動するには root ユーザーで以下の手順を実行します:
{code}
svccfg import /var/svc/manifest/application/database/mysql.xml
svcadm enable application/database/mysql:version_50
{code}
最初のコマンドでは MySQL のマニフェストファイルをインポートしています。このコマンドは1度だけ実行する必要があります。サーバーを停止するには以下のコマンドを実行します:
{code}
svcadm disable application/database/mysql:version_50
{code}

h2. セキュア Web サイトを設定する

Web サイトのセットアップのための基本的な Apache サーバーの設定方法を紹介しました。ここでは {{https}} 経由の Web リクエストを処理するセキュア Web サイトを設定します。Web Stack にパッケージされている Apache Web Server の {{mod_ssl}} は https をサポートします。

SSL をサーバーで設定するには以下のタスクを実行します:
# 証明書を生成します
# Apache 設定ファイルを変更します

h3. 証明書を生成する

この例では自己署名(self-signed)のテスト証明書を生成します。この証明書は認証機関 (CA) で署名されていないためブラウザが trust に設定されている場合は使うことができません。

実稼働のセキュアサーバーを設定する場合には、Verisign などの会社に証明書を署名してもらうようにお金を払うことができます。

{note:title=注}証明書はサーバーごとでそのサイトの名前を含むため、一つのセキュア Web サーバーは一つのマシンでのみ実行できます(IP 別名が設定されていない場合)。ただしサーバーはセキュアおよび非セキュア接続両方で動作させることができます。
{note}
シェルから以下を実行します:
{code}
$ openssl req -new -x509 -nodes -out server.crt -keyout server.key
{code}
証明書の属性を入力するように質問されます。詳細は [http://sial.org/howto/openssl/self-signed/] を参照してください。

{{openssl}} ユーティリティは OpenSolaris OS ではデフォルトで利用可能です。このコマンドは2つのファイルを生成します:

# *server.crt* \- SSL 証明書ファイル
# *server.key* \- SSL キーファイル

h3. {{ssl.conf}} を編集する

サンプルの {{ssl.conf}} ファイルは {{/etc/apache2/2.2/samples-conf.d}} にあります。

このファイルを {{/etc/apache2/2.2/conf.d}} に移動します:
{code}
$ pfexec cp /etc/apache2/2.2/samples-conf.d/ssl.conf /etc/apache2/2.2/conf.d/ssl.conf
{code}
そして {{/etc/apache2/2.2/conf.d/ssl.conf}} ファイルを編集しこれらのパラメータ値を変更します:
{code}
...
SSLCertificateFile "<server.crt ファイルへのパス>"
SSLCertificateKeyFile "<server.key ファイルへのパス>"
...
{code}
設定ファイルは /etc/apache2/2.2/conf.d から自動的に読み込まれます。このため {{/etc/apache2/2.2/httpd.conf}} には以下の行があります:
{code}
...
Include /etc/apache2/2.2/conf.d/*.conf
...
{code}
変更を有効にするには Apache Web Server を再起動します。アプリケーション > 開発ツール > Web Stack Admin > Stop Apache2/MySQL Servers をクリックし、アプリケーション > 開発ツール > Web Stack Admin > Start Apache2/MySQL Servers をクリックします。


ブラウザウィンドウで {{[https://localhost]}} を表示します。いくつかのブラウザでは証明書が不正であると表示されることがあります。例外として追加しセキュア接続のテストを継続します。詳細については以下のドキュメントを参照してください。
* [OpenSSL 証明書 HOWTO|http://www.openssl.org/docs/HOWTO/certificates.txt]
* [{{mod_ssl}} モジュールリファレンス |http://httpd.apache.org/docs/2.2/mod/mod_ssl.html]

h2. Proxy Server の設定

Web Stack ソフトウェアでは Squid Proxy Server はプロキシサーバーと Web キャッシュデーモンが利用可能です。Squid Proxy Server は繰り返しのリクエストをキャッシングすることにより主に Web サーバーの高速化に使われます。

Squid Proxy Server は二通りの使用方法があります:
# Squid Proxy Server は ノーマルモード として動作させることができます。これは制限された個数のクライアントに対して無制限の Web サーバーのコンテンツをキャッシュします。
# Squid Proxy Server は リバースプロキシモード (Web サーバーアクセラレーション) として動作させることができます。これは制限された個数のサーバーで無制限のクライアントに対してキャッシュを提供します。

例えばサイトが重い負荷がかかった場合は追加のハードウェアを購入する前に以下を試してみることができます:

# アプリケーションが memcached を使うように設定します。(以下のドキュメントで説明します)
# Web サーバーに Squid Proxy Server のようなキャッシングサーバーを設定します。

Squid-Apache Web Server の設定の一例です:

# Apache Web Server をポート 8080 で実行
# Squid Proxy Server をポート 80 で実行
# ポート 80 でクライアントからのリクエストを受け取ると Squid Proxy Server は最初に以前にリクエストがあったかどうかチェックします。もしあれば Apache サーバーはサーバーの負荷を軽減するために Web サーバーに接続しません。

以下のドキュメントを参照してください:

* [http://dlc.sun.com/osol/docs/content/SQUIDBALANCE/ggyxf.html] squid をリバースプロキシ、またはロードバランサとして設定する
* [http://www.squid-cache.org/]

h3. PostgreSQL データベースを設定する {anchor:postgres}

PostgreSQL はオープンソースのエンタープライズデータベースで OpenSolaris OS で完全にサポートされています。多くのプロプライアタリのデータベースと違い, PostgreSQL はコミュニティにおける 'failsafe DB' として知られています。PostgreSQL はフリーで Sun は Solaris ディストリビューションにこのデータベースを含めています。サポートしているバージョンは PostgreSQL 8.2 です。

PostgreSQL サービスを有効にする前に以下のタスクを実行してください:
{code}
$ pfexec pkg install SUNWpostgr-82-server SUNWpostgr-82-libs
$ pfexec pkg contents SUNWpostgr-82-server | grep -i var/postgres/8.2/data
var/postgres/8.2/data
var/postgres/8.2/data_64

$ pfexec pkg list |grep -i postgr
SUNWpostgr-82-devel 8.2.10-0.101 installed ----
SUNWpostgr-82-libs 8.2.10-0.101 installed ----
SUNWpostgr-82-server 8.2.10-0.101 installed ----
SUNWpostgr-83-libs 8.3.4-0.101 installed ----

$ pfexec svcs -a |grep -i post
disabled 17:21:33 svc:/application/database/postgresql:version_82_64bit
disabled 17:21:33 svc:/application/database/postgresql:version_82
disabled 17:21:33 svc:/application/database/postgresql:version_81
online 14:55:52 svc:/system/postrun:default
{code}
ここで以下のコマンドを実行します:
{code}
pfexec svcadm enable postgresql:version_82
{code}
PostgreSQL データディレクトリを設定する必要があるかもしれません。あるいは {{postgres}} ユーザーを OpenSolaris OS に作成する必要があるかもしれません。上記のコマンドは PostgreSQL DB を起動します。

あらかじめ定義されている PostgreSQL SMF サービスはデフォルトでは無効になっています。そのため SMF サービスを有効にしないとデフォルトポートは使用されません。PostgreSQL をデフォルト以外のポートで起動することもできます。
PostgreSQL インスタンスを使用するユーザーの権限で管理し、デフォルトポートで実行するには前述の {{pg_ctl start}} で initdb を呼び出します。

すでに定義してある PostgreSQL SMF サービスを有効にするには、また他のユーザー名から管理するには必要な権限を割り当てる必要があります。

以下のコマンドを一度実行してください:
{code}
$ usermod -P "Postgres Administration" <ユーザー名>
{code}

h2. PHP 環境

{anchor:phpenv}
{{amp-dev}} パッケージをインストールした場合は PHP の実行環境や拡張機能を別途インストールする必要はありません。{{amp-dev}} パッケージをインストールしていない場合は以下のコマンドで PHP 実行環境をインストールできます:
{code}
$ pkg install SUNWphp524 SUNWphp524man
SUNWphp524-mysql SUNWphp524-pgsql SUNWapch22m-php5
{code}

h3. PHP のインストール場所

PHP パッケージを上記のようにダウンロードしてインストールした場合は、バイナリは {{/usr/php/5.2}} に、他の設定ファイルは {{/etc/php/5.2}} ディレクトリにインストールされます。
{note:title=注}利用可能なバージョン - PHP 5.2.4.
{note}

h3. 利用可能な PHP 拡張機能

{{amp-dev}} パッケージをインストールすると、いくつかの PHP モジュールは拡張機能として利用可能です。各 PHP の拡張機能に対して、拡張機能固有の INI ファイルが {{/etc/php/5.2/conf.d}} に含まれています。これらの PHP 拡張機能はデフォルトで有効です。いくつかのサードパーティの PHP 拡張機能はデフォルトでは無効になっています。 PHP 拡張機能の特定の INI ファイルの変更することで特定の設定変更が可能です。

以下は Web Stack で利用可能な PHP 拡張機能のリストです:
{code}
bcmath, exif, mbstring, pdo_sqlite, sysvsem, xmlrpc, bz2, ftp,
mysql, pgsql, sysvshm, xmlwriter, calendar, gd, mysqli, posix,
tcpwrap, xsl, ctype, gettext, openssl, shmop, tcpwrap, zip,
curl, hash, pcntl, soap, tidy, zlib, dba, iconv, pdo, sockets,
tokenizer, dbase, n.so, pdo_mysql, sqlite, wddx, dom,
ldap, pdo_pgsql, sysvmsg, xmlreader, tidy
{code}
{note:title=注}パッケージ化されたすべての拡張機能が記述されているわけではありません。{{/etc/php/5.2/conf.d}} ディレクトリを参照してください。
{note}


h3. バンドルされている PHP 拡張機能と有効化/無効化する

{{/etc/php/5.2/conf.d}} ディレクトリにある {{<extension>.ini}} ファイルの行をコメントアウトすることにより PHP 拡張機能を有効にしたり無効にしたりできます。

例えば Tidy PHP 拡張機能を無効にするには、以下のタスクを実行します:
# {{/etc/php/5.2/conf.d/tidy.ini}} をテキストエディタで開きます。
# Tidy 拡張機能を無効にするには以下の行をコメントアウトします。
{code}
;extension=tidy.so
{code}

拡張機能を有効にするには行からコメント文字 ({{;}}) を削除します。

h3. AMP GUI での PHP 設定

Apache Web Server でサポートされている PHP の設定は AMP GUI で行なうことができます。GUI ツールを起動するには アプリケーション > 開発ツール > WebStack Admin > Options をクリックします。

PHP デバッガはデフォルトでは有効になっていません。このオプションを有効にするには PHP デバッガチェックボックスを選択します。NetBeans IDE は PHP のプロジェクトのデバッグに {{XDebug}} を使用します。

h2. Python 環境

{{pkg install amp-dev}} では {{SUNWPython}} パッケージもインストールします。

h2. Ruby 環境

Ruby パッケージをダウンロードしてインストールするには以下のコマンドを実行します:
{code}
$ pkg install ruby-dev
{code}
{{ruby-dev}} をダウンロードしてインストールすれば NetBeans の Ruby プラグインもインストールできます。Ruby の開発に NetBeans を使う予定がない場合は Ruby パッケージだけを以下のようにインストールできます:
{code}
$ pkg install SUNWruby18
{code}

h3. Ruby のインストール場所

上記のように Ruby パッケージをダウンロードしてインストールすると、バイナリは {{/usr/ruby/1.8}} にインストールされます。

h2. Perl の環境

Perl は {{/usr/perl5/5.8.4}} にあります。


h2. Java と Web アプリケーションの配備

Web Stack ソフトウェアには Tomcat 5.5 サーブレットコンテナが Web アプリケーションの JSP とサーブレットの配備用に用意されています。Tomcat Server は OpenSolaris 用 NetBeans にパッケージ化されています。NetBeans に Tomcat のライフサイクルを管理するために NetBeans 上で Tomcat のインストールディレクトリを設定することができます。

Tomcat は {{/usr/apache/tomcat}} 以下にあります。

Tomcat を起動するには、以下のタスクを実行します:
# 次のコマンドを実行します:
{code}
pfexec /usr/apache/tomcat/bin/startup.sh
Using CATALINA_BASE: /var/apache/tomcat
Using CATALINA_HOME: /usr/apache/tomcat
Using CATALINA_TMPDIR: /var/apache/tomcat/temp
Using JRE_HOME: /usr/java
{code}

Tomcat を停止するには、以下のタスクを実行します:
{code}
pfexec /usr/apache/tomcat/bin/shutdown.sh
{code}
Tomcat 設定ファイルは {{/etc/apache/tomcat.conf}} 以下にあります。
\\

h2. ゾーンにおける Memcached

[Memcached On Zones|Memcached On Zones] を参照してください。

h2. Web Stack コンポーネントのカスタマイズ

初期化後、Web Stack コンポーネントのいくつかをカスタマイズできます。


「起動」メニューから、「すべてのアプリケーション」 > 「開発者用ツール」 > 「Web Stack Admin」 > 「Options」の順に選択します。「Web Stack Admin のオプション」パネルが表示されます。「General」タブでは、システムの起動時に、またはログインするたびに、自動的にサーバーが起動するように設 定できます。

設定ファイルの編集などの詳細オプションについては、「Apache」タブ、「MySQL」タブ、および「PHP」タブ上にある「{{Advanced Configuration}}」をクリックします。
{note:title=注}変更を有効にするには、サーバーを再起動してください。
{note}
Apache の詳細設定オプションでは、{{httpd.conf}} ファイルを編集できます。Apache の設定方法の詳細については、{{/usr/apache2/2.2/manual/configuring.html.en}} のドキュメントを参照してください。

PHP の詳細設定では、{{php.ini}} ファイルを編集できます。{{php.ini}} ファイルを使用した PHP の設定方法の詳細については、{{/usr/php/5.2/doc/html/configuration.html}} のドキュメントを参照してください。

MySQL の詳細設定では、{{/etc/mysql/5.0/my.cnf}} で入手可能な {{my.cnf}} ファイルを編集できます。


h2. PHP アプリケーションのデバッグサポート

# OpenSolaris の「起動」メニューから アプリケーション > 開発ツール > Web Stack Admin > Options を選びます。オプションダイアログが表示されます。
# PHP タブを選択します。
# Debug チェックボックを選択します。 このチェックボックスを選択することいよりすべての PHP アプリケーションでデバッグを有効にします。
# サーバーを再起動するようにたずねられます。
# Restart をクリックし変更を有効にします。

h2. 開発環境としての NetBeans IDE

ここでは OpenSolaris 2008.11 システムで Web Stack ソフトウェアで利用できる Web Stack コンポーネントを使って NetBeans IDE で Web アプリケーションを構築する方法を説明します。はじめにエンドツーエンドのエンタープライズレベルの Web アプリケーションを開発する手順を挙げてみます。開発に IDE を使用するには以下が必要です:
* *サーバーサポート* \- IDE はサーバーのライフサイクルを直感的で簡単に使えるインタフェースが必要です。
* *言語サポート* \- IDE はプログラミング言語または Web アプリケーションが構築できる Web アプリケーションのフレームワークをサポートする必要があります。
* *データベースサポート* \- IDE はテストおよび実稼働のデータベースの開発環境を統合している必要があります。

一般的に開発環境は最小限の労力で Web アプリケーションの構築をサポートし、プロパティーエディタ、ウィザード、あるいはウィジェットを通してスタックレベルの設定のサポートを提供する必要があります。サーバーのサポート、言語のサポート、およびデータベースのサポートは Web アプリケーション開発において IDE が提供する3つの重要な部分と言えるでしょう。

NetBeans IDE は洗練されたインタフェースを備えこれらすべての要素に考慮しており、これにより Web 開発が簡単に行なえます。NetBeans IDE では Web アプリケーションを PHP や Rails のフレームワークを使い、またデータベースには MySQL や PostgresSQL を使い構築できます。
{note:title=注}NetBeans IDE を Web Stack コンポーネントと一緒にインストールするには、{{amp-dev}} パッケージをインストールしてください。
{note}

h3. NetBeans IDE のインストール場所

amp-dev パッケージで NetBeans IDE をダウンロードし、インストールした場合は、NetBeans IDE は {{/opt/netbeans-6.0ss/bin/netbeans}} (NetBeans 6.0 の場合) にあります。

AMP スイートが必要なく Java 開発だけに NetBeans IDE を使用したい場合は、以下のコマンドを実行することで NetBeans IDE のみ取得することができます:
{code}
$ pkg install SUNWnetbeans-ide
{code}
NetBeans IDE はまた特定の開発用途別に用意されています。開発の要求に基づきそれぞれのパッケージ、例えば {{SUNWnetbeans-javase}}, {{SUNWnetbeans-javaee}}, および {{SUNWnetbeans-cpp}} をダウンロードしてください。

また NetBeans IDE を使って Java/PHP/Ruby の開発ができます。NetBeans IDE は IDE から直接 Web サーバーやデータベースの管理のための統合された設定ウィンドウをサポートします。正式な pkg リポジトリから利用可能な NetBeans のバージョンは NetBeans Web サイトから取得できるものより古い場合がありますので注意してください。以下では開発用に NetBeans IDE 6.0 を設定する方法を説明します。

h3. サーバー環境を設定する

NetBeans IDE はさまざまな Java EE サーバーと Web サーバーをアプリケーションの配備用にサポートしています。プロジェクトで使用するサーバーを NetBeans では複数設定し持つことができます。たとえば PHP ファイルの配備用に設定した Apache 2 Web Server、Java ベースの Web アプリケーションの配備用に設定した Apache Tomcat コンテナ、および Rails アプリケーションの配備用に WEBrick サーバーを持つことができます。

h3. Apache Web Server

NetBeans 6.1 以上を使う場合にはサーバーを設定する必要はありません。プロジェクトを作成時にサーバーを設定できます。

Apache Web Server を使って PHP の Web アプリケーションを作成するには基本的な手順があります。Apache Web Server は PHP ファイルのサポート用にすでに設定されているため、PHP のプラグインをインストールする以外の操作は必要ありません。

h3. WEBrick サーバー

NetBeans IDE は Ruby の Web サーバーとしてもっともよく使われている WEBrick をパッケージに含んでいます。
WEBrick は Rails プロジェクトを実行すると自動的に起動します。WEBrick のコンソールウィンドウは出力ウィンドウに表示され Web サーバーの出力を表示します。WEBrick サーバーの手動の設定は必要ありません。Mongrel やその他のサーバーを使う場合、「ツール」>「Ruby gems」を起動し gems を更新してください。

h3. 言語とアプリケーションのサポート

NetBeans は Java 開発用だけの IDE と勘違いしている人が多いです。実際には NetBeans IDE は Java 以外のスクリプト言語、例えば PHP や Ruby、またその他のスクリプト言語をサポートしています。OpenSolaris OS で NetBeans を使用しているのであれば Web Stack によりこれらの言語サポートを使うことができます。
{note:title=Note}[NetBeans スクリプト言語サイト|http://scripting.netbeans.org] には NetBeans のスクリプト言語のサポートに関する詳しい情報が提供されています。
{note}

h3. PHP 開発

PHP はインタプリタで、動的な Web ページのスクリプト言語です。NetBeans IDE には PHP を編集したりデバッグのサポートがあります。NetBeans の PHP サポートには以下の機能があります:

NetBeans でプラグインをダウンロードし設定した後、PHP プロジェクトを作成します。ただし PHP プロジェクトを実行しデバッグするには以下の操作が必要です:
* *Apache Web Server* \- Web Stack が利用できます。ローカルサーバーあるいは FTP を使ったリモートサーバーが使用できます。一般的には実稼働環境はリモートサーバーですが、開発やデバッグ用にローカル Web サーバーは構成されます。
* *PHP エンジン* \- Web Stack が利用できます。
* *PHP デバッガ* \- Web Stack の PHP 拡張機能が利用できます。NetBeans IDE の PHP プラグインは XDebug を利用できますが、デバッガの利用は任意です。

Web Stack ソフトウェアの Apache 2 と PHP を利用する場合は追加構成は必要ありません。
{note:title=注}PHP 言語のインタプリタは Apache Web Server に統合されています。MySQL と PostgreSQL データベースサポートの PHP モジュールが Apache Web Server 用に提供されています。Apache 2.2 worker MPM 用に PHP を設定する場合は、Apache 2.2 Web Server + PHP FastCGI を使用する必要があります。
{note}
いくつかの PHP モジュールは Web Stack ソフトウェアに拡張機能としてパッケージ化されています。個々のモジュールは対応する INI ファイルが {{/etc/php/5.2/conf.d}} ディレクトリに用意されています。これらの PHP 拡張機能はデフォルトで有効になっています。いくつかのサードパーティーの拡張機能は無効になっています。PHP 拡張用の INI ファイルは特定の構成の変更にともない編集できます。

PHP でデバッグのサポートを有効にするには以下のステップを実行します:
# アプリケーション > 開発ツール > Web Stack Admin > Options をクリックします。
# PHP タブに移動し、'PHP Debugger' チェックボックを選択します。
# PHP タブで, Advanced Configuration をクリックし INI ファイルを編集します。PHP デバッガ拡張機能を有効にするには {{/etc/php/5.2/conf.d/xdebug.ini}} ファイルを編集します。

h3. Ruby/Rails 開発環境

NetBeans IDE では Ruby と Ruby on Rails アプリケーションの構築、実行、デバッグなどの統合された開発環境を提供しています。NetBeans は Ruby ファイルや RSpec 仕様のファイル、YAML ファイルなどを含むプロジェクトをサポートします。NetBeans を設定して Web Stack の提供するネイティブ Ruby を使うことができます。IDE はまた Rake 構築ツールの統合と対話型の Ruby シェルのサポートを含んでいます。
{note:title=注}Gem マネージャーを使用するには gem がインストールされている必要があります。IDE は Ruby のインストールディレクトリに書き込み権がある必要があります。
{note}
{{/var/ruby/1.8/gem_home}} に Ruby gems リポジトリがあります。{{GEM_HOME}} 環境変数を {{/var/ruby/1.8/gem_home}} に設定することでこの Ruby gems のインストールを使用できます。{{/var/ruby/1.8/bin}} には Ruby の実行可能ファイルと他のユーティリティプログラムを含んでいます。これらのプログラムは {{/usr/bin}} からリンクされています。例えば {{/usr/ruby/1.8/bin/ruby}} は {{/usr/bin/ruby1.8}} からリンクされています。また 1.8 がシステムにインストールされている最新バージョンであれば {{/usr/bin/ruby}} にもリンクされています。

Ruby 用に NetBeans を使用する前に {{GEM_HOME}} 環境変数を設定します。

sh の場合 \-> {{export GEM_HOME=/var/ruby/1.8/gem_home}}
csh の場合 \-> {{setenv GEM_HOME /var/ruby/1.8/gem_home}}
{note:title=注}gem を使用するにはインターネットに直接接続している必要があります。ファイアーウォール内やプロキシサーバーを使う環境であれば {{HTTP_PROXY}} 環境変数を設定します。
{note}
NetBeans IDE では {{GEM_HOME}} 環境変数を設定しないと gem が動作しないためネイティブ Ruby は使えません。gem リポジトリを NetBeans からアクセス可能にするために {{GEM_HOME}} を設定してください。また {{GEM_HOME}} で参照されるディレクトリは書き込み可能にしておく必要があります。以下のコマンドを実行してください:
{code}
$ chmod -R a+w /var/ruby/1.8/gem_home
{code}

h3. Ruby on Rails (RoR)

Rails はデータベースを考慮した Web アプリケーション開発用のフルスタックのフレームワークです。Rails は Ruby 開発環境を提供しています。Ruby gems は Ruby パッケージマネージャーの標準です。Run Web Stack ソフトウェアで Ruby をインストールすれば Ruby gems もインストールされます。これにより以下のコマンドを実行すると Rails とその依存機能をインストールすることができます:
{code}
/usr/bin/gem install rails --include-dependencies
{code}
コマンド行から gem コマンドを実行するかわりに NetBeans IDE からも Rails をインストールできます。Ruby on Rails の開発環境を構築することができます。NetBeans IDE では Ruby on Rails プロジェクトを作成することができます。IDE でプロジェクトを作成すれば rails コマンドで作成したものと同様のフォルダとファイルが作成できます。

h3. Ruby Gems

Ruby Gems は Ruby ソフトウェアライブラリを管理するシステムです。このシステム用にパッケージ化された Ruby コードは gem と呼ばれています。Gems はダウンロード、インストール、Ruby ライブラリの管理に使われます。追加の gem をダウンロードしてインストールできるため OpenSolaris の Web Stack パッケージでは多くの gem を含んでいません。NetBeans からも Gems の管理ができます。

Ruby Gems の設定と情報についての詳細は [NetBeans Ruby サイト|http://ruby.netbeans.org/] を参照してください。
\\

h2. DTrace と Web Stack

[DTrace and Web Stack|DTrace and Web Stack] を参照してください。

h2. 開発環境から本稼働環境へ移行する

Web アプリケーション開発をすばやく簡単に学習できる、「起動」メニューの簡単なユーザーインタフェースは開発用です。パフォーマンス、スケーラビリティ、お よびセキュリティをカスタマイズおよびチューニングせずに、ミッションクリティカルな Web サイトを実行することはお勧めできません。この環境で作業用アプリケーションを開発およびデバッグした場合、ミッションクリティカルなニーズのために十分 チューニングされた、可用性の高い Sun ハードウェア上で実行されている本稼働用の品質を持つ OpenSolaris インストールに、データベースのデータおよび PHP ファイルを転送することをお勧めします。

h2. Web Stack コンポーネントのファイルレイアウト

この節では、Web Stack コンポーネントのファイルレイアウトについて説明します。

h3. Apache 2 HTTPd Server ファイル

Apache Web Server のファイルの構造を次のリストに示します:
| /etc/apache2/2.2/httpd.conf | サーバー設定ファイルが含まれています。新しくインストールされたサーバーには、デフォルトの {{httpd.conf}} ファイルが含まれています。これはメインの設定ファイルです。 |
| /etc/apache2/2.2/conf.d | デフォルトでは、このディレクトリの下にあるすべての {{.conf}} ファイルをサーバーは読み込みます。また、これは 2 つの追加的な {{.load}} 設定ファイルである、{{modules-32.load}} および {{modules-64.load}} を持っています。これには、バンドルされている 32 ビットおよび 64 ビットの apache モジュールをそれぞれ読み込むための {{LoadModule}} 指令が含まれています。このディレクトリ内のすべての {{.conf}} ファイルは、{{httpd.conf}} の次の行によって含まれています。 \\
\\ {{Include /etc/apache2/2.2/conf.d/*.conf}}. 追加的な設定をここに追加できます。 |
| /etc/apache2/2.2/envvars | 起動時にサーバーが使用する環境設定が含まれています。 \\
\\ {{/usr}} が読み取り専用としてマウントされている場合、{{/usr/apache2/2.2/envvars}} のパスにある {{envvars}} ファイルは変更できません。環境設定を変更するには、{{/etc/apache2/2.2/envvars}} のパスにある {{envvars}} ファイルを編集する必要があります。 |
| /etc/apache2/2.2/magic | {{mod_mime_magic}} Apache モジュールのマジックデータであり、{{/usr/apache2/2.2/manual/mod/mod_mime_magic.html}} ファイルにドキュメント化されています。このファイルを編集することはお勧めしません。 |
| /etc/apache2/2.2/mime.types | デフォルトの MIME タイプファイル。このファイルにより、ファイル名の拡張子からコンテンツタイプへのマッピングに関するデフォルトのリスト が設定されます。このファイルを変更することはお勧めしません。代わりに、{{AddType}} 指令を使用してください。 |
| /etc/apache2/2.2/original/ | このディレクトリの下にあるコンテンツは、apache の配布からそのまま配信されます。また、これらのファイルはサーバーによって読み取られることはありません。 |
| /etc/apache2/2.2/sample-conf.d | サンプルの {{.conf}} ファイルが含まれています。これらは、メインの設定ファイルには含まれていません。サンプルファイルを使用するには、{{conf.d}} ディレクトリにファイルをコピーし、必要に応じてファイルを変更します。 |
| /usr/apache2/2.2/bin | 32 ビットの {{httpd}} (プリフォーク MPM) および {{httpd.worker}} (ワーカー MPM) の実行可能ファイルと、その他のユーティリティプログラムが含まれています。 |
| /usr/apache2/2.2/bin/\[isainfo\] | 64 ビットの {{httpd}} (プリフォーク MPM) および {{httpd.worker}} (ワーカー MPM) の実行可能ファイルと、その他のユーティリティ プログラムが含まれています。例えば {{/usr/apache2/2.2/bin/amd64}}。 |
| /usr/apache2/2.2/manual | HTML 形式の Apache のマニュアルが含まれています。 |
| /usr/apache2/2.2/include | Apache のヘッダーファイルが含まれています。これは、{{apxs(8)}} でさまざまなオプションのサーバー拡張機能を構築するために必要です。 |
| /usr/apache2/2.2/libexec | サーバーで提供されている 32 ビットのロード可能なモジュール (DSO) が含まれています。 |
| /usr/apache2/2.2/libexec/\[isainfo\] | サーバーで提供されている 64 ビットのロード可能なモジュール (DSO) が含まれています。例えば、{{/usr/apache2/2.2/libexec/amd64}}。 |
| /usr/apache2/2.2/man | サーバー、ユーティリティプログラム、および {{ mod_perl}} のマニュアルページが含まれています。Apache のマニュアルページを読むには、このディレクトリを MANPATH に追加します。 |
| /usr/apache2/2.2/lib | 32 ビットの apache2 コアライブラリが含まれています。 |
| /usr/apache2/2.2/lib/\[isainfo\] | 64 ビットの apache2 コアライブラリが含まれています。 |
| /usr/apache2/2.2/lib/perl | Apache への {{ mod_perl}} 拡張機能によって使用される、32 ビットのモジュールおよびライブラリファイルが含まれています。 |
| /var/apache2/2.2/cgi-bin | CGI スクリプトのデフォルトの場所。これは、{{httpd.conf}} ファイルを変更して、サーバーを再起動することにより変更できます。 |
| /var/apache2/2.2/htdocs | デフォルトのドキュメントルート。これは、{{httpd.conf}} ファイルを変更して、サーバーを再起動することにより変更できます。 |
| /var/apache2/2.2/icons | サーバーによって使用されるアイコン。これは変更しないようにしてください。 |
| /var/apache2/2.2/libexec | 32 ビットユーザーの apache モジュールのプレースホルダ。{{apxs(8)}} を使用して追加されたすべての 32 ビットのモジュール は、この ディレクトリにコピーされます。 |
| /var/apache2/2.2/libexec/\[isainfo\] | 64 ビットユーザーの Apache 2 モジュールのプレースホルダ。{{apxs(8)}} を使用して追加されたすべての 64 ビットのモジュール は、この ディレクトリにコピーされます。 |
| /var/apache2/2.2/logs | サーバーのログファイルが含まれています。このディレクトリ内のファイルの形式、名前、および場所は、{{httpd.conf}} ファイルのさまざまな 設定の指令によって変更できます。 |
| /var/apache2/2.2/proxy | {{httpd.conf}} ファイルで {{ mod_proxy}} のキャッシュ機能が有効になっている場合に、ページをキャッシュするために使用されるディレクトリ。{{httpd.conf}} ファイルのプロキシの設定を変更することにより、キャッシュの場所も変更できます。 |
{{mod_fcgid、mod_jk}}、{{mod_security}}、および mod_dtrace のモジュールは、Apache 2 に統合されています。これらのモジュールの詳細については、[http://fastcgi.coremail.cn/doc.htm], [http://tomcat.apache.org/connectors-doc/generic_howto/quick.html], [http://www.modsecurity.org/documentation/index.html]、および [http://prefetch.net/projects/apache_modtrace/mod_dtrace.c]を参照してください。

h3. MySQL データベースファイル

Solaris 用の MySQL 5.0.45 ソフトウェアは、{{/usr/mysql/5.0}} のサブディレクトリのいくつかにインストールされます。最新のバージョンの MySQL も {{/usr/mysql}} からアクセスできるように、{{/usr/mysql/5.0}} の下にあるすべてのディレクトリから、{{/usr/mysql}} ディレクトリに Symbolic リンクが作成されます。
| /usr/mysql/5.0/bin | バイナリおよびスクリプトが含まれています。 |
| /usr/mysql/5.0/lib | クライアント API のライブラリが含まれています。 |
| /usr/mysql/5.0/include | クライアント API のヘッダーファイルが含まれています。 |
| /usr/mysql/5.0/man/man1 | クライアントプログラムのマニュアル ページ。 |
| /usr/mysql/5.0/man/man8 | サーバープログラムのマニュアル ページ。 |
| /usr/mysql/5.0/share | 共有データ: ロケール、タイムゾーン |
| /usr/mysql/5.0/docs | HTML ドキュメントが含まれています。 |
| /usr/mysql/5.0/mysql-test | MySQL のテストプログラムが含まれています。 |
| /usr/mysql/5.0/sql-bench | SQL ベンチマーク テスト。 |
| /usr/mysql/5.0/share/mysql | 国際化 (Internationalization、I18N) ファイル、サンプルの設定ファイル、およびユーティリティーのスクリプトが含まれています。 |
| /var/mysql/5.0/data | デフォルトのデータベースのデータディレクトリ。 |
| /etc/mysql/5.0 | MySQL の設定ファイルが含まれています。 |
| /usr/mysql/5.0/bin/mysql | クライアントの実行可能ファイル。 |
| /usr/mysql/5.0/bin/mysqld | サーバーの実行可能ファイル。 |

h3. PHP 5.2.4 ファイル

PHP のファイルの構造を次のリストに示します:
| /usr/php/5.2/bin | PHP の設定の実行可能ファイルが含まれています。 |
| /usr/php/5.2/lib | PHP のライブラリファイルが含まれています。 |
| /usr/php/5.2/modules | PHP の拡張機能の PHP モジュールが含まれています。 |
| /usr/apache2/2.2/libexec | Apache 2 (32ビット) プリフォーク MPM の PHP モジュールが含まれています。モジュール名は {{mod_php5.so}} です。このモジュールは、{{SUNWapch22m-php5}} パッケージの一部として配信されます。 |
| /usr/php/5.2 | デフォルトの設定ファイル ({{php.ini}}) が含まれています。 |
| /usr/php/5.2/conf.d | 各 PHP の拡張機能に対して、拡張機能固有の INI ファイルが含まれています。ここでは、パッケージに統合されたさまざまな拡張機能を有効または無効にできます。 |
{note:title=注}
{{APC}}、{{DTrace}}、{{XDebug}}、{{suhosin}}、{{tcpwrap}} などの PHP の拡張機能は、デフォルトでは 無効になっています。これらの拡張機能を有効にするには、{{conf.d}} ファイルのそれぞれの行 ({{extensions=<module-name>.so}}) のコメントを解除する必要があります。
{note}

h3. PostgreSQL データベースファイル

PostgreSQL のファイルの構造を次のリストに示します:
| /usr/postgres/8.2/bin | PostgreSQL の実行可能ファイルが含まれています。 |
| /usr/postgres/8.2/etc | サンプルのデータベースが含まれています。 |
| /usr/postgres/8.2/jdbc | PostgreSQL の JDBC ドライバが含まれています。 |
| /usr/postgres/8.2/lib | OpenSolaris のライブラリファイルが含まれています。 |
| /usr/postgres/8.2/man | コマンドのマニュアルページが含まれています。 |

h3. Ruby ファイル

Ruby のファイルの構造を次のリストに示します:
| /var/ruby/1.8/gem_home | RubyGems リポジトリが含まれています。この RubyGems のインストールを使用するには、{{/var/Ruby/1.8/gem_home}} をポイントするように {{GEM_HOME}} 環境変数を設定します。 |
| /usr/ruby/1.8/bin | Ruby の実行可能ファイルとその他のユーティリティ プログラム、および RubyGems のプログラムが含まれています。これらのプログラムは {{/usr/bin}} からリンクされています。例えば {{/usr/ruby/1.8/bin/ruby}} は {{/usr/bin/ruby1.8}} からリンクされています。また 1.8 がシステムにインストールされている最新バージョンであれば {{/usr/bin/ruby}} にもリンクされています。 |

h3. Squid ファイル

Squid のファイルの構造を次のリストに示します:
| /usr/squid/bin | キャッシュを実行する、Squid クライアントの実行可能ファイルが含まれています。 |
| /usr/squid/libexec | ライブラリが含まれています。 |
| /etc/squid/squid.conf | メインの設定ファイル。Squid を動作させるには、このファイルを変更します。 |

h2. 一般的なオープンソースアプリケーションの配備

この節ではいくつかの一般的な Web アプリケーションを配備方法を説明します。この作業では Apache Web Server と MySQL データベースの設定を行ないます。

h3. Drupal

Drupal はオープンソースのコンテンツ管理システム(CMS)で、ブログ、フォーラム、ポスト、フィード、社説、トリガーなどのプラグイン可能なコンポーネントを使用できる Web サイトのホストとして使用できます。Drupal はサービスプロバイダーをホストする一般的なアプリケーションの一つで、コントロールパネルからアプリケーションをインストールしたり設定できます。たとえば Fantastico を実行している cPanel です。直感的なインタフェースを使ってブログや Web サイト、その他のアプリケーションをインストールしたり設定できます。

プロバイダーがこのようなインタフェースをサポートしていないのであれば、アプリケーションを手動でインストールする必要があります。

h4. 必要なコンポーネント

# *PHP 実行サポート* \- Drupal は PHP ベースのアプリケーションです。まず PHP のサポートがサーバーに必要です。Apache Web Server で PHP が使えるように設定してあるプロバイダーをホストしているのであれば必要ありません。
# *MySQL データベースサポート* \- Drupal は Web サイトのコンテンツをデータベースに保存します。MySQL サーバーをインストールし実行している必要があります。

Drupal をインストールして設定するには以下の手順を実行してください:
# *Drupal を取得する* \- Drupal アプリケーションは [http://drupal.org/download|http://drupal.org/download] からダウンロードできます。
# {{{*}amp{*}}} *パッケージを取得する* \- 前述の AMP の設定方法を参照してください。
# Drupal パッケージを展開し Apache の htdocs ディレクトリに移動してください。OpenSolaris 2008.11 OS ではパスは {{/var/apache2/2.2/htdocs}} です。
# Drupal をインストールするために必要な権限を設定します - Drupal ディレクトリで {{chmod o+w sites/default/}} を実行してください。
# Drupal データベースを作成します - {{/usr/mysql/bin/mysqladmin \-u root \-p create drupal}} を実行します。(root のパスワードが必要です。root のデフォルトパスワードを変更していない場合は、デフォルトのパスワードは空です)。
# Drupal データベースに必要な権限を設定します - {{/usr/mysql/bin/mysql \-u root \-p}} を実行します。パスワードを入力後、MySQL プロンプトからクエリを実行します - {{grant select, insert, update, delete, create, drop, index, alter on drupal.\* to 'root'@'localhost' IDENTIFIED BY '';}}
# URL にアクセスします - {{[http://localhost/drupal]}} からインストールを実行します。
{note:title=注}Web Stack リポジトリから直接 Drupal をインストールできます。インストール前にシステムを設定する必要はありません。
{note}

h3. Geeklog

Geeklog は完全な機能を持つコミュニティーサイトを運営するための Web コンテンツ管理システムです。記事の投稿、スレッド形式のコメント、イベント管理、リンク管理などの機能を提供します。

インストールが簡単なため Geeklog はコミュニティーで広く使われています。Fantastico を実行しているプロバイダをホストしているのであれば cPanel インタフェースから Geeklog をインストールし設定できます。

OpenSolaris 2008.11 OS に Geeklog をインストールするには次の手順を実行します:
# Web Stack を取得します
# Geeklog を取得します - [Geeklog のサイト|http://www.geeklog.net/] から取得できます。
# アーカイブを展開します。
# public_html サブディレクトリを geeklog として名前を変更します。このディレクトリを {{/var/apache2/2.2/htdocs}} に移動します。
# その他のコンテンツ (public_html 以外) を {{/var/apache2/2.2/htdocs}} の別のフォルダ geeklog_files として移動します。
# Geeklog データベースを作成します - {{/usr/mysql/bin/mysqladmin \-u root \-p create geeklog}} を実行し geeklog という名前のデータベースを作成します。root のパスワードが必要です。root のデフォルトパスワードは空です。
# Geeklog データベース用に必要な権限を設定します - {{/usr/mysql/bin/mysql \-u root \-p}} を実行します。パスワードを設定した後 MySQL プロンプトからクエリを実行します - {{grant select, insert, update, delete, create, drop, index, alter on geeklog.\* to 'root'@'localhost' IDENTIFIED BY '';}}
# (任意) {{/var/apache2/2.2/htdocs/geeklog_files/db-config.php}} ファイルを編集し MySQL 接続の情報を以下のように設定します:
{code}
$_DB_host = 'localhost';
$_DB_name = 'geeklog';
$_DB_user = 'root';
$_DB_pass = '';
$_DB_table_prefix = 'gl_';
$_DB_dbms = 'mysql';
{code}
# Geeklog をインストールするために必要な権限を設定します - htdocs ディレクトリで, {{chmod o+w geeklog}} と {{chmod o+w geeklog_files}} を実行します。
# インストールスクリプトを実行します - ブラウザから {{[http://localhost/geeklog/admin/install/index.php]}} を表示します。ここで db-config.php が見つからないというエラーが表示されます。
# テキストフィールドに {{/var/apache2/2.2/htdocs/geeklog_files/db-config.php}} に入力します。
# インストールの手順に従います。データベースに関係する情報を入力する必要があります。
# htdocs ディレクトリから geeklog_files ディレクトリを削除します。

より詳細な情報は [Geeklog installation document|http://www.geeklog.net/docs/install.html] を参照してください。

Drupal にコンテンツを移行したい場合は、[http://drupal.org/node/1080] を参照してください。

Geeklog はコミュニティーにより開発されたプラグインで簡単に拡張することができます。フォーラムや画像ギャラリーなど多くのプラグインが利用可能です。

h3. その他のアプリケーション

[See Web Stack ドキュメンテーションブログ|http://blogs.sun.com/webstackdoc/] にたくさんの例が載っています。
{column}
{section}

The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact