小型Linuxサーバの最高峰 OpenBlockS 600活用指南

第4回 ルータにもなる自宅サーバをOpenBlockSで構築してみませんか(Part2)

この記事を読むのに必要な時間:およそ 3 分

はじめに

連載4回目の今回は,前回に引き続いて実機を使った設定手順,パフォーマンスの測定を行っていきます。前回はルータとして動作させるためのネットワーク設定の方法とIPルーティングのスループットの測定を行い,最新のIAサーバにも迫る性能を確認することができました。今回はOpenBlockS 600をHTTPサーバとして使用した場合を想定して,LAMP(Linux,Apache,MySQL,PHP)⁠Ruby on Railsの環境でのパフォーマンス測定を行います。

SSD/Linuxのパッケージ管理機能

OpenBlockSに標準搭載されているSSD/Linuxには,パッケージ管理のしくみとして,pkgsrcを採用しています。ぷらっとホームでは,pkgsrcに登録されているソフトウェアの中から需要の多いものを中心にバイナリパッケージを用意していますので,基本的なものであればコンパイル操作を行うことなくソフトウェアの導入が可能です。

バイナリパッケージのインストール

標準ではインターネットを通じてダウンロードし,インストールの実行をするようになっています。クローズドなネットワークでも,別途ダウンロードを行っておくことで利用することができますが,今回はインターネットに接続可能な状態であることを前提にしています。

実行は図1のように,pkg_addコマンドの引数に導入したいソフトウェアの名称を指定するだけです。例ではPHPのインストールを行っていますが,他のソフトウェアの場合も同様にインストール可能です。ソフトウェアはすべて/usr/pkg以下にインストールされ,各ソフトウェアの設定ファイルは/usr/pkg/etc以下にまとめられています。

図1 ソフトウェアの導入(例:PHPの場合)

# pkg_add php
===========================================================================
$NetBSD: MESSAGE,v 1.8 2007/05/05 21:45:12 adrianp Exp $
To process PHP scripts, you will need a PHP-enabled HTTP server. You may
either configure the HTTP server to use the PHP CGI binary located in
/usr/pkg/libexec/cgi-bin/php
or you may install a PHP module for your HTTP server, e.g. www/ap-php.
Note that php-openssl is no longer a separate package as of version
5.0.5nb1 because the main PHP5 package has it built-in now.
As of version 5.2.1nb3 PEAR is no longer installed by default with the
php package. In order to use PEAR packages with PHP you will need to
install the lang/pear package.
===========================================================================

デーモンの自動実行の設定

Apache,MySQLなどをデーモンとして起動時に自動実行させたい場合は,ネットワーク設定と同じく/etc/rc.confファイルに追記します。設定例はリスト1です。ご覧のとおり,自動起動させたいソフトウェアを変数名にして,値にYESを設定しています。この変数名は,ソフトウェアインストール後に/usr/pkg/etc/rc.dへ追加される起動スクリプト(図2)のファイル名と一致している必要があります。

リスト1 自動起動の設定(/etc/rc.conf)

apache=“YES”
mysqld=“YES”

図2 起動スクリプトの例

# ls /usr/pkg/etc/rc.d/
apache mysqld

LAMPの環境構築

ソフトウェアパッケージをpkg_addコマンドで導入を行った後,動作に必要な最低限の設定を行っていきます。pacheはリスト2,PHPはリスト3を参照してください。動作させるWebアプリケーションには,CMS(コンテンツマネジメントシステム)MODxを使用しています。MODxのインストール/設定は,開発元のWebページを参照してください。

リスト2 Apacheの設定(/usr/pkg/etc/httpd/httpd.conf)

……(省略)……
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
# <
IfModule dir_module>
DirectoryIndex index.html index.php

……(省略)……

# 最終行に追記
LoadModule php5_module lib/httpd/mod_php5.so
AddHandler application/x-httpd-php .php

リスト3 PHPの設定(/usr/pkg/etc/php.ini)

……(省略)……
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=mysql.so
……(省略)……

Ruby on Railsの環境構築

Ruby本体はバイナリパッケージで導入し,Ruby用のパッケージ管理ツールRubyGemsとRailsはソースからインストールしています。導入の手順はリスト4を参照してください。動作させるアプリケーションには,LAMPの例と同じくCMSのRadiantを使用しています。Radiantのインストール/設定は,開発元のWebページを参照してください。

リスト4 Ruby on Railsの環境構築

# gem18 install --no-rdoc --no-ri mysql -- --with-opt-lib=/usr/pkg/lib/mysql --with-optinclude=/
usr/pkg/include/mysql
Building native extensions. This could take a while...
Successfully installed mysql-2.7
1 gem installed
# gem18 install --no-rdoc --no-ri radiant
Building native extensions. This could take a while...
Successfully installed rake-0.8.7
Successfully installed RedCloth-4.2.2
Successfully installed radiant-0.8.0
3 gems installed
# gem18 install --no-rdoc --no-ri rack
Successfully installed rack-1.0.0
1 gem installed
# gem18 install --no-rdoc --no-ri thin -- --with-opt-dir=/usr/pkg
Building native extensions. This could take a while...
Successfully installed thin-1.2.2
1 gem installed

コメント

  • 図が逆では?

    いつも有用な記事を提供いただきありがとうございます。
    Columnの図Aと図Bが逆だと思われます。

    Commented : #1  林 貞孝 (2010/03/15, 15:35)

コメントの記入