このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。
Linux と呼ばれているソフトウェアの集まりには、いくつかの ディストロと呼ばれる種類があります。 これは、Linux カーネルと、さまざまなアプリケーション・ソフトウェアを インストールする仕組みと、さらに、ソフトウェアの管理などを定めていま す。
ディストロは様々ですが、現在2つの主流なものがあり、その他にもいくつ か有名なディストロがあります。
今回は CentOS を使用します。
CentOSのパッケージ管理は
近年、Linux のサービスの管理方法が変わり、CentOS も6 と 7 で管理方法 が異なります(Linux 標準教科書 ver.3.0.2 10.10 CentOS 7 と CentOS 6 の比較)。
サービスの管理をするコマンドは
また、Linux の各種サービスはメッセージをジャーナルログに出力しますが、
それを見るのが
yum コマンドの使用法を man コマンドで確認しなさい
yum コマンドの使用法を Google で検索して調べ、man コマンドで調べたこ とと突き合わせなさい。
Webサーバのインストール
GET / HTTP/1.0(enter)(enter)
(この手法は実験的で危険な方法なので、運用で行ってはいけない)systemctl stop iptables
なお、各手順で、状態やログを表示し、各サービスがどのような状態になっ ているか把握すること。
Webサーバの設定の確認
/etc/httpd フォルダ内を見て、設定項目を確認しなさい。特に Document Root がどのディレクトリになっているか調べなさい。
テストWebページを置く
以下のファイルを index.html という名前で Document Root に置きなさい。 そして、ブラウザで取得できるか確かめなさい。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>テストページ</title> </head> <body> <h1>テストページ</h1> <p>これはテストです。</p> </body> </html>
演習を終える際に、以下の操作により、必ずファイアーウォールを有効にすること
systemctl start iptables
Webサーバにファイルを置いて、ファイルの属性が -rw-r--r-- となってい ても、ブラウザからは Not Found になることがあります。 これは、外部のファイルの単純なコピーからシステムを守るSELinuxの機能 が働いているからかも知れません。
SELinux は CentOS7 でデフォルトで有効になっています。
見えるはずが見えないファイルを検査します。
[root@s701 html]# ls -Z -rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 a.txt -rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html [root@s701 html]#
このようにWebサーバーが表示するファイルのコンテキストは httpd_sys_content_tになっている必要があります。 これが、user_home_t など別のコンテキストになっていると、Webサーバは アクセスできず、エラーで落ちます。 なお、エラーは/var/log/httpd/error_log に次のように記述されます。
この状態を解消したいときは
なお、任意のコンテキストに修正するには