CentOS7のApacheのインストール・アップデート設定

Apacheのインストール・アップデートの準備

CentOS7では、「yum update」では、Apache(httpd)がアップデートされないため、一度Apache(httpd)を削除してから再インストールしなくてはなりません。
CentOS7をインストールすると2.4.6が入っておりますが、これはだいぶ古いバージョンとなりますので注意が必要です。なお、「2.4.6」より「2.4.30」と最後の数字が大きい方が新しいバージョンとなります。

脆弱性

Apache2.4.41より前のバージョンに脆弱性があったので、古いバージョンの人は更新が必要です。後ほど、iusリポジトリを使用した最新版へのアップデート方法を解説します。
参考ページ:https://jvn.jp/vu/JVNVU98790275/

現在の内容を確認

バージョン確認

アップデート前に保存しておくファイル

Apacheをアップデートするときに、同時にPHPも削除・インストールしなければなりません。最悪の事態に備えて、各自重要なファイルは保存しておきましょう。

外部からの接続遮断

phpを削除すると、confファイルとかが一時的に外部から筒抜けになってしまうので、「80」と「443」接続遮断外部からの接続を遮断。サーバー会社の管理画面やfirewalldなど。終了後に接続できるように戻すことを忘れないようにしましょう。

yum update

必要に応じて、サーバー全体も更新できるものはしておきましょう。(必須ではありません)

インストール

ダメなやり方

以下の方法だと、2.4.6が入ってしまうため、

iusを使う

昔は、これでよかったみたいだけど、現在(2018/10/9)の公式ページを見ると以下のようになっています。これでやると、httpd2.4.39以上に更新されませんでした。 yum updateで自動でアップデートされないように、下記のファイルを修正。
/etc/yum.repos.d/icu.repo
のenabled=0をゼロとする。
//だめなやつ。yum install https://centos7.iuscommunity.org/ius-release.rpmでしたら「icu.repo」が下記のようになっていて、httpd2.4.39しかアップデートできませんでした。
//上のダメなやつを、以下のように「icu.repo」を書き換えたあとに「yum –disablerepo=base,extras,updates –enablerepo=ius,epel install httpd」したら、httpd2.4.41がインストールされました。

インストールしたバージョンの確認

指定したリポジトリからパッケージをインストールする基本知識

アップデートや使用するときは、 除外設定の–disablerepo=base,extras,updatesをつけてないで (例)yum –enablerepo=ius,epel install httpd とすると自動で、base,extras,updatesリポジトリも使用されるのでhttpd2.4.6が入ってしまうので注意。

PHPの削除と再インストール

以下のページ参照
https://centosinstall.com/centos/centos7/php7

CentOS7のApacheの基本・使い方

Apacheのコマンド

①Apacheの起動

②Apacheの自動起動設定

もし、Apacheを再起動させたい場合は

php.iniを変更した場合や、その他各種設定を変更した場合は再起動が必要になるケースが多いです。

httpd.confの設定

http.confを開いてください。

①Directory “/var/www/html”を編集

//インデックス表示を無効にする(必須)
//.htaccessの許可(必須)
まとめると、下記のようになります。

②IfModule dir_moduleを編集

index.phpを追記(必須) htaccessの設定

③IfModule log_config_moduleを編集

CentOSのwelcomeページの非表示設定

ドキュメントルートに index.html がない場合など Forbidden になると CentOS のウェルカムページが表示されます。このウェルカムページを非表示にします。
削除するとアップデート時に再作成されるため空ファイルにしています。

ディレクトリ一覧を表示させない設定

削除するとアップデート時に再作成されるため空ファイルにしています。

セキュリティ設定を記載したsecurity.confを新規作成編集

セキュリティ設定を記載したファイルを新規で作成します。 以下の内容を貼り付けてください。

00-mpm.confの設定

/etc/httpd/conf.modules.d/00-mpm.confの編集については以下のページで確認してください。
アクセス数やリクエスト数制限など「Apache」conf設定

Apacheのエラー確認

PHPの再インストール

バージョンを指定してインストール

php.iniの確認

通常、php.iniはそのままですが、念の為変更されていないか確認してください。 https://centosinstall.com/centos/centos7/php7#phpini

インストールしたバージョンの確認

ファイアーウォールの接続許可

最後に、サーバー管理画面やfirewalldなどで80や443などの接続を許可してください。