2017年11月24日金曜日

Apache2.4設定メモ(色々混み)

■Apache(2.4.6)
# yum -y install httpd


■PHP(7.1.6)
◻️レポジトリーの追加
# yum -y install epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
◻️インストールを行う
# yum -y install --enablerepo=remi-php71 php php-cli php-common php-devel php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-pear php-pecl-apcu php-soap php-xml php-xmlrpc

◆◇redisの設定については、別紙(redis編)を参照すること!!

[Apache(httpd.ini)編集]
◻️ServerTokens
ファイルの末尾に追記する。
ServerTokens ProductOnly


※末尾に記載しないとサービス再起動でエラーになるので注意が必要!!


◻️Server-Pool Size
[Apache2.4の場合、項目が存在しない]


以下、内容を追記する


----------ここから-----------
## Server-Pool Size Regulation (MPM specific) ##


<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>
----------ここまで------------


◻️ServerName
以下を追記
localhost:80


◻️DocumentRoot
変更不要


◻️ドキュメントルートの設定
------ここから-----------------
<Directory "/var/www/html">
Options FollowSymLinks Includes
AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
------ここまで-----------------

◻️"/var/www/html"の権限、所有者の変更を行う。


1)新規グループ作成
<参照先>
http://neoblog.itniti.net/memo-add-user-group-centos7


2)所有グループとグループIDを付与
# groupadd -g 5000 edit


3)ディレクトリ所有者の変更
# chown root html


4)ディレクトリのグループ名の変更
# chgrp edit html


5)パーミッションの変更
# chmod 775 html

◻️ログ設定
以下、コンフィグに内容を追記する。


LogFormat "%h %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined
CustomLog logs/access_log combined env=!health_check
SetEnvIf User-Agent "Data-Hotel-Watchdog/1.1" health_check  
CustomLog logs/health_check_log combined env=health_check

◻️ServerSignature offの設定
※Apache 2.4の場合はdefaultでServerSignature Off

◻️AddDefaultCharset offの設定
以下のように"#"を追記するだけでよい。


#AddDefaultCharset UTF-8

◻️SSL設定
以下の内容に”.html .php”を追記する。


AddType text/html             .shtml .html .php
AddOutputFilter INCLUDES         .shtml .html .php

◻️エラードキュメント設定
以下を追記する。


ErrorDocument 403 /404.html
ErrorDocument 404 /404.html

◻️リバースプロキシ設定
<参照先>
http://qiita.com/gingi99/items/83c1fb07644cd232d91e


最終行などの空いているところに追記を行う
※記述方法ついては、本番環境導入前に検討が必要


ProxyRequests Off
ProxyPass /[要検討]/app/action/AJaccsReturnDownload http://localhost:8080/[要検討]/app/action/AJaccsReturnDownload timeout=300
ProxyPass /[要検討]/app/action/AJobCheck http://localhost:8080/[要検討]/app/action/AJobCheck timeout=60
ProxyPass /[要検討]/app/action/ALogCheck http://localhost:8080/[要検討]/app/action/ALogCheck timeout=300
ProxyPass /[要検討] http://localhost:8080/[要検討] timeout=20

◻️X-Frame-Options
以下を追記する。


Header always append X-Frame-Options "ALLOW-FROM http://[サイト名]"


■/etc/sysconfig/httpdの編集
以下、コマンドにて追記を行う


echo "umask 002" >> /etc/sysconfig/httpd

■/etc/logrotate.d/httpdの編集
以下の内容に差し替えること!


-----ここから------------------
/var/log/httpd/access_log
/var/log/httpd/error_log
/var/log/httpd/health_check_log
{
   daily
   rotate 30
   missingok
   notifempty
   sharedscripts
   delaycompress
   postrotate
       /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
   endscript
}
-----ここまで------------------

■ベーシック認証(asoociation)
<参照先>
http://qiita.com/shell/items/5606d37a802e39479036


※設定方法は要相談

�@.htaccess作成
htpasswd -c -b /etc/httpd/conf/.htpasswd ユーザ名 パスワード


◻️httpd.confの修正


配下に、追記を行う
<Directory "/var/www/html">
AuthUserFile /etc/httpd/conf/.htpasswd


◻️サービスの再起動
# systemctl restart httpd

■/etc/php.iniの編集


expose_php         Off
error_reporting         E_ALL & ~E_NOTICE & ~E_DEPRECATED
date.timezone         Asia/Tokyo
session.use_only_cookies 0
session.use_trans_sid     1
session.gc_divisor     100
session.gc_maxlifetime     1800




0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...