Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

Ubuntu9.10でローカルCGI実行環境を構築

Ubuntu9.10にApatch2をインストールする

このコマンドでApache2をインストールする

KAMUYCIKAP% sudo apt-get install apache2 

ものすごく簡単

ホームページとCGI、エラーログ出力用のディレクトリ作成

※私のホームディレクトリはkamuycikapです。
※自分のホームディレクトリに置き換えて読んでください。

index.htmlを置く場所 → /home/kamuycikap/www
cgiの設置場所    → /home/kamuycikap/www/cgi
エラーログを置く場所 → /home/kamuycikap/www/log

KAMUYCIKAP% mkdir /home/kamuycikap/www
KAMUYCIKAP% mkdir /home/kamuycikap/www/cgi
KAMUYCIKAP% mkdir /home/kamuycikap/www/log

設定ファイルを編集

オリジナルの設定ファイルをバックアップして、設定ファイルをエディタで開く
※私はemacs23を利用してます

KAMUYCIKAP% cd /etc/apache2//sites-enabled/
KAMUYCIKAP% sudo cp 000-default 000-default.orgin
KAMUYCIKAP% emacs23 ./000-default

オリジナルのファイルを、下記の内容に変更。
※kamuycikapは私のホームディレクトリなので、自分のホームディレクトリ名に置き換えて下さい。

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /home/kamuycikap/www
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /home/kamuycikap/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /cgi/ /home/kamuycikap/www/cgi/
	<Directory "/home/kamuycikap/www/cgi/">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	# ErrorLog /var/log/apache2/error.log
	ErrorLog /home/kamuycikap/www/log/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

LacoocanRubyパスと同じようにシンボリックリンクを作成

私は本番の環境をLacoocanサービス上で動作させます。
Lacoocanは#!/usr/local/bin/rubyなので、Ubuntuの同じ場所にRubyシンボリックリンクを作成する
※デフォルトでは/usr/bin/rubyだけです。

KAMUYCIKAP% sudo ln -s /usr/bin/ruby /usr/local/bin/ruby 
[sudo] password for kamuycikap: 

ページの表示とcgiを実行してみる

Apatche2を起動
 KAMUYCIKAP% sudo /etc/init.d/apache2 start 
ブラウザでindex.htmlを表示させてみる

ここまで設定できたら、さっそくブラウザにURLを入力して実験です。

/home/kamuycikap/wwwにindex.htmlを作成します。
※index.htmlの内容は割愛します。
※好きなindex.htmlを用意して下さい。

ブラウザに下記のURLを入力して、自分が設置したindex.htmlが表示されれば成功です!!

http://localhost/index.html
CGIを設置して実行してみる

テスト用のcgi(sample.cgi)を作成し、/home/kamuycikap/www/cgiに設置します。

用意したsample.cgiの内容

#!/usr/local/bin/ruby -Ke

print "Content-Type: text/html\n\n"
print "Hello CGI Ruby!!"

以下のURLをブラウザに入力

http://localhost/cgi/sample.cgi

ブラウザに「Hello CGI Ruby!!」が表示されればCGIも動作しています。

Apatche2を停止させたい場合

Apatche2を停止させたい場合は、下記のコマンドを実行

 KAMUYCIKAP% sudo /etc/init.d/apache2 stop