昨日のブログの終わりがけにチラッと伝えておきましたが、

#055 Webサーバ 』の内容の段階では、「/var/www/html」

ディレクトリに書き込みができるのは管理者のみなんです。


なので一般ユーザが直接ファイルを配置することが出来る

よう今日は設定していきたいと思います。


まずは管理者権限になり、【gedit /etc/httpd/conf/httpd.conf】

コマンドを叩いてくださいね。


Rina-chanのLinux =Fedora8=



geditが開いたら、354行目付近の【UserDir disable】

が有効になっているので、「#」をつけて設定を無効に

してね。この設定が有効になっていると、一般ユーザ

のWebページ公開が出来ませんょ。


続けて、361行目付近の【UserDir public_html】の「#」

を取り除いてね。この設定は、各ユーザのホーム

ディレクトリ直下にある「public_html」ディレクトリを

Webページ用に公開する設定なの。

Rina-chanのLinux =Fedora8=



ここまで出来たら、369行目~380行目付近にある

【<Directory/home/*/public_html>】~【</Directory>】

の行頭「#」を全部取り除いてね。

Rina-chanのLinux =Fedora8=


これでgeditでの作業はおしまい。

上書き保存しておいてね。


「端末」の操作に戻るよ。

Apacheに、geditでの設定内容を読み込ませるよ。


ここで注意してほしいのは、今までは最後にrestart

って入力してたと思うけど、今回は、reloadってトコ。


【/etc/rc.d/init.d/httpd reload】と入力するよひらめき電球


再読み込みが「OK」であれば、一旦管理者権限から

抜け出してね。【exit】で抜け出せるよ。


一般ユーザに戻ったら、

【cd】

【mkdir public_html】

【chmod o+rx public_html】

【chmod o+x ./】

と入力してね。


Rina-chanのLinux =Fedora8=


何をしたのかというと、さっきのgedit内で、

「UserDir public_html」としたから、とりあえず、

ホームディレクトリ直下に「public_html」という

ディレクトリを作成したの。


その作成したディレクトリは作成者のみがアクセス可能

になっているから、Apache自身などその他のユーザも

読み込めるように【chmod】コマンドで設定したってワケ。


二つ目の【chmod】コマンドでは、ホームディレクトリに

実行権限のみを付与したの。なぜ実行権限をホーム

ディレクトリに与えなきゃいけないのかというと、たとえ、

作成した「public_html」ディレクトリのアクセス権限を

変更しても、その上位にあるホームディレクトリに実行

権限がないと、Apacheが「public_html」ディレクトリを

閲覧できないのね。


かといって、誰でもアクセス可能にしちゃうと、セキュリティ

上、あまりよろしくないのね。だから実行権限のみ付与した

ってワケ。


ここまでOkayはてなマーク



アクセス権限も適切な状態になったし、もう大丈夫・・・

と思ってもらっては困ります。まだ、この状態だと、

一般ユーザのディレクトリを公開できないの。


何故かというと、SELinuxの所為ドンッ


SELinuxがアクセスを許可できるか判断するのに、

ファイルやディレクトリには「ラベル」と呼ばれるものが

ついてるの。ラベルは【ls -lZ】コマンドで確認できるよ。


試しに【ls -lZ】と入力してみてね。

「public_html」ディレクトリのラベルには「user_home_t」と

記載されてるのが分かるかな?これは一般ユーザのみ

がアクセス可能ってことなのね。


ラベルを変更するには次のコマンドを入力するよ。


【/sbin/restorecon -R public_html】


入力できたら、もう一回、【ls -lZ】コマンドで確認してみてね。

「user_home_t」だったのが「httpd_user_content_t」になってるね。

Rina-chanのLinux =Fedora8=

これで、Apacheがユーザの「public_html」ディレクトリに

アクセスできるようになったよ。


一旦、Webサーバ(概要編)はここまであせる



「あれ!?いつもみたいにTrio3-Gのポート転送してネカフェ

から試さないの?」と思われた貴方様。


残念ながら、現在Rinaは非常に苦しい生活をしておりますドクロ


なので、まだ実際の公開が試せないのですダウン



実際に試されたい方は、HTMLファイルを「public_html」

ディレクトリに保存して、自宅のルータなどの設定をした上で

外部から「http://ホスト名/~Rina/ファイル名.html」で試して

みてくださいね。



次はメールサーバについてのお話をします。

そのあと、Webサーバ(実践編)と題して、ネカフェから

通信可能か試していきたいと思っています。





ではでは、またいつか。


See You Again音譜


ペタしてね

サーバをたてるのも三回目だし、サクッとたてちゃうよ。

Webサーバには、Microsoft社のInternet Information

Services (IIS)や様々なものがあるけれど、今回は、

Apache Software Foundationが開発したApache HTTP

Serverで試していくよ。


Fedora8にはデフォルトでApache HTTP Serverが

インストールされているハズだけど、もしインストール

されてなかったら、【yum install htt;pd】コマンドで

インストールしてね。


【su】

【/etc/rc.d/init.d/httpd start】

【/sbin/chkconfig httpd on】

【system-config-securitylevel】


Rina-chanのLinux =Fedora8=


WWW(HTTP)にチェックを入れるよ。


Rina-chanのLinux =Fedora8=

Rinaのはデフォルトでチェックが入ってたけど

チェックが入ってなかった場合は、チェックを

入れたあと「適用」ボタンも忘れずに。



サーバはとりあえずできあがったね。



-----


続けて、Webページを公開するにあたって、

「ドキュメントルート」と呼ばれる公開用の

ディレクトリについて説明しておこうかな。


Webページを後期するには、「ドキュメント

ルート」と呼ばれるディレクトリにHTMLの

ファイルを置く必要があるのね。


その「ドキュメントルート」のディレクトリが

一体どこにあるのかというと・・・


【gedit /etc/httpd/conf/httpd.conf】と

コマンドを入力してみると確認できるよ。



Rina-chanのLinux =Fedora8=


Rina-chanのLinux =Fedora8=

ファイルが開いたら280行目付近を見てね目


そこに【DocumentRoot "/var/www/html"】

っていう記載があるね。つまり、Fedora8での

デフォルトでは「/var/www/html」ディレクトリ

が「ドキュメントルート」になるよ。


もし、この「ドキュメントルート」にindex.htmlと

いうファイルを置いた場合、「http://ホスト名/」

だけで、そのindex.htmlが表示されるよ。

つまりトップページに持ってきたいページの

ファイル名はindex.htmlにすればいいってコト。


仮に違うファイル名、例えばdocument.htmlを

置いた場合には、「http://ホスト名/document.html」

を指定すれば、そのファイルが画面上に表示されるよ。


他にも、「ドキュメントルート」配下にディレクトリを

作成して、その中にファイルを入れた場合には、

「http://ホスト名/ディレクトリ名/ファイル名.html」で

表示できるよ。この場合も、ファイル名がindex.html

だったら「http://ホスト名/ディレクトリ名/」だけで

表示ができるよ。



-----


サーバもたてれたし、ファイル名とURLの関係も

わかったし、これでいよいよ・・・と思いきや、まだ

問題があるんです。


文字化け対策が必要なのねひらめき電球



日本語で記述されたHTMLファイルの場合、文字化け

してしまう虞があるのね。なんでかっていうと、Apache

HTTP Serverがファイルの内容を送信するときに、文字

コードの指定を強制的にUTF-8にしてしまうからなの。

だからEUCやシフトJISとかで書いてしまうと文字化け

しちゃうのね。


さっきの続きでいくならば、まだgeditが開いてるハズビックリマーク

同じファイルの746行目付近を見てね目



Rina-chanのLinux =Fedora8=

ここに【AddDefaultCharaset UTF-8】と書いてるね。


この命令文の所為で、文字コードをUTF-8に指定

してしまうのね。 だから、これをコメントアウトして

あげればいいの。 文頭に「#」をつけてね。


Rina-chanのLinux =Fedora8=

ちゃんとできたら、上書き保存してね。

こうすることで、文字コードを指定しないようになるハズ。


一気にいっぱい説明しちゃったら、そろそろ今日は

このへんまでにしようかな。


最後に、Apache HTTP Serverを再起動しとかなきゃね。


【/etc/rc.d/init.d/httpd restart】


Rina-chanのLinux =Fedora8=

これで管理者は書き込みが行えるようになったハズ。

明日は各ユーザがWebページを公開する方法について

書いていこうと思います。


Bye, Bye音譜


ペタしてね

再び復活のRinaですべーっだ!チョキ


え~っと・・・

Webサーバ(概要編)ということで、今回はあまり深くまでは

お話できないかな?と思ってます。

SSIやCGIなどのお話ができるようになるのはずっとずっと

遠い未来かと思います。


ではでは、Webサーバの動作についてお話していこうかなラブラブ


ユーザがInternet ExplorerやFire FoxなどのWebブラウザを

起動して、アクセスしたいURLを入力すると、その指定した

WebページをWebサーバに「リクエスト」するのね。


この「リクエスト」では、取得したいファイル名以外に、利用

している言語や文字コードなどとのクライアントの情報を

含ませることができるの。


「リクエスト」はポート80番を介してWebサーバに渡るのね。

Webサーバは「リクエスト」の内容を見て、対象となるファイルを

ハードディスクから抽出するの。ファイルの先頭には状態を示す

ステータスラインを付け加えて、クライアントに返すよ。


クライアントは受け取ったデータにあるHTMLに従ってレイアウト

して画面上に表示するよ。


イラストにするとこんな感じアート



Rina-chanのLinux =Fedora8=



あと一つ覚えといてもらいたいのが、セッションについて。


FTPやSSHの場合はロ食いしてからログアウトするまでセッション

を確保していたんだけど、Webの場合には、一回のやり取りが

終わったらセッションは解除されるんだ。





それじゃ、今日はここまで。


明日はWebサーバをサクッと構築するよん。

Bye,Bye音譜


ペタしてね