6.wwwサーバー(apache)のインストール&設定 [目次へ] |
apacheは、wwwサーバーです。これを立ち上げることによって、自らがwwwサーバーになります。しかし、CATVから特別なドメイン名がもらえないと、外からは、http://www.******.jp などのようにはwwwブラウザからはアクセスできません。しかし、dhcpcで配布されたアドレスで直接(http://210.rrr.uuu.abc/~test/などで)アクセスすることは可能です。しかし、dhcpcで配布されたアドレスですので、固定されたアドレスではありません。したがって、アドレスは、起動するたびに変わる可能性があります。
最新のapacheをダウンロード [目次へ] |
http://www.apache.org/ や http://japache.infoscience.co.jp/
これらのサイトから最新のapacheをダウンロードします。
FreeBSD3.2のパッケージについてくるapache_1.3.6.tar.gzならコンパイルせずに簡単インストールができます。
現時点での最新は1.3.9のようですが、FreeBSD3.2のパッケージについているのは、apache_1.3.6.tar.gz
ですので、これをインストールします。
インストール [目次へ] |
CD-Rで作成したCD-ROMを入れてください。
#/stand/sysinstall
「c.Configure」「P.Packages」「1.CD-ROM」[All]「[X]apache_1.3.6.tar.gz」
「OK」「Install」「OK」
インストールが終了したら「Exit」「OK」「Exit Install」
通常は、この方法で出来るのですが、自分で作成したCD-ROMからのpackageのインストールに問題がありますので、次の方法で行ってください。
#mount /cdrom
#cd /cdrom/3.2-release/packages/www
#pkg_add apache_1.3.6.tar.gz
#cd /
#/umount /cdrom
設定する [目次へ] |
#cd /usr/local/etc/apache
#cp httpd.conf.default httpd.conf
#cp mime.types.default mime.types
#ee /usr/local/etc/apache/httpd.conf で次の行を適宜書き換えます
#ServerAdmin you@your.address ←この行を下に変える
ServerAdmin sato@catv123.ne.jp ←自分のメールアドレスにする#ServerName new.host.name ←この行を下に変える
ServerName 210.aaa.bbb.ccc<Directory />
# Options FollowSymLinks ←この行を下に変える
Options All
# AllowOverride None ←この行を下に変える
AllowOverride All
</Directory>#AddHandler cgi-script .cgi ←この行を下に変える
AddHandler cgi-script .cgi
以上のように書き換えてください。適宜自分の設定に合うように書き換えてください。
1.2.6では下記のファイルも設定しないといけませんでしたが、apache1.3.6では、httpd.confにすべて設定が統合されたようです。
access.conf
srm.conf
起動時に起動するように設定する [目次へ] |
/usr/local/etc/rc.d/apache.sh ができてシステム起動時にapacheも起動します。
#cd /usr/local/www
#mv data.default data
/usr/local/www/data/がないとapacheが起動しないので、サンプルファイルを指定しておきます。
ほかの端末から、http://210.rrr.uuu.abc/でアクセスしてみてください。↓このようなapacheの画面が出れば成功です。
ユーザーのホームページの設定 [目次へ] |
ユーザーホームページ用のディレクトリーを作ります。
#mkdir /home/atsuro/public_html
#chown atsuro /home/atsuro/public_html
http://210.rrr.uuu.abc/~atsuro/ でアクセスできるホームページが作成できる
ユーザ毎パスワードでアクセス制限 [目次へ] |
これらはApacheまたはNCSAサーバで可能な設定です。
http://www.apacheweek.com/features/userauth ←詳しくはこちらをご覧ください。
http://www.rescue.ne.jp/ ←ここにもアクセス制限やCGIのことがいろいろ書いてあります。
http://www.rescue.ne.jp/cgi-rescue/cgi?htpasswd ←ここに実際の方法が書いてあります。
/home/secret にアクセス制限をかけるようにします。
http://210.rrr.uuu.abc/~secret/
にアクセスすると、IDとパスワードの入力画面が出るようにします。
(htpasswd.tar.gzを使おうと思いましたが、解凍して出来たhtpasswdは、そのままでは使えませんのでMacBSD用にコンパイルします。しかし、「make: don't know how to make htdigest.c. Stop」で止まってしまいましたので、次の方法にしました。)
ファイルの構成は次のようになります
/home/secret/bin (パーミッション111) のなかに
/home/secret/bin/.private (パーミッション666) ←ユーザーIDとパスワードのファイルeditpwd.cgiで作ります
/home/secret/public_html (パーミッション755) のなかに
/home/secret/public_html/.htaccess (パーミッション644) ←プロテクト設定ファイル(自分で設定し作ります)
/home/atsuro/public_html/editpwd (パーミッション755) のなかに
/home/atsuro/public_html/editpwd/crypt.cgi (パーミッション755) ←editpwd.cgi用のパスワードを作るCGI
/home/atsuro/public_html/editpwd/editpwd.cgi (パーミッション755) ←.privateを編集するCGI
■「.private」ファイルの作成
http://www.rescue.ne.jp/cgi-rescue/cgi?editpwd
ここから、editpwd.cgiとcrypt.cgiをダウンロードします。
/home/atsuro/public_html/editpwd にいれてパーミッションは755にします。
http://210.rrr.uuu.abc/~atsuro/editpwd/crypt.cgi でeditpwd.cgi用のパスワードを暗号化します。
crypt.cgiの結果の暗号化されたパスワード部分を、editpwd.cgiの中にコピーして書き換えます。
#touch /home/secret/bin/.private で中身のないファイルを作ります。
#chmod 666 /home/secret/bin/.private とします。
http://210.rrr.uuu.abc/~atsuro/editpwd/editpwd.cgi でwebのアクセス制限するためのファイルの
.private(usernameとpasswordが入るファイル)を作成します。
FILENAMEは、図の「.private」でなく、フルパスで「/home/secret/bin/.private」としてください。
フルパスにしない場合は、editpwd.cgiのあるディレクトリに.privateが出来ます。あとでmvしてもOKです。
前述のとおりあらかじめファイルを作っておかないとエラーになりますので注意してください。
先ほど、editpwd.cgiの書き換えたパスワードをADMIN_KEYに入れます。
webのアクセス制限するためのファイルの.privateにいれるユーザー名とパスワードを入力します。
これで、/home/secret/bin/.private ができあがります。
#cat /home/secret/bin/.private で中身を確認してください。
■「.htaccess」の作成
#vi /home/secret/public_html/.htaccess
AuthUserFile /home/secret/bin/.private AuthGroupFile /dev/null AuthName "ByPassword" AuthType Basic <Limit POST GET PUT> require valid-user </Limit> <Files .htaccess> order deny,allow deny from all </Files> |
パスワードファイル(AuthUserFileで指定したもの)に登録したすべての人(username)を 認証対象としたい場合、上記基本設定だけで済みます。これならユーザーを追加したときでも、.htaccessはいじらないで済みます。
注意) /home/usrname/public_htmlにファイルをFTPしても、ブラウザで表示されない場合は、パーミッションをチェックしてみてください。
例.
/home/usrname/public_html ディレクトリ (パーミッション755)
/home/usrname/public_html/index.html (パーミッション644)
/home/usrname/public_html/index.html (パーミッション644)
/home/usrname/public_html/gif ディレクトリ (パーミッション755)
/home/usrname/public_html/gif/index.html (パーミッション644)
/home/usrname/public_html/gif/1.gif (パーミッション644)
/home/usrname/public_html/gif/1.gif (パーミッション644)