torinaブログ

DjangoとBootstrap4で作成したブログ
Python, Django, Kivy, Bootstrap, Apache等のメモです
ソースコード

さくらVPS(CentOS7) Apacheの導入

Linux CentOS マイサーバ初期設定2
2016年9月20日18:31
今回はApacheです。
CentOS7ではApache2.4系が採用されています。

Apache2.4のインストール
yum install httpd


Apacheの起動と、自動起動の有効
systemctl start httpd.service
systemctl enable httpd.service


セキュリティの対策。
vi /etc/httpd/conf/httpd.conf


以下を、追加します。
HTTPリプライヘッダにApacheであるということのみを表示するようにします。
ServerTokens Prod


Apache2.4から、httpd.confが簡潔になり書いてないのもあるので、
いくつかのデフォルト値にも触れておきます。
https://httpd.apache.org/docs/2.4/ja/mod/core.html
HostnameLookups Off

KeepAlive On
KeepAliveTimeout 5
MaxKeepAliveRequests 100

ServerSignature Off
ServerTokens Full  # これはProdにして隠しましたね


せっかくですし、MPMを変更してみましょう。デフォルトはpreforkです。
vi /etc/httpd/conf.modules.d/00-mpm.conf


以下のように、使いたいやつの#を外しましょう。
今回はeventとやらにしてみます。
# Select the MPM module which should be used by uncommenting exactly
# one of the following LoadModule lines:

# prefork MPM: Implements a non-threaded, pre-forking web server
# See: http://httpd.apache.org/docs/2.4/mod/prefork.html
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

# worker MPM: Multi-Processing Module implementing a hybrid
# multi-threaded multi-process web server
# See: http://httpd.apache.org/docs/2.4/mod/worker.html
#
#LoadModule mpm_worker_module modules/mod_mpm_worker.so

# event MPM: A variant of the worker MPM with the goal of consuming
# threads only for connections with active processing
# See: http://httpd.apache.org/docs/2.4/mod/event.html
#
LoadModule mpm_event_module modules/mod_mpm_event.so


反映するため再起動
systemctl restart httpd.service


以下のコマンドで、反映されたか確認しておきましょう。
apachectl -V | grep 'Server MPM'



日本語ファイル名等を扱えるようにしておきましょう。
vi /etc/sysconfig/httpd


以下のように修正
LANG=ja_JP.utf8


大したことではないですが、systemctlコマンドではなく、以下のようなコマンドも使えます。
apachectl restart


ドキュメント
https://httpd.apache.org/docs/2.4/ja/