すぐに使える 実践事例集 平成13年10月-093/114page

[検索] [目次] [PDF] [前] [次]

(2)シェルスクリプトの作成

Webサーバをインストールしても,初期設定のままではCGIを動作させることはできません。
以下の設定ファイルにCGI動作に関する記述を書き加える必要があります。

そこで,CGIに関する記述を書き加えた設定済ファイルを既存のファイルに上書きするコマンドをシェルスクリプトにまとめました。さらに手順を簡素化するため,設定済みのhttpd.conf,access.conf,srm,confを1つのファイルに圧縮しました。これにより,シェルスクリプトファイル(拡張子.sh)と圧縮された設定ファイルの2つをサーバにアップロードし,シェルスクリプトを実行させるだけで,サーバの設定を完了できるようになりました。

Vine Linux2.0(デフォルト)の場合
 /etc/httpd/conf/ディレクトリ内の
 httpd.conf………サーバの基本動作
 access.conf……アクセス制御
 srm.conf   提供する情報の詳細を制御

CGI動作設定シェルスクリプトapache_conf.sh
#!/bin/csh
 →Cシェルを用いることを宣言
mkdir apache_conf bak
 →既存の設定ファイルをバックアップするディレクトリを作成
set httpd_conf='find/-name"httpd.conf"-print'
 →httpd.confの場所を検索
cp $httpd_conf./apache conf_bak/httpd.
conf.bak
 →検索されたhttpd.confを作成したバックアップ用ディレクトリにコピー
set access_conf='find/-name "access.conf"-print'
cp $access_conf
       ./apache_conf bak/access.conf.bak
 →access.confを検索,コピー
set srm conf='find/ -name "srm.conf" -print'
cp $srm conf ./apache_conf_bak/srm.conf.bak
 →srm.confを検索,コピー
gzip -dc./apache-conf.tar.gz|tar xvf -
 →圧縮しておいた設定済みファイルを解凍
mv -f./apache_ conf/httpd.conf $httpd_conf
mv -f./apache_ conf/access.conf $access_conf
mv -f./apache conf/srm.conf $srm conf
 →解凍された設定ファイルをそれぞれ既存のファイルに上書き
set httpd_pid='find / -name "httpd.pid" -print'
kill -HUP 'cat $httpd_pid'
 →設定を反映させるため,Apacheを再起動
掲示板CGI設置シェルスクリプトbbs_set.sh
#!/bin/csh
 →Cシェルを用いることを宣言
set doc_root='grep "DocumentRoot/"
/etc/httpd/conf/srm.conf awk'{print $2}''
 →srm.confファイルからWebページを設置するディレクトリ(ドキュメントルート)を検索
cp./wforum.tar.gz $doc root/wforum.tar.gz
 →掲示板のファイルを検索されたドキュメントルートにコピー
cd $doc root
 →ドキュメントルートに移動
gzip -dc./wforum.tar.gz|tar xvf -
 →圧縮されていた掲示板のファイルを解凍
cd ./wforum
 →解凍された掲示板のディレクトリに移動
echo -n "BBS Name?"
 →掲示板の名前を聞くダイアログ表示
set title=$<
 →掲示板の名前を入力
sed "s/Web Forum Base/$title/"wforum.cgi.base
>wforum.cgi
 →cgiファイル内の掲示板名を変更
chmod 755./*.cgi
chmod 666./1.html
chmod 666./*.log
chmod 666./*.dat
 →各ファイルのパーミッションを変更

[検索] [目次] [PDF] [前] [次]

掲載情報の著作権は福島県教育センターに帰属します。
福島県教育センターの許諾を受けて福島県教育委員会が加工・掲載しています。