超入門 webサーバー Apache

webサーバーと言っても、昨今様々なサーバーソフトがありますが
ここでは代表的なApacheについて構築していきましょう

まずは、Apacheそのものがどういう状態か確認してみましょう

# systemctl status httpd

httpd.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)

どうやらパッケージそのものがインストールされていないようです

なのでインストールしましょう

# yum -y install httpd

インストールが終わりましたら
サーバー起動時にも自動起動するように設定しときます
# systemctl enable httpd.service

ln -s ‘/usr/lib/systemd/system/httpd.service’ ‘/etc/systemd/system/multi-user.target.wants/httpd.service’
自動起動するファイルを該当ディレクトリへリンク(シンボリック)ファイルとして置きました と言う意味

ちなみに、自動起動停止は

# systemctl disable httpd.service

rm ‘/etc/systemd/system/multi-user.target.wants/httpd.service’
自動起動するリンクファイルを削除した と言う意味

そして、早速起動

# systemctl start httpd

起動状況を見てみましょう
# systemctl status httpd

active (running) が確認できますでしょうか

そして、忘れないでほしいのは
そのサービスのポート解放(ファイヤーウォール設定)です

httpは80番ポートなので
このポートをアクセス許可設定しましょう

firewalldの設定になりますが
とりあえず、現状確認です

# cat /usr/lib/firewalld/services/http.xml

WWW (HTTP)
HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.

port protocol=”tcp” port=”80″/ があるのが解りますね

では80番ポート設定です

ファイヤーウォール設定url

ファイアウォール再起動

ファイヤーウォール再起動url

確認

# iptables -L -n | grep 80

ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ctstate NEW

これで80番設定完了です

Apacheの設定ファイルを確認してみましょう

# vi /etc/httpd/conf/httpd.conf

まずは確認したいところは
DocumentRoot “/var/www/html”
と言う表記です

Apacheはローカルファイルシステムにあるディレクトリの一部を
インターネット上に公開します

「http://ホストアドレス」などと要求を受けると
Apacheは特定のディレクトリの中のHTMLファイルを返します

この特定のディレクトリはDocumentRootを最上位ディレクトリとして
設定されてます

続いてみたい設定箇所が

DirectoryIndex index.html

ディレクトリインデックス
ここで指定したページがディレクトリ内のデフォルトトップページになります

http://localhost/のようにファイル名を省略してアクセスした場合、
index.html を最初に読んでいきます

ディレクトリインデックスは複数羅列も可能で
例えば index.html index.php
などとするとまず index.htmlがあればそれにアクセスして
なければindex.phpがあれば、それにアクセスして・・・

などと言ったようになります

Apacheの設定にはこの他にも
様々ありますが、それはまたの機会でご紹介するとして

では、簡単なhtmlファイルを置いてみましょう

# cat > /var/www/html/index.html

====================================

<HTML>
<HEAD>
<TITLE>これはテストページです</TITLE>
</HEAD>
<BODY>
<BR><BR><BR><BR>
超入門・サーバー構築勉強会
<BR><BR><BR><BR>
本日はお忙しいなか、おこしいただきありがとうございました</FONT>
<BR><BR>
MyDNS.JPユーザー会 代表
</BODY>
</HTML>

====================================

※注意点
==はコピペしないでください

流し込みができたら、[Enter]キーで改行をいれます

終了は[CTRL]+[C]です

さあ、ページを見てみましょう

ブラウザから
http://サーバーipアドレス

どうでしたか?
ページは表示されましたでしょうか?

では、ここでhtmlファイルをわざといじって
どのような表示になるか見てみましょう

まずはhtmlファイルが置かれているDocumentRootへ移動します

# cd /var/www/html

ディレクトリの中を見てみましょう
# ls -l

所有者rootですが、パーミッション744なので
第3者も読み込み可能ですね

では、パーミッションを所有者しか読み込みできない
770のしてみましょう

# chmod 770 index.html

ブラウザを[F5]などでリロードしてみましょう

Forbidden 禁じられた… と言う意味です

パーミッション770でroot以外の第3者は全て禁止にしたので
こうなったのです

では、元の744に戻してみましょう

# chmod 774 index.html

mv コマンドで名前を変えてみたら

rmコマンドでファイルそのものを消してしまったら

いろいろと試して、実際の動作を確認すると
より、理解していくのではないでしょうか