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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください