最終更新: 2007-06-10 (日) 10:02:41
このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

lighttpd サーバの環境設定

ネットワークの設定

/etc/network/interfaces の eth0 の設定を以下のように変更。

auto eth0
iface eth0 inet static
address 192.168.0.140
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

/etc/hostname を以下のように変更。

lighttpd

/etc/hosts を以下のように変更。

127.0.0.1	localhost.localdomain	localhost

/etc/resolv.conf を以下のように変更。

domain local
nameserver 192.168.0.2

DNS サーバに以下の IP アドレスとホスト名を登録。

IP アドレス
192.168.0.140
ホスト名
lighttpd.local, lighttpd

APT の設定

/etc/apt/sources.list に以下の設定を追加。

deb http://ring.airnet.ne.jp/pub/linux/debian/debian testing main contrib non-free

/etc/apt/preferences に以下のように記述。

Package: *
Pin: release a=testing
Pin-Priority: 105

Package: *
Pin: release a=testing-proposed-updates
Pin-Priority: 110

Package: *
Pin: release a=unstable
Pin-Priority: 90

パッケージのアップデート

以下のコマンドを実行。

# aptitude update
# aptitude upgrade

NFS クライアントの設定

NFS クライアント用のパッケージをインストール。

# aptitude install nfs-common

/etc/fstab に以下の設定を追加。

nas:/home       /home           nfs     defaults        0       0

lighttpd のインストール

パッケージのインストール

以下のパッケージをインストール。

# aptitude install libc6/testing
# aptitude install locales/testing
# aptitude install lsb-base/testing
# aptitude install lighttpd/testing
# aptitude install perl-modules
# aptitude install ruby
# aptitude install libfcgi-ruby1.8

locales パッケージのインストール時の質問には、以下のように答える。

Locales to be generated:
ja_JP.EUC-JP EUC-JP にチェックを入れる
Default locale for the system environment:
ja_JP.EUC-JP

lighttpd.conf の設定

/etc/lighttpd/lighttpd.conf の設定を以下のように変更。

server.document-root       = "/home/www/"

/etc/lighttpd/lighttpd.conf の設定を以下のように変更。 *1

index-file.names = (
	"index.php",
	"index.fcgi", "index.rb",
	"index.cgi",  "index.pl",
	"index.html", "index.htm"
)

以下の行をコメントアウト。
(ホスト OS からもアクセスできるようにするため)

server.bind = "localhost"

ユーザ毎のウェブディレクトリの設定

以下のコマンドを実行し、mod_userdir モジュールを有効にする。

# lighty-enable-mod userdir

CGI の設定

/etc/lighttpd/conf-available/10-cgi.conf の cgi.assign を以下のように変更。

cgi.assign = (
	".cgi" => "/usr/bin/perl",
	".pl"  => "/usr/bin/perl",
	".php" => "/usr/bin/php-cgi",
	".rb"  => "/usr/bin/ruby"
)

以下のコマンドを実行し、mod_cgi モジュールを有効にする。

# lighty-enable-mod cgi

FastCGI (PHP) の設定

/etc/lighttpd/conf-available/10-fastcgi.conf の fastcgi.server を以下のように変更。

fastcgi.server = (
	".php" => ((
		"bin-path" => "/usr/bin/php-cgi",
		"socket" => "/tmp/php.socket",
		"max-procs" => 2,
		"idle-timeout" => 20,
		"bin-environment" => (
			"PHP_FCGI_CHILDREN" => "4",
			"PHP_FCGI_MAX_REQUESTS" => "10000"
		),
		"bin-copy-environment" => (
			"PATH", "SHELL", "USER"
		),
		"broken-scriptfilename" => "enable"
	))
)

以下のコマンドを実行し、mod_fastcgi モジュールを有効にする。

# lighty-enable-mod fastcgi

FastCGI (Ruby) の設定 (tDiary 用)

tDiary のインストール先のディレクトリに、 index.fcgi を以下の内容で作成。

#!/usr/bin/env ruby
$MY_DIR = File.dirname(__FILE__)
$LOAD_PATH.unshift $MY_DIR
Dir.chdir( File.dirname(__FILE__) )

require 'fcgi'

FCGI.each_cgi { |cgi|
	begin
		ENV.clear
		ENV.update(cgi.env_table)

		$CGI = cgi
		def CGI::new; $CGI; end

		load File.join($MY_DIR, 'index.rb')
	ensure
		class << CGI; remove_method :new; end
	end
}

以下のコマンドを実行し、index.fcgi のパーミッションを設定。

# chmod 705 index.fcgi

/etc/lighttpd/conf-available/10-fastcgi.conf の fastcgi.server に以下の設定を追加。

fastcgi.server += (
	".fcgi" => ((
		"socket" => "/tmp/tdiary.socket",
		"bin-path" => "/home/revulo/public_html/blog/index.fcgi",
		"max-procs" => 2,
		"idle-timeout" => 20
	))
)

認証の設定 (tDiary 用)

/etc/lighttpd/conf-available/10-auth.conf に以下の設定を追加。

auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/home/revulo/tDiary/.htpasswd"
auth.require = (
	"/~revulo/blog/update.rb" => (
		"method"  => "basic",
		"realm"   => "tDiary",
		"require" => "valid-user"
	)
)

以下のコマンドを実行し、mod_auth モジュールを有効にする。

# lighty-enable-mod auth

URL の rewrite の設定 (PukiWiki, tDiary 用)

/etc/lighttpd/lighttpd.conf の server.modules の以下の行のコメントを外し、 mod_rewrite モジュールを有効にする。

#           "mod_rewrite",

/etc/lighttpd/lighttpd.conf の url.rewrite-once に以下の設定を追加。

url.rewrite-once = (
	"^/wiki/(.+)\.html(?:\?(.*))?$" => "/wiki/index.php?cmd=rewritemap&page=$1&$2",
	"^/wiki/index\.rdf$" => "/wiki/index.php?plugin=rss&ver=1.0",
	"^/wiki/sitemap\.xml$" => "/wiki/index.php?cmd=sitemaps",
	"^/~revulo/blog/([0-9\-]+)\.html$" => "/~revulo/blog/index.fcgi?date=$1",
	"^/~revulo/blog/([^/]+)\.html(?:\?(.*))?$" => "/~revulo/blog/index.fcgi?category=$1&$2"
)

SSH のインストール

テスト環境への SSH のインストール の手順を参照。

VMware Tools のインストール

ファイルサーバへの VMware Tools のインストール の手順を参照。

phpMyAdmin のインストール

phpMyAdmin のパッケージをインストール。

# aptitude install phpmyadmin

インストール時の質問には、以下のように答える。

Which web server would you like to reconfigure automatically?
(そのまま OK を選択)

/usr/share/phpmyadmin/config.inc.php の設定を以下のように変更。

$cfg['Server'][$i]['host']          = 'mysql';

/etc/lighttpd/lighttpd.conf に以下の設定を追加。

alias.url += ( "/phpmyadmin/" => "/usr/share/phpmyadmin/" )

その他のパッケージのインストール

以下のパッケージを追加でインストール。

# aptitude install apt-show-versions
# aptitude install lv
# aptitude install patch
# aptitude install unzip

仮想マシンの設定変更

仮想マシンをシャットダウン。

メニューの VM → Settings... を実行し、ハードウェア構成の以下の部分を変更。

DeviceSummary
Memory64 MB

vmx ファイルの設定を以下のように変更。

tools.syncTime = "TRUE"
*1 index.fcgi を index.rb よりも先に登録する

(Counter:1, Today:1, Yesterday:0)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   最終更新のRSS