昨日のブログの終わりがけにチラッと伝えておきましたが、
『#055 Webサーバ 』の内容の段階では、「/var/www/html」
ディレクトリに書き込みができるのは管理者のみなんです。
なので一般ユーザが直接ファイルを配置することが出来る
よう今日は設定していきたいと思います。
まずは管理者権限になり、【gedit /etc/httpd/conf/httpd.conf】
コマンドを叩いてくださいね。
geditが開いたら、354行目付近の【UserDir disable】
が有効になっているので、「#」をつけて設定を無効に
してね。この設定が有効になっていると、一般ユーザ
のWebページ公開が出来ませんょ。
続けて、361行目付近の【UserDir public_html】の「#」
を取り除いてね。この設定は、各ユーザのホーム
ディレクトリ直下にある「public_html」ディレクトリを
ここまで出来たら、369行目~380行目付近にある
【<Directory/home/*/public_html>】~【</Directory>】
これで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 ./】
と入力してね。
何をしたのかというと、さっきの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」になってるね。
これで、Apacheがユーザの「public_html」ディレクトリに
アクセスできるようになったよ。
一旦、Webサーバ(概要編)はここまで![]()
「あれ!?いつもみたいにTrio3-Gのポート転送してネカフェ
から試さないの?」と思われた貴方様。
残念ながら、現在Rinaは非常に苦しい生活をしております![]()
なので、まだ実際の公開が試せないのです![]()
実際に試されたい方は、HTMLファイルを「public_html」
ディレクトリに保存して、自宅のルータなどの設定をした上で
外部から「http://ホスト名/~Rina/ファイル名.html」で試して
みてくださいね。
次はメールサーバについてのお話をします。
そのあと、Webサーバ(実践編)と題して、ネカフェから
通信可能か試していきたいと思っています。
ではでは、またいつか。
See You Again![]()












