プログラマでありたい

おっさんになっても、プログラマでありつづけたい

Lighttpdの設定と起動

lighttpd.confを設定しましょう

$ cd /opt/local/etc/lighttpd
$ sudo cp lighttpd.conf.default lighttpd.conf
$ sudo vi lighttpd.conf
$ cd /usr/local/
$ sudo mkdir www
$ sudo mkdir www/pages
$ sudo mkdir www/logs
$

※ソースからインストールの場合は、lighttpd-1*/doc/lighttpd.confをコピーしてくる

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
#server.document-root        = "/www/pages/"
server.document-root        = "/usr/local/www/pages/"

## where to send error-messages to
server.errorlog             = "/usr/local/www/logs/lighttpd.error.log"

#### accesslog module
accesslog.filename          = "/usr/local/www/logs/access.log"

Document Rootを/usr/local/www/pages/に変更
ログを/usr/local/www/logs/access.logに変更
エラーログを/usr/local/www/logs/lighttpd.error.logに変更/var/logの方が一般的ですが。。。

lighttpdを起動してみよう

とりあえず、何でも良いのでファイルを作っておきましょう

$ cd /usr/local/www/pages
$ echo hoge > index.html

稼働確認

$ ps -ax | grep lighttpd
 1873  ??  S      0:00.15 lighttpd -f lighttpd.conf
 2343  p1  R+     0:00.00 grep lighttpd

$ netstat -a | grep http   
tcp4       0      0  *.http                 *.*                    LISTEN

問題無さげ
で、実際にブラウザからアクセスしてみる。
http://localhost/index.html
   ・
   ・
   ・
何故か、見られない。。。

tail -f /usr/local/www/logs/lighttpd.error.log 

----------------------------------------
2006-05-03 23:50:59: (log.c.75) server started 

こう言った時は、エラーログの確認

tail -f /usr/local/www/logs/lighttpd.error.log 

----------------------------------------
2006-05-03 23:50:59: (log.c.75) server started 

エラーは出ていません。
アクセスログは??

tail -f /usr/local/www/logs/access.log 
----------------------------------------

何もなし。。。
Telnetしてみる

$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
telnet: Unable to connect to remote host

接続を拒否されました。何で??
   ・
   ・
   ・
ビールを飲みながら、1時間くらい悩む。
(休憩していたとも言います)
ふと思い立つ

cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1 hogehoge
255.255.255.255 broadcasthost
::1             localhost 

localhostが::1の方を向いているようだ。
ずっと昔、テストの為に変更したのを忘れていた。。。

$ telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to hogehoge.
Escape character is '^]'.
GET /index.html HTTP/1.0 

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html
ETag: "2009557919"
Accept-Ranges: bytes
Last-Modified: Mon, 01 May 2006 06:27:59 GMT
Content-Length: 5
Date: Thu, 04 May 2006 07:26:49 GMT
Server: lighttpd/1.4.11

hoge
Connection closed by foreign host.

ということでした。お粗末様でした。
(/etc/hostsも忘れずに元に戻しておきました。)