kusanagi(CentOS7)ミドルウェアの各種ディレクトリやファイル場所
プロファイル名はhogehoge_htmlなどkusanagi provisionコマンドで各種CMSをインストールする時にご自身で決めたものです。/etc/kusanagi.confを見て確認できます。/home/kusanagiでlsコマンドを叩くとプロファイルをバーチャルホストとして確認できます。あまり好きな作業ではないのですが、apacheからnginxへの乗り換え、apache単体のバージョンアップなど、.htaccessの可否や挙動に関わり、レガシー環境からクラウドへの移行などの際によく確認するため、まとめました。
Apacheの場合
Apacheログ
/etc/httpd/logs/
ホスト全体のApache設定ファイル
/etc/httpd/httpd.conf
と
/etc/httpd/conf/httpd.conf
2箇所ある。比較したら中身の差は無い。リネームとkusanagi restartで確認したところ、/etc/httpd/httpd.confはバーチャルホストに影響あり。/etc/httpd/conf/httpd.confは影響なし。
バーチャルホストのApache設定ファイル
httpの場合
/etc/httpd/conf.d/プロファイル名_http.conf
https(SSL)の場合
/etc/httpd/conf.d/プロファイル名_ssl.conf
バーチャルホストのApacheログ
/home/kusanagi/プロファイル名/log/httpd/
php.conf
/etc/httpd/conf.d/php.conf
Nginxの場合
Nginxログ
/var/log/nginx/
accessログとerrorログ
/etc/nginx/logs/ はkusanagiには作られていない。
ホスト全体のNginx設定
/etc/nginx/nginx.conf
Nginxのバーチャルホストの設定ファイル(サーバーディレクティヴ)
httpの場合
/etc/nginx/conf.d/プロファイル名_http.conf
https(SSL)の場合
/etc/nginx/conf.d/プロファイル名_ssl.conf
Nginxのバーチャルホストのログ
/home/kusanagi/プロファイル名/log/nginx/
accessログとerrorログ
その他
php.ini
/etc/php.ini
/etc/php7.d/php.ini
おそらくphp7との区分け目的だと思いますが、php.iniが2つある。
php-fpm
/etc/php7-fpm.d/www.conf
www.confの中身抜粋(kusanagi apache2.4 php7-fpm mpm_event_module)
[www]
user=httpd
group=www
listen=127.0.0.1:9000
listen.allowed_clients=127.0.0.1
pm=dynamic
pm.max_children=50
pm.start_servers=10
pm.min_spare_servers=5
pm.max_spare_servers=15
pm.max_requests=50
slowlog=/var/log/php7-fpm/www-slow.log
request_slowlog_timeout=10
request_terminate_timeout=90
php_admin_value[error_log]=/var/log/php7-fpm/www-error.log
php_admin_flag[log_errors]=on
php_value[session.save_handler]=files
php_value[session.save_path]=/var/lib/php7/session
php_value[session.wsdl_cache_dir]=/var/lib/php7/wsdlcache
php7-fpm.conf.kusanagi
/etc/php7-fpm.d/php7-fpm.conf.kusanagi
※security.limit_extensionsがある。
/etc/php7-fpm.dなどでgrepするとsecurity.limit_extensionsがいっぱいある。
/etc/php7-fpm.d/www.confの388行目にもsecurity.limit_extensionsがある。
/etc/bash_completion.d/kusanagi
各種kusanagiコマンドのオプションや標準入力に対する補完関数のシェルスクリプトが記載されている。
#!/bin/bash
_kusanagi() {
local cur prev twoprev
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ ${COMP_CWORD} -ge 2 ] ; then
twoprev=${COMP_WORDS[COMP_CWORD-2]}
fi
COMPREPLY=()
if (( $COMP_CWORD <= 1 )); then
COMPREPLY=( $(compgen -W 'init provision status warm-up target update nginx httpd hhvm php-fpm php7 bcache fcache configure setting ssl https autorenewal images cert-change zabbix upgrade addon dbinit composer waf selinux' -- $cur) );
elif [ $COMP_CWORD = 2 ]; then
if [ "$prev" = "update" ]; then
COMPREPLY=( $(compgen -W 'plugin cert' -- $cur) );
elif [ "$prev" = "fcache" ] || [ "$prev" = "bcache" ] ; then
COMPREPLY=( $(compgen -W 'on off clear' -- $cur) );
elif [ "$prev" = "provision" ] || [ "$prev" = "target" ] ; then
COMPREPLY=( $(compgen -W $(ls /home/kusanagi)) )
elif [ "$prev" = "addon" ]; then
COMPREPLY=( $(compgen -W 'install remove' -- $cur) );
elif [ "$prev" = "dbinit" ]; then
COMPREPLY=( $(compgen -W 'mariadb psql' -- $cur) );
elif [ "$prev" = "waf" ]; then
COMPREPLY=( $(compgen -W 'on off' -- $cur) );
elif [ "$prev" = "status" ]; then
COMPREPLY=( $(compgen -W '--all' -- $cur) );
elif [ "$prev" = "composer" ]; then
COMPREPLY=( $(compgen -W 'init' -- $cur) );
elif [ "$prev" = "selinux" ]; then
COMPREPLY=( $(compgen -W 'on off' -- $cur) );
elif [ "$prev" = "ssl" ]; then
COMPREPLY=( $(compgen -W '--email --https --hsts --auto' -- $cur) );
fi
elif [ $COMP_CWORD = 3 ] ; then
if [ "$twoprev" = "update" ] ; then
COMPREPLY=( $(compgen -W $(ls /home/kusanagi)) )
elif [ "$twoprev" = "upgrade" ]; then
COMPREPLY=( $(compgen -W '--force' -- $cur) );
elif [ "$twoprev" = "addon" ]; then
COMPREPLY=( $(compgen -W 'mroonga go vuls tripwire suricata shibboleth' -- $cur) );
elif [ "$twoprev" = "selinux" ]; then
if [ "$prev" = "on" ]; then
COMPREPLY=( $(compgen -W '--strict' -- $cur) );
elif [ "$prev" = "off" ]; then
COMPREPLY=( $(compgen -W '--permanent' -- $cur) );
fi
fi
fi
}
complete -F _kusanagi -o default -o bashdefault kusanagi
_kusanagi_deploy_client () {
local cur prev twoprev
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ ${COMP_CWORD} -ge 2 ] ; then
twoprev=${COMP_WORDS[COMP_CWORD-2]}
fi
COMPREPLY=()
if (( $COMP_CWORD <= 1 )); then
COMPREPLY=( $(compgen -W 'init deploy status diff pull help' -- $cur) );
fi
}
complete -F _kusanagi_deploy_client -o default -o bashdefault kusanagi-deploy-client
_kusanagi_deploy_server () {
local cur prev twoprev
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ ${COMP_CWORD} -ge 2 ] ; then
twoprev=${COMP_WORDS[COMP_CWORD-2]}
fi
COMPREPLY=()
if (( $COMP_CWORD <= 1 )); then
COMPREPLY=( $(compgen -W 'init status provision publish rollback help' -- $cur) );
fi
}
complete -F _kusanagi_deploy_server -o default -o bashdefault kusanagi-deploy-server