■ はじめに
CentOS 7でApacheをインストールして起動し、ブラウザでページを表示するまでの基本的な流れを紹介します。
■ 環境
- CentOS Linux release 7.6.1810 (Core)
■ Apache HTTP Server
Linuxで使われているWebサーバーとしてもっとも高いシェアを持つのは、Apache HTTP Server(Apache)です。
Apacheは様々なオープンソフトウェアを開発しているApache財団が開発しているソフトウェアです。
- Apache HTTP Server のWEBサイト
Apacheにはいくつものバージョン系統があるが、大きく分けて、2.0系、2.2系、2.4系があります。
バージョンが異なると機能や設定がことなるが「2.2」「2.4」の部分が同じであれば、大きな違いはないと考えてよいです。
CentOS 7では2.4.6が採用されている。
■ Apacheのインストール
1. インストール
$ sudo yum -y install httpd
2. 確認
以下のコマンドで確認できます。
$ sudo yum list installed | grep httpd
また、以下のように実行することでインストールパスを確認できます。
$ which httpd
実行結果として上記のようにhttpdのパスである「/usr/sbin/httpd
」が表示されることを確認します。
これでhttpdのインストールが正常に終了したことが確認できます。
■ 設定ファイル httpd.conf
Apacheの設定ファイルは、/etc/httpd/conf/httpd.conf
にあります。
- 設定の書式
ディレクティブ 設定値
ディレクティブとは設定項目のことです。
Apacheの設定では、設定変更に必要なディレクティブを確認し、その設定値を変更します。
ディレクティブ | 説明 |
---|---|
ServerRoot | 設定ファイル等を配置するトップディレクトリ |
Listen | Apacheが待ち受けるポート番号 |
User | Apacheの実行ユーザー |
Group | Apacheの実行グループ |
ServerAdmin | Apacheの管理者 |
ServerName | Webサーバー名 |
DocumentRoot | ドキュメントルート |
DirectoryIndex | インデックスファイル名 |
■ 設定ファイルの変更
今回は、ServerNameのみ設定します。
このディレクティブが設定されていないと、Apache起動時に警告エラーが表示されてしまいます。
1. httpd.conf を編集
$ sudo vi /etc/httpd/conf/httpd.conf
2. httpd.conf の編集
- 変更前
#ServerName www.example.com:80
- 変更後
ServerName www.example.com
3. 構文チェック
httpd -t
を実行する事で設定ファイルのシンタックスチェックが可能です。
実行結果に『 Syntax OK 』と表示されれば問題ありません。
$ httpd -t
■ Apacheの起動
Apacheを起動します。
$ sudo systemctl start httpd
Apacheを自動で起動したい場合は、
$ sudo systemctl enable httpd
■ ファイアウォールの設定
デフォルトのファイアウォールの設定では、Webサーバーへのアクセスは許可されません。
そのため、Apacheを起動しただけでは外部からアクセスはできないので、ファイアウォールの設定を変更し、80番ポートのアクセスを許可します。
ファイアウォールの設定では、firewall-cmd
コマンドを使います。
1.ファイアウォールの設定変更
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --reload
これでWebブラウザからアクセスできます。
2. ブラウザからアクセス
Webブラウザのアドレス欄で「http://IPアドレス
」を入力してください。
テストページが出れば成功。
■ HTMLファイルの作成
HTMLファイルを作成し、それを表示させてみます。
1. index.html の作成
$ sudo vi /var/www/html/index.html
2. index.html の記述
<html>
<head>
<title>Test Page</title>
</head>
<body>
<h1>Hello Apache</h1>
</body>
</html>
保存したら再度アクセスをしてみる。
ページが表示されれば成功です。