English | 日本語
Sun Web Stack インストールおよび構成ガイド(日本語)
| 注 Sun Web Stack Installation and Configuration Guide を個人的に katakai が訳したもので現在ドラフトです。現在以下のドキュメントが日本語に翻訳されています:
翻訳の間違い等ありましたらお知らせください。 |
このドキュメントでは Solaris, OpenSolaris や Linux プラットフォームにおける Sun Web Stack のインストールと設定方法について説明します。
|
目次 Sun Web Stack インストールと設定ガイド
|
はじめに
Sun Web Stack は Apache, Lighttpd, MySQL, PHP, Tomcat, Glassfish, Ruby や Python などのオープンソースで構成される Web アプリケーションプラットフォームです。B2B/B2C アプリケーション, Web サービス, CMS やイントラネットアプリケーションにおいて堅牢で信頼性の高いシステムをサポートします。またメモリキャッシュフレームワーク (memcached) や DTrace、Xdebug や PHP のセキュリティフレームワーク (Suhosin) などをサポートします。
Sun Web Stack は Solaris, OpenSolaris, Red Hat Enterprise Linux で利用できます。
Sun Web Stack とは
Sun Web Stack はいろいろな配備方法があります。これはその一例です。

Sun Web Stack コンポーネント
Sun Web Stack のバンドルされている主なコンポーネントです。
| 名前 |
プラットフォーム |
タイプ |
バージョン |
URL |
|---|---|---|---|---|
| Apache Server |
Solaris/OpenSolaris/Linux |
HTTP Server |
2.2.9 | http://httpd.apache.org/ |
| lighttpd | Solaris/OpenSolaris/Linux |
HTTP Server |
1.4.19 | http://www.lighttpd.net/ |
| Squid |
Solaris/OpenSolaris/Linux |
Proxy Server |
2.6.STABLE17 |
http://www.squid-cache.org/ |
| MySQL |
Solaris/OpenSolaris/Linux |
Database Server |
5.0.67 |
http://www.mysql.com/ |
| PHP | Solaris/OpenSolaris/Linux |
Language |
5.2.6 | http://www.php.net/ |
| Ruby | Solaris/OpenSolaris |
Language | 1.8.6 | http://www.ruby-lang.org/en/ |
| Python | Solaris |
Language | 2.5.2 | http://www.python.org/ |
| memcached | Solaris/OpenSolaris/Linux |
Caching System |
1.2.5 | http://www.danga.com/memcached/ |
| Apache Tomcat |
Solaris/OpenSolaris/Linux |
Application Server |
5.5.27 | http://tomcat.apache.org/ |
Sun Web Stack のデフォルトネットワークポート
Sun Web Stack のコンポーネントのデフォルトのポート番号です。
| コンポーネント | デフォルトのポート番号 |
|---|---|
| Apache HTTP Server |
80 |
| lighttpd Web Server |
80 |
| MySQL Database Server |
3306 |
| Squid Proxy Server |
3128 |
| Apache Tomcat |
8080 |
| memcached | 11211 |
ユーザー権限
Sun Web Stack をインストールするにはシステム管理者か root でログインする必要があります。
Sun Web Stack のインストール
ここでは Sun Web Stack を Solaris, OpenSolaris および Linux プラットフォームでインストールする方法を説明します。
Sun Web Stack を Solaris と Linux プラットフォームにインストールする
Sun Web Stack をインストールするには次の手順を実行してください
- Sun Web Stack インストールを含む tar.gz ファイルを展開してください。
gunzip -c xxx.tar.gz | tar xf -
- インストールスクリプトを実行しインストールを開始してください。インストーラの利用可能なコマンドは以下の表の通りです。
| コマンド |
説明 |
プラットフォーム |
|---|---|---|
| ./install -h |
インストーラの利用可能なオプションを表示 |
Solaris/Linux |
| ./install amp |
完全な AMP スタックをインストール。Apache HTTP Server, PHP, MySQL が含まれる。 |
Solaris/Linux |
| ./install apache |
Apache HTTP Server をインストール |
Solaris/Linux |
| ./install lighttpd |
lighttpd Web サーバーをインストール |
Solaris/Linux |
| ./install memcached |
memcached メモリキャッシングシステムをインストール |
Solaris/Linux |
| ./install mysql |
MySQL データベースをインストール |
Solaris/Linux |
| ./install php |
PHP 言語サポートをインストール |
Solaris/Linux |
| ./install python |
Python 言語サポートをインストール |
Solaris |
| ./install ruby |
Ruby 言語サポートをインストール |
Solaris |
| ./install squid |
Squid プロクシサーバーをインストール |
Solaris/Linux |
| ./install tomcat |
Apache Tomcat アプリケーションサーバーをインストール |
Solaris/Linux |
その他のパッケージの依存性
Solaris や Red Hat Linux プラットフォームではプラットフォームごとに依存性があります。まず依存するパッケージを最初にインストールしてください。次の表には Sun Web Stack コンポーネントの依存性をまとめてあります。
依存性に関する完全なリストではありません。重要なもののみリストしてあります。
| Sun Web Stack コンポーネント |
Solaris |
RedHat Linux |
|---|---|---|
| Sun Web Stack インストーラ |
SUNWPython |
Python バージョン 2.4 以降 |
| Apache HTTP Server |
SUNWlexpt, SUNWpr, SUNWtls, SUNWlibsasl, SUNWcry, SUNWpostgr-82-libs |
OpenSSL 0.9.8b 以降, OpenLDAP 2.3.27 以降, sqlite 3.3.6 以降, postgresql-libs 8.1.11 以降 |
| lighttpd |
|
pcre 3.1 以降 |
| Squid Proxy Server |
SUNWgss, SUNWkrbu, SUNWlibsasl, SUNWopenssl-libraries, SUNWpr, SUNWtls, SUNWperl584core | OpenSSL 0.9.8b 以降, OpenLDAP 2.3.27 以降 |
| MySQL |
SUNWperl584core, SUNWopenssl-libraries |
OpenSSL 0.9.8b 以降 |
| PHP |
SUNWpostgr-82-libs, SUNWopenssl-libraries |
OpenSSL 0.9.8b 以降, OpenLDAP 2.3.27, postgresql-libs 8.1.11 以降, pcre 6.6 以降, gmp |
| memcached |
なし |
なし |
| Apache Tomcat Server |
SUNWj5rt, SUNWj5dev |
JDK 5.0 以降 |
OpenSolaris プラットフォームにおける Sun Web Stack のインストール
OpenSolaris プラットフォームにおける Sun Web Stack のインストールに関する情報は Web Stack Getting Started Guide for OpenSolaris 2008.11 を参照してください。
Sun Web Stack のファイル構成
ここでは Solaris と Linux プラットフォームにおける Sun Web Stack コンポーネントのファイル構成を説明します。OpenSolaris のファイル構成については Web Stack Getting Started Guide for OpenSolaris 2008.11 を参照してください。
Apache HTTP Server ファイル
Apache HTTP Server のファイルの構造を次の表に示します:
| Solaris |
Linux |
説明 | |
|---|---|---|---|
| /etc/opt/webstack/apache2/2.2/httpd.conf | /etc/opt/sun/webstack/apache2/2.2/httpd.conf | サーバー設定ファイルが含まれています。新しくインストールされたサーバーには、デフォルトの httpd.conf ファイルが含まれています。これはメインの設定ファイルです。 | |
| /etc/opt/webstack/apache2/2.2/conf.d | /etc/opt/sun/webstack/apache2/2.2/conf.d | 追加の サーバーの設定ファイルが含まれています。デフォルトでは、このディレクトリの下にあるすべての .conf ファイルをサーバーは読み込みます。また、これは 2 つの追加的な .load 設定ファイルである、modules-32.load および modules-64.load を持っています。これには、バンドルされている 32 ビットおよび 64 ビットの apache モジュールをそれぞれ読み込むための LoadModule 指令が含まれています。 このディレクトリ内のすべての .conf ファイルは、httpd.conf の次の行によって含まれています: Include /etc/opt/webstack/apache2/2.2/conf.d/*.conf. ここに追加の構成ファイルを追加できる。 |
|
| /etc/opt/webstack/apache2/2.2/envvars | /etc/opt/sun/webstack/apache2/2.2/envvars | 起動時にサーバーが使用する環境設定が含まれています。 /usr が読み取り専用としてマウントされている場合、/opt/webstack/apache2/2.2/envvars のパスにある envvars ファイルは変更できません。環境設定を変更するには、/etc/opt/webstack/apache2/2.2/envvars のパスにある envvars ファイルを編集する必要があります。 |
|
| /etc/opt/webstack/apache2/2.2/magic | /etc/opt/sun/webstack/apache2/2.2/magic | mod_mime_magic Apache モジュールのマジックデータであり、/usr/apache2/2.2/manual/mod/mod_mime_magic.html ファイルにドキュメント化されています。このファイルを編集することはお勧めしません。 | |
| /etc/opt/webstack/apache2/2.2/mime.types | /etc/opt/sun/webstack/apache2/2.2/mime.types | デフォルトの MIME タイプファイル。このファイルにより、ファイル名の拡張子からコンテンツタイプへのマッピングに関するデフォルトのリスト が設定されます。このファイルを変更することはお勧めしません。代わりに、AddType 指令を使用してください。 | |
| /etc/opt/webstack/apache2/2.2/original/ | /etc/opt/sun/webstack/apache2/2.2/original/ | このディレクトリの下にあるコンテンツは、apache の配布からそのまま配信されます。また、これらのファイルはサーバーによって読み取られることはありません。 | |
| /etc/opt/webstack/apache2/2.2/sample-conf.d | /etc/opt/sun/webstack/apache2/2.2/sample-conf.d | サンプルの .conf ファイルが含まれています。これらは、メインの設定ファイルには含まれていません。サンプルファイルを使用するには、conf.d ディレクトリにファイルをコピーし、必要に応じてファイルを変更します。 | |
| /opt/webstack/apache2/2.2/bin | /opt/sun/webstack/apache2/2.2/bin | 32 ビットの httpd (プリフォーク MPM) および httpd.worker (ワーカー MPM) の実行可能ファイルと、その他のユーティリティプログラムが含まれています。 | |
| /opt/webstack/apache2/2.2/bin/[isainfo] | /opt/sun/webstack/apache2/2.2/bin/[isainfo] | 64 ビットの httpd (プリフォーク MPM) および httpd.worker (ワーカー MPM) の実行可能ファイルと、その他のユーティリティ プログラムが含まれています。 | |
| /opt/webstack/apache2/2.2/manual | /opt/sun/webstack/apache2/2.2/manual | HTML 形式の Apache のマニュアルが含まれています。 | |
| /opt/webstackapache2/2.2/include | /opt/sun/webstackapache2/2.2/include | Apache のヘッダーファイルが含まれています。これは、apxs(8) でさまざまなオプションのサーバー拡張機能を構築するために必要です。 | |
| /opt/webstack/apache2/2.2/libexec | /opt/sun/webstack/apache2/2.2/libexec | サーバーで提供されている 32 ビットのロード可能なモジュール (DSO) が含まれています。 | |
| /opt/webstack/apache2/2.2/libexec/[isainfo] | /opt/sun/webstack/apache2/2.2/libexec/[isainfo] | サーバーで提供されている 64 ビットのロード可能なモジュール (DSO) が含まれています。 | |
| /opt/webstack/apache2/2.2/man | /opt/sun/webstack/apache2/2.2/man | サーバー、ユーティリティプログラム、および mod_perl のマニュアルページが含まれています。Apache のマニュアルページを読むには、このディレクトリを MANPATH に追加します。 | |
| /opt/webstack/apache2/2.2/lib | /opt/sun/webstack/apache2/2.2/lib | 32 ビットの apache2 コアライブラリが含まれています。 | |
| /opt/webstack/apache2/2.2/lib/[isainfo] | /opt/sun/webstack/apache2/2.2/lib/[isainfo] | 64 ビットの apache2 コアライブラリが含まれています。 | |
| /opt/webstack/apache2/2.2/lib/perl | /opt/sun/webstack/apache2/2.2/lib/perl | Apache への mod_perl 拡張機能によって使用される、32 ビットのモジュールおよびライブラリファイルが含まれています。 | |
| /var/opt/webstack/apache2/2.2/cgi-bin | /var/opt/sun/webstack/apache2/2.2/cgi-bin | CGI スクリプトのデフォルトの場所。これは、httpd.conf ファイルを変更して、サーバーを再起動することにより変更できます。 | |
| /var/opt/webstack/apache2/2.2/htdocs | /var/opt/sun/webstack/apache2/2.2/htdocs | デフォルトのドキュメントルート。これは、httpd.conf ファイルを変更して、サーバーを再起動することにより変更できます。 | |
| /var/opt/webstack/apache2/2.2/icons | /var/opt/sun/webstack/apache2/2.2/icons | サーバーによって使用されるアイコン。これは変更しないようにしてください。 | |
| /var/opt/webstack/apache2/2.2/libexec | /var/opt/sun/webstack/apache2/2.2/libexec | 32 ビットユーザーの Apache 2 モジュールのプレースホルダ。 apxs(8) を使用して追加されたすべての 32 ビットのモジュール は、この ディレクトリにコピーされます。 | |
| /var/opt/webstack/apache2/2.2/libexec/[isainfo] | /var/opt/sun/webstack/apache2/2.2/libexec/[isainfo] | 64 ビットユーザーの Apache 2 モジュールのプレースホルダ。apxs(8) を使用して追加されたすべての 64 ビットのモジュール は、この ディレクトリにコピーされます。 | |
| /var/opt/webstack/apache2/2.2/logs | /var/opt/sun/webstack/apache2/2.2/logs | サーバーのログファイルが含まれています。 このディレクトリ内のファイルの形式、名前、および場所は、httpd.conf ファイルのさまざまな 設定の指令によって変更できます。 | |
| /var/opt/webstack/apache2/2.2/proxy | /var/opt/sun/webstack/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 を参照してください。
MySQL データベースファイル
MySQL データベースサーバーのファイルの構造を次の表に示します:
| Solaris |
Linux |
説明 |
|---|---|---|
| /opt/webstack/mysql/5.0/bin | /opt/sun/webstack/mysql/5.0/bin | バイナリおよびスクリプトが含まれています。 |
| /opt/webstack/mysql/5.0/lib | /opt/sun/webstack/mysql/5.0/lib | クライアント API のライブラリが含まれています。 |
| /opt/webstack/mysql/5.0/include | /opt/sun/webstack/mysql/5.0/include |
クライアント API のヘッダーファイルが含まれています。 |
| /opt/webstack/mysql/5.0/man/man1 | /opt/sun/webstack/mysql/5.0/man/man1 | クライアントプログラムのマニュアル ページ。 |
| /opt/webstack/mysql/5.0/man/man8 | /opt/sun/webstack/mysql/5.0/man/man8 | サーバープログラムのマニュアル ページ。 |
| /opt/webstack/mysql/5.0/share | /opt/sun/webstack/mysql/5.0/share |
共有データ: ロケール、タイムゾーン |
| /opt/webstack/mysql/5.0/docs | /opt/sun/webstack/mysql/5.0/docs | HTML ドキュメントが含まれています。 |
| /opt/webstack/mysql/5.0/mysql-test | /opt/sun/webstack/mysql/5.0/mysql-test | MySQL のテストプログラムが含まれています。 |
| /opt/webstack/mysql/5.0/sql-bench | /opt/sun/webstack/mysql/5.0/sql-bench | SQL ベンチマークテスト。 |
| /opt/webstack/mysql/5.0/share/mysql | /opt/sun/webstack/mysql/5.0/share/mysql | 国際化 (Internationalization、I18N) ファイル、サンプルの設定ファイル、およびユーティリティーのスクリプトが含まれています。 |
| /var/opt/webstack/mysql/5.0/data | /var/opt/sun/webstack/mysql/5.0/data | デフォルトのデータベースのデータディレクトリ。 |
| /etc/opt/webstack/mysql/5.0 | /etc/opt/sun/webstack/mysql/5.0 | MySQL の設定ファイルが含まれています。 |
| /opt/webstack/mysql/5.0/bin/mysql | /opt/sun/webstack/mysql/5.0/bin/mysql | クライアントの実行可能ファイル。 |
| /opt/webstack/mysql/5.0/bin/mysqld | /opt/sun/webstack/mysql/5.0/bin/mysqld |
サーバーの実行可能ファイル。 |
PHP ファイル
PHP のファイルの構造を次の表に示します:
| Solaris |
Linux |
説明 |
|---|---|---|
| /opt/webstack/php5/5.2/bin | /opt/sun/webstack/php/5.2/bin | PHP の設定の実行可能ファイルが含まれています。 |
| /opt/webstack/php5/5.2/lib | /opt/sun/webstack/php/5.2/lib | PHP のライブラリファイルが含まれています。 |
| /opt/webstack/php5/5.2/modules | /opt/sun/webstack/php/5.2/modules | PHP の拡張機能の PHP モジュールが含まれています。 |
| /opt/webstack/apache2/2.2/libexec | /opt/sun/webstack/apache2/2.2/libexec | Apache 2 (32ビット) プリフォーク MPM の PHP モジュールが含まれています。モジュール名は mod_php5.so です。 |
| /opt/webstack/php/5.2 | /opt/sun/webstack/php/5.2 | デフォルトの設定ファイル (php.ini) が含まれています。 |
| /etc/opt/webstack/php/5.2/conf.d | /etc/opt/sun/webstack/php/5.2/conf.d | 各 PHP の拡張機能に対して、拡張機能固有の INI ファイルが含まれています。ここでは、パッケージに統合されたさまざまな拡張機能を有効または無効にできます。 |
| 注 APC, DTrace, XDebug, suhosin, tcpwrap などの PHP 拡張機能はデフォルトでは無効になっています。これらを有効にするには conf.d ファイルのそれぞれの行 (extensions=<module-name>.so) コメントを解除する必要があります。 |
Ruby ファイル
Ruby のファイルの構造を次の表に示します:
| Solaris |
Linux |
説明 |
|---|---|---|
| /var/opt/webstack/ruby/1.8/gem_home | /var/opt/sun/webstack/ruby/1.8/gem_home | RubyGems リポジトリが含まれています。 |
| /opt/webstack/ruby/1.8/bin | /opt/sun/webstack/ruby/1.8/bin | Ruby の実行可能ファイルとその他のユーティリティ プログラム、および RubyGems のプログラムが含まれています。これらのプログラムは、/usr/bin からリンクしています。 |
Squid Proxy Server ファイル
Squid のファイルの構造を次の表に示します:
| Solaris |
Linux |
説明 |
|---|---|---|
| /opt/webstack/squid/bin | /opt/sun/webstack/squid/bin | キャッシュを実行する、Squid クライアントの実行可能ファイルが含まれています。 |
| /opt/webstack/squid/libexec | /opt/sun/webstack/squid/libexec | ライブラリが含まれています。 |
| /etc/opt/webstack/squid/squid.conf | /etc/opt/sun/webstack/squid/squid.conf | メインの設定ファイル。Squid を動作させるには、このファイルを変更します。 |
Sun Web Stack の拡張
Sun Web Stack はサードパーティの拡張機能を様々な方法で利用可能です。これにより既存のソフトウェアに新しい機能を追加することができます。
PHP 拡張機能のインストール
PHP の拡張機能は2つの方法で取得可能です。PECL (PHP Extension Community Library) か PEAR (PHP Extension and Application Repository) を使います。PECL 拡張機能は C のソースコードで配布されています。PECL 拡張機能は PHP コアにリンクされる C 言語の拡張機能です。C のプログラムであるため PEAR パッケージより柔軟に実行できます。PECL には XML のパース、データベースへのアクセス、メールおパース、PHP スクリプトへの Perl や Python の組み込みなどの拡張機能があります。
PEAR パッケージは gzip で圧縮された tar ファイルで提供されています。ソースは PHP で書かれています。一般的にはオブジェクト指向のスタイルで記述されています。多くの PHP パッケージはサードパーティのコードとして PHP に簡単にインクルードできる形で開発者に使われています。
PECL 拡張機能のインストール
PECL 拡張機能は PHP で利用するために共有オブジェクトファイル (.so) をコンパイルするために必要です。PECL 拡張機能をコンパルするにはシステムに適切な開発パッケージが必要です。Sun Studio をインストールしてください。Sun Studio は C/C++ の開発ツールで Solaris, OpenSolaris, Linux プラットフォーム用に提供されています。詳細は http://developers.sun.com/sunstudio/ を参照してください。
Sun Studio をインストールした後、PECL 拡張機能をダウンロードしコンパイル、インストーするするには次のコマンドを実行してください。
Solaris:
# /opt/webstack/bin/pecl install <拡張機能名>
Linux:
# /opt/sun/webstack/bin/pecl install <拡張機能名>
OpenSolaris:
# /usr/bin/pecl install <拡張機能名>
拡張機能名がわからない場合は次のコマンドで利用可能なすべての拡張機能を表示できます:
Solaris:
$ /opt/webstack/bin/pecl list-all
Linux:
# /opt/sun/webstack/bin/pecl list-all
OpenSolaris:
$ /usr/bin/pecl list-all
PEAR 拡張機能のインストール
以下のコマンドで PEAR 拡張機能をインストーするすることができます:
Solaris:
# /opt/webstack/bin/pear install <拡張機能名>
Linux:
# /opt/sun/webstack/bin/pear install <拡張機能名>
OpenSolaris
# /usr/bin/pear install <拡張機能名>
Python 拡張機能をインストールする
Python の拡張機能は Easy Install によってサポートされています。Easy Install は python モジュール (easy_install) で setuptools にバンドルされており、自動的にダウンロード、ビルド、インストール、Python のパッケージの管理を行なうことができます。easy_install は PyPI (Python Package Index) リポジトリから python 拡張機能をダウンロードしインストールします。
setuptools (easy_install) のインストール
以下のコマンドで setuptools をダウンロードしインストールすることができます。Sun Studio が setuptools パッケージをコンパイルするために必要です。また Sun Web Stack の場所がシステム PATH 環境変数に含まれている必要があります。これは既存の python インストールとの衝突をさけるためです。
- python setuptools のソースパッケージを http://pypi.python.org/pypi/setuptools#downloads からダウンロードします。(setuptools-0.6c9.tar.gz) ファイルをダウンロードします。
- 次のコマンドでコンパイルし setuptools パッケージをインストールします。
# python setup.py install
easy_install の使用
easy_install は簡単に使うことができます。以下のコマンドで python の拡張機能をダウンロードしインストールすることができます。
# python easy_install.py <パッケージ名>
PyPI リポジトリは http://pypi.python.org/pypi で参照できます。
Ruby 拡張機能 (RubyGems) をインストールする
Ruby の拡張機能は RubyGems としてサポートされています。RubyGems は Ruby プログラミングやライブラリを提供するパッケージマネージャーで簡単に gem のインストールや配布するサーバーを管理するためにデザインされたツールです。
Ruby 拡張機能 (gem) を次のコマンドでインストールすることができます。Sun Web Stack が PATH 環境変数変数に含まれていることを確認してください。
# gem install <gem名>
gem 名がわからない場合は以下のコマンドで利用可能なすべての gem を表示することができます:
# gem list -r -d
高度な構成
Sun Web Stack はゾーンや DTrace など Solaris OS に特化した機能を使うことができます。詳細は以下を参照してください。