English | 日本語
Sun Web Stack 入門ガイド
| 注 Sun Web Stack Getting Started Guide を個人的に katakai が訳したもので現在ドラフトです。現在以下のドキュメントが日本語に翻訳されています:
翻訳の間違い等ありましたらお知らせください。 |
|
目次 Sun Web Stack 入門ガイド
|
Sun Web Stack
Sun Web Stack ソフトウェアをダウンロードし Sun Web Stack インストールおよび構成ガイド(日本語) のインストールと設定方法の情報を参照してください。 Sun Web Stack ソフトウェアは以下のプラットフォームでサポートされています:
Sun Web Stack ソフトウェアは次のコンポーネントを含んでいます:
RHEL では Ruby および Python は Sun Web Stack ソフトウェアとしては提供されていません。Red Hat プラットフォームで提供されているものを使う必要があります。 Sun Web Stack ソフトウェアの取得
Sun Web Stack ソフトウェアのインストールや設定に関する詳細は以下のドキュメントを参照してください: Sun Web Stack ソフトウェアで利用可能なパッケージ以下の表では Solaris 10 で利用可能なすべてのパッケージのリストを示しています:
Sun Web Stack インストールおよび構成ガイド(日本語) を参照してください。 以下の表では RHEL で利用可能なすべてのパッケージのリストを示しています:
以下は RHEL では*サポートされていない*リストです:
Sun Web Stack インストールおよび構成ガイド(日本語) を参照してください。 すべての Sun Web Stack バンドルのインストール
環境を設定するSun Web Stack パッケージを amp インストールオプションでインストールした場合は、Sun Web Stack ソフトウェアは RHEL の場合は /opt/sun/webstack に、Solaris 10 OS の場合は /opt/webstack 以下にあります。 ファイルのレイアウトに関する詳細は Sun Web Stack インストールおよび構成ガイド(日本語) を参照してください。 Sun Web Stack ソフトウェアの Apache 2.2.9 Web Server サーバーは PHP 配備環境に構成され最適化されています。NetBeans IDE では Apache Web Server をサーバーリストに追加できます。そこから PHP ベースのアプリケーションを Apache Web Server に配備できます。Apache Web Server を NetBeans で設定するには後で説明します。 Solaris 10 OS で Apache Web Server を起動するには次のコマンドを実行します: /usr/sbin/svcadm enable sun-apache22 このコマンドを実行するためには必要な権限を有している必要があります。
Red Hat Enterprise Linux で Apache Web Server を起動するには次のコマンドを実行します: /sbin/service sun-apache22 start または /etc/init.d/sun-apache22 start Solaris 10 OS でサービスの管理に SMF を使用するApache Web Server の SMF プロパティーを以下の表に示します:
Solaris 10 での SMF の例を以下に示します:
同様に Squid Proxy, memcached, lighttpd サーバーも SMF を使用し管理できます。 Solaris 10 OS で Squid Proxy Server を起動するには: $ svcadm enable sun-squid Solaris 10 OS で memcached Server を起動するには: $ svcadm enable sun-memcached Solaris 10 OS で lighttpd Server を起動するには: $ svcadm enable sun-lighttpd14 Apache Web Server のインストール場所以下の表に Sun Web Stack のファイルがインストールされる場所を示します:
MySQL データベースサーバーの設定MySQL サーバーはもっとも使用されているリレーショナルデータベースであり、Sun Web Stack ソフトウェアでも利用可能です。amp 構成でインストールした場合 MySQL データベースもインストールされます。以下のように完全な amp 設定をインストールできます: $ ./install amp または MySQL データベースのみインストールするには: $ ./install mysql 動作させるにはインストール後に MySQL DB を設定する必要があります。詳細は Sun Web Stack インストールおよび構成ガイド(日本語) を参照してください。 MySQL DB のインストール場所以下の表に Sun Web Stack のファイルがインストールされる場所を示します:
Solaris 10 で MySQL サーバーを起動するには以下のコマンドを実行します: /usr/sbin/svcadm enable sun-mysql50 このコマンドを実行するためには必要な権限を有している必要があります。 Red Hat Enterprise Linux で Apache Web Server を起動するには以下のコマンドを実行します: /sbin/service sun-mysql50 start または /etc/init.d/sun-mysql50 start その他の MySQL サーバーの情報MySQL サーバーの root ユーザーのデフォルトパスワードは空白文字(パスワードなし)です。MySQL サーバー起動した後、次のコマンドを使って MySQL に接続できます: Solaris 10 OS: /opt/webstack/mysql/5.0/bin/mysql -u root RHEL OS: /opt/sun/webstack/mysql/5.0/bin/mysql -u root root のパスワードを変更するには以下を実行します: Solaris 10 OS:
/opt/webstack/mysql/5.0/bin/mysqladmin -u root password {{<新しいパスワード>}}
RHEL OS:
/opt/sun/webstack/mysql/5.0/bin/mysqladmin -u root password {{<新しいパスワード>}}
サーバーの自動起動Solaris 10 OS では sun-apache22 サービスを有効にすると Apache Web Server は自動的に起動します。 RHEL では /etc/init.d 以下の起動スクリプト sun-apache22 から起動します。マシンの起動時に自動的に起動するには chkconfig 機構を使ってください。 RHEL でマシンの起動時に Apache Web Server を自動起動するには以下のコマンドを実行してください: $ /sbin/chkconfig sun-apache22 on RHEL でマシンの起動時に MySQL データベース を自動起動するには以下のコマンドを実行してください: $ /sbin/chkconfig sun-mysql50 on
例えば $ sudo service sun-apache22 start RHEL でマシンの起動時に Tomcat Server を起動するには /etc/init.d/sun-tomcat5 start の行を /etc/rc.d/rc.local ファイルの最後に追加してください。Squid Proxy Server を起動するには /etc/init.d/sun-squid start の行を /etc/rc.d/rc.local ファイルの最後に追加してください。
セキュア Web サイトの設定Web サイトのセットアップのための基本的な Apache サーバーの設定方法を紹介しました。ここでは https 経由の Web リクエストを処理するセキュア Web サイトを設定します。Apache Web Server の mod_ssl は https をサポートします。 SSL をサーバーで設定するには以下のタスクを実行します:
証明書の生成この例では自己署名(self-signed)のテスト証明書を生成します。この証明書は認証機関 (CA) で署名されていないためブラウザが trust に設定されている場合は使うことができません。 実稼働のセキュアサーバーを設定する場合には、Verisign などの会社に証明書を署名してもらうようにお金を払うことができます。
Solaris 10 OS ではシェルから以下を実行します:
$ /usr/sfw/bin/openssl req -new -x509 -nodes -out server.crt -keyout server.key
RHEL ではシェルから以下を実行します:
$ /usr/bin/openssl req -new -x509 -nodes -out server.crt -keyout server.key
証明書の属性を入力するように質問されます。詳細は http://sial.org/howto/openssl/self-signed/ を参照してください。 openssl ユーティリティは Solaris 10 OS や RHEL でデフォルトで利用可能です。 このコマンドは2つのファイルを生成します:
ssl.conf を Solaris 10 OS で変更するSolaris 10 OS ではサンプルの ssl.conf ファイルが /etc/opt/webstack/apache2/2.2/samples-conf.d にあります。 このファイルを /etc/opt/webstack/apache2/2.2/conf.d に移動します: $ sudo cp /etc/opt/webstack/apache2/2.2/samples-conf.d/ssl.conf /etc/opt/webstack/apache2/2.2/conf.d/ssl.conf /etc/opt/webstack/apache2/2.2/conf.d/ssl.conf ファイルを編集しこれらのパラメータ値を変更します: ... SSLCertificateFile "<server.crt へのパス>" SSLCertificateKeyFile "<server.key へのパス>" ... 設定ファイルは /etc/opt/webstack/apache2/2.2/conf.d から自動的に読み込まれます。このため /etc/opt/webstack/apache2/2.2/httpd.conf には以下の行があります: ... Include /etc/opt/webstack/apache2/2.2/conf.d/*.conf ... 変更内容を有効にするには Apache Web Server を再起動します。 /usr/sbin/svcadm restart sun-apache22 ssl.conf を RHEL で変更するRHEL ではサンプルの ssl.conf ファイルは /etc/opt/sun/webstack/apache2/2.2/samples-conf.d にあります。 このファイルを /etc/opt/sun/webstack/apache2/2.2/conf.d に移動します: $ sudo cp /etc/opt/sun/webstack/apache2/2.2/samples-conf.d/ssl.conf /etc/opt/sun/webstack/apache2/2.2/conf.d/ssl.conf /etc/opt/sun/webstack/apache2/2.2/conf.d/ssl.conf ファイルを編集しこれらのパラメータ値を変更します: ... SSLCertificateFile "<server.crt へのパス>" SSLCertificateKeyFile "<server.key へのパス>" ... 設定ファイルは /etc/opt/sun/webstack/apache2/2.2/conf.d から自動的に読み込まれます。このため /etc/opt/sun/webstack/apache2/2.2/httpd.conf には次の行があります: ... Include /etc/opt/sun/webstack/apache2/2.2/conf.d/*.conf ... 変更内容を有効にするには Apache Web Server を再起動します。 sudo /etc/init.d/sun-apache22 restart Web ブラウザから https://localhost にアクセスします。いくつかのブラウザでは証明書が不正であると表示されることがあります。例外として追加しセキュア接続のテストを継続します。
Proxy Server の設定Sun Web Stack ソフトウェアでは Squid Proxy Server はプロキシサーバーと Web キャッシュデーモンが利用可能です。Squid Proxy Server は繰り返しのリクエストをキャッシングすることにより主に Web サーバーの高速化に使われます。 Squid Proxy Server は二通りの使用方法があります:
例えばサイトが重い負荷がかかった場合は追加のハードウェアを購入する前に以下を試してみることができます:
Squid-Apache Web Server の設定の一例です:
RHEL での Squid Proxy Server を設定次の例では Squid Proxy Server で www.foo.com サイトで設定する方法を説明します。
RHEL では次のように Squid Proxy Server を起動できます: sudo /etc/init.d/sun-squid start
RHEL で Squid Proxy Server をロードバランサとして設定するロードバランサとして設定する前に Squid Proxy Server を再起動します。 この例では二つの Web サーバーを使用しています。それぞれの Web サーバーは二つの Web サイトを持っています。www.foo.com と www.foo.net がサーバー 1 に、www.test.foo.com と www.test.foo.net がサーバー 2 にあります。この例ではそれぞれのサイトで Squid Proxy Server をロードバランサとして設定する方法を説明します。
PHP 環境
インストールするには以下を実行します。 $ ./install php PHP インタプリタの場所以下の表に Sun Web Stack のファイルがインストールされる場所を示します:
利用可能な PHP 拡張機能Sun Web Stack ソフトウェアを amp インストールオプションでインストールすればいくつかの PHP モジュールが拡張機能として利用可能です。個々のモジュールは対応する INI ファイルが /etc/opt/sun/webstack/php/5.2/conf.d (RHEL) または /etc/opt/webstack/php/5.2/conf.d (Solaris 10 OS) ディレクトリに用意されています。これらの PHP 拡張機能はデフォルトで有効になっています。いくつかのサードパーティーの拡張機能は無効になっています。PHP 拡張用の INI ファイルは特定の構成の変更にともない編集できます。 Sun Web Stack ソフトウェアで有効な PHP 拡張機能のリストを以下に示します:
バンドルされている PHP 拡張機能の有効化/無効化PHP の拡張機能を有効にしたり無効にするには PHP の conf.d ディレクトリにある <extension>.ini の行をコメントアウトします。
例えば Suhosin PHP 拡張機能を RHEL で有効にするには以下のタスクを実行します:
extension=suhosin.so 拡張機能の無効にするにはコメント文字 (;) を追加します。
Python 環境Python はオブジェクト指向のスクリプト言語で Sun Web Stack ソフトウェアで利用可能です。Python スクリプトは mod_python を使って Apache Web Server 経由で実行できます。Django, Pylons, TurboGears, および Zope など多くのさまざまな Web フレームワークがコミュニティーによって使われています。
mod_python は http://httpd.apache.org/modules/python-download.cgi からダウンロードできます。 インストール時の python オプションで Python をインストールできます。詳細は Sun Web Stack インストールおよび構成ガイド(日本語) を参照してください。 インストールするには以下を実行します。 $ ./install python Python インタプリタの場所以下の表に Sun Web Stack のファイルがインストールされる場所を示します:
Ruby 環境Ruby は Sun Web Stack ソフトウェアでは Solaris 10 OS と OpenSolaris OS でのみ提供されています。Sun Web Stack ソフトウェアでは Red Hat プラットフォーム用には Ruby インタプリタは提供していません。OS の提供している Ruby を使用してください。 インストール時の ruby オプションで Ruby 実行環境をインストールできます。詳細は Sun Web Stack インストールおよび構成ガイド(日本語) を参照してください。 インストールするには以下を実行します。 $ ./install ruby Ruby ファイルのインストール場所以下の表に Sun Web Stack のファイルがインストールされる場所を示します:
Tomcat Servlet コンテナSun Web Stack ソフトウェアには Tomcat 5.5.27 サーブレットコンテナがバンドルされています。Web アプリケーションのために JSP とサーブレットの配備用にインストールできます。Tomcat Server はインストール時の tomcat オプションでインストールできます。 詳細な情報は Sun Web Stack インストールおよび構成ガイド(日本語) を参照してください。 インストールするには以下を実行します。 $ ./install tomcat
Solaris 10 OS で Tomcat Server を起動するには以下のタスクを実行します:
/usr/sbin/svcadm enable sun-tomcat5 Tomcat Server を停止するには以下のタスクを実行します: /usr/sbin/svcadm disable sun-tomcat5 RHEL で Tomcat Server を起動するには以下のタスクを実行します:
/sbin/service sun-tomcat5 start Tomcat Server を停止するには以下のタスクを実行します: /sbin/service sun-tomcat5 stop 開発環境としての NetBeans IDEここでは Sun Web Stack ソフトウェアで利用できる Sun Web Stack コンポーネントを使って NetBeans IDE で Web アプリケーションを構築する方法を説明します。はじめにエンドツーエンドのエンタープライズレベルの Web アプリケーションを開発する手順を挙げてみます。開発に IDE を使用するには以下が必要です:
一般的に開発環境は最小限の労力で Web アプリケーションの構築をサポートし、プロパティーエディタ、ウィザード、あるいはウィジェットを通してスタックレベルの設定のサポートを提供する必要があります。サーバーのサポート、言語のサポート、およびデータベースのサポートは Web アプリケーション開発において IDE が提供する3つの重要な部分と言えるでしょう。 NetBeans IDE は洗練されたインタフェースを備えこれらすべての要素に考慮しており、これにより Web 開発が簡単に行なえます。NetBeans IDE では Web アプリケーションを PHP や Rails のフレームワークを使い、またデータベースには MySQL や PostgresSQL を使い構築できます。
また NetBeans IDE を使って Java/PHP/Ruby の開発ができます。NetBeans IDE は IDE から直接 Web サーバーやデータベースの管理のための統合された設定ウィンドウをサポートします。正式な pkg リポジトリから利用可能な NetBeans のバージョンは NetBeans Web サイトから取得できるものより古い場合がありますので注意してください。以下では開発用に NetBeans IDE 6.0 を設定する方法を説明します。 NetBeans IDE はさまざまな Java EE サーバーと Web サーバーをアプリケーションの配備用にサポートしています。プロジェクトで使用するサーバーを NetBeans では複数設定し持つことができます。たとえば PHP ファイルの配備用に設定した Apache 2 Web Server、Java ベースの Web アプリケーションの配備用に設定した Apache Tomcat コンテナ、および Rails アプリケーションの配備用に WEBrick サーバーを持つことができます。 Apache Web ServerNetBeans 6.1 以上を使う場合にはサーバーを設定する必要はありません。プロジェクトを作成時にサーバーを設定できます。 Apache Web Server を使って PHP の Web アプリケーションを作成するには基本的な手順があります。Apache Web Server は PHP ファイルのサポート用にすでに設定されているため、PHP のプラグインをインストールする以外の操作は必要ありません。 Tomcat Web ServerSun Web Stack ソフトウェアは Tomcat 5.5 サーブレットコンテナをバンドルしており JSP ベースの Web アプリケーションを配備できます。 Tomcat Web Server を NetBeans IDE で設定するには:
Tomcat が NetBeans IDE で正しく設定されるとサーバーノードに Tomcat 5.5 のエントリが表示されます。 サーバーを起動するにはその Tomcat 5.5 ノードで右クリックしサーバーの起動を選択します。 PHP 開発PHP はインタプリタで、動的な Web ページのスクリプト言語です。NetBeans IDE には PHP を編集したりデバッグのサポートがあります。NetBeans の PHP サポートには以下の機能があります: NetBeans でプラグインをダウンロードし設定した後、PHP プロジェクトを作成します。ただし PHP プロジェクトを実行しデバッグするには以下の操作が必要です:
Sun Web Stack ソフトウェアの Apache 2 と PHP を利用する場合は追加構成は必要ありません。
いくつかの PHP モジュールは Sun Web Stack ソフトウェアに拡張機能としてパッケージ化されています。個々のモジュールは対応する INI ファイルが /etc/opt/sun/webstack/php/5.2/conf.d (RHEL) または /etc/opt/webstack/php/5.2/conf.d (Solaris 10 OS) ディレクトリに用意されています。これらの PHP 拡張機能はデフォルトで有効になっています。いくつかのサードパーティーの拡張機能は無効になっています。PHP 拡張用の INI ファイルは特定の構成の変更にともない編集できます。 Ruby/Rails 開発環境NetBeans IDE では Ruby と Ruby on Rails アプリケーションの構築、実行、デバッグなどの統合された開発環境を提供しています。NetBeans は Ruby ファイルや RSpec 仕様のファイル、YAML ファイルなどを含むプロジェクトをサポートします。NetBeans を設定して Web Stack の提供するネイティブ Ruby を使うことができます。IDE はまた Rake 構築ツールの統合と対話型の Ruby シェルのサポートを含んでいます。
Solaris 10 OS では /var/opt/webstack/ruby/1.8/gem_home に Ruby gems リポジトリがあります。GEM_HOME 環境変数を /var/opt/webstack/ruby/1.8/gem_home に設定することでこの Ruby gems のインストールを使用できます。/var/opt/webstack/ruby/1.8/bin には Ruby の実行可能ファイルと他のユーティリティプログラムを含んでいます。これらのプログラムは /usr/bin からリンクされています。 NetBeans を使用する場合には GEM_HOME 環境変数を設定します。 sh の場合 -> export GEM_HOME=/var/opt/webstack/ruby/1.8/gem_home
NetBeans IDE では GEM_HOME 環境変数を設定しないと gem が動作しないためネイティブ Ruby は使えません。gem リポジトリを NetBeans からアクセス可能にするために GEM_HOME を設定してください。また GEM_HOME で参照されるディレクトリは書き込み可能にしておく必要があります。以下のコマンドを実行してください:
$ chmod -R a+w /var/opt/webstack/ruby/1.8/gem_home
Ruby on Rails (RoR)Rails はデータベースを考慮した Web アプリケーション開発用のフルスタックのフレームワークです。Rails は Ruby 開発環境を提供しています。Ruby gems は Ruby パッケージマネージャーの標準です。Run Web Stack ソフトウェアで Ruby をインストールすれば Ruby gems もインストールされます。これにより以下のコマンドを実行すると Rails とその依存機能をインストールすることができます: /usr/bin/gem install rails --include-dependencies コマンド行から gem コマンドを実行するかわりに NetBeans IDE からも Rails をインストールできます。Ruby on Rails の開発環境を構築することができます。NetBeans IDE では Ruby on Rails プロジェクトを作成することができます。IDE でプロジェクトを作成すれば rails コマンドで作成したものと同様のフォルダとファイルが作成できます。 Ruby GemsRuby Gems は Ruby ソフトウェアライブラリを管理するシステムです。このシステム用にパッケージ化された Ruby コードは gem と呼ばれています。Gems はダウンロード、インストール、Ruby ライブラリの管理に使われます。追加の gem をダウンロードしてインストールできるため Solaris の Web Stack パッケージでは多くの gem を含んでいません。NetBeans からも Gems の管理ができます。 Ruby Gems の設定と情報についての詳細は NetBeans Ruby サイト を参照してください。 一般的なオープンソースアプリケーションの配備この節ではいくつかの一般的な Web アプリケーションを配備方法を説明します。この作業では Apache Web Server と MySQL データベースの設定を行ないます。 DrupalDrupal はオープンソースのコンテンツ管理システム(CMS)で、ブログ、フォーラム、ポスト、フィード、社説、トリガーなどのプラグイン可能なコンポーネントを使用できる Web サイトのホストとして使用できます。Drupal はサービスプロバイダーをホストする一般的なアプリケーションの一つで、コントロールパネルからアプリケーションをインストールしたり設定できます。たとえば Fantastico を実行している cPanel です。直感的なインタフェースを使ってブログや Web サイト、その他のアプリケーションをインストールしたり設定できます。 プロバイダーがこのようなインタフェースをサポートしていないのであれば、アプリケーションを手動でインストールする必要があります。 必要なコンポーネント
Drupal をインストールして設定するには以下の手順を実行してください:
GeeklogGeeklog は完全な機能を持つコミュニティーサイトを運営するための Web コンテンツ管理システムです。記事の投稿、スレッド形式のコメント、イベント管理、リンク管理などの機能を提供します。 インストールが簡単なため Geeklog はコミュニティーで広く使われています。Fantastico を実行しているプロバイダをホストしているのであれば cPanel インタフェースから Geeklog をインストールし設定できます。 Geeklog のインストールするには次の手順を実行します:
より詳細な情報は Geeklog installation document を参照してください。 Drupal にコンテンツを移行したい場合は、http://drupal.org/node/1080 を参照してください。 Geeklog はコミュニティーにより開発されたプラグインで簡単に拡張することができます。フォーラムや画像ギャラリーなど多くのプラグインが利用可能です。 その他のアプリケーションWeb Stack ドキュメンテーションブログ を参照してください。 Sun Web Stack ソフトウェアのその他の情報 |