diff --git a/create_summary_websites.sh b/create_summary_websites.sh index 0c0e79b..dd46408 100755 --- a/create_summary_websites.sh +++ b/create_summary_websites.sh @@ -12,6 +12,23 @@ declare -a apache_vhost_dir_arr declare -a _all_vhost_files_arr declare -a _all_document_root_dirs_arr +PHP_VERIONS_SUPPORTED="5.3 5.4 5.5 5.6 7.0.7.1 7.2" + +declare -i number_websites_53=0 +declare -i number_websites_54=0 +declare -i number_websites_55=0 +declare -i number_websites_56=0 +declare -i number_websites_70=0 +declare -i number_websites_71=0 +declare -i number_websites_72=0 +declare -i number_redirected=0 +declare -i number_mod_php=0 +declare -i number_php_fpm=0 +declare -i number_php_fcgid=0 +declare -i number_overall=0 +declare -i number_no_php_assigned=0 +declare -i number_not_considered=0 + # ------------- # --- Some functions @@ -33,6 +50,7 @@ clean_up() { rm -f $_tmp_filename_php_71 rm -f $_tmp_filename_php_72 rm -f $_tmp_filename_not_considered + rm -f $_tmp_filename_no_php_assigned exit $1 } @@ -298,34 +316,19 @@ echo "VHost file" > $filename_not_considered echo ";" >> $filename_not_considered -cat < ${DST_PATH_PHP}/index.php - - - Statistics websites - - - - - +_tmp_filename_no_php_assigned=$(mktemp) +filename_no_php_assigned="${DST_DIR_CSV}/WEBSITES_NO_PHP_FOUND.csv" +cat < ${DST_PATH_PHP}/websites_no_php_found.php + EOF +echo "VHost file" > $filename_no_php_assigned +echo ";" >> $filename_no_php_assigned # ----- @@ -349,15 +352,15 @@ fi # - Try to find apache vhost configuration directories # - if [[ -d "/usr/local/apache2/conf/vhosts" ]]; then - if [[ -d "/usr/local/apache2/conf/vhosts/0" ]]; then + apache_vhost_dir_arr+=("/usr/local/apache2/conf/vhosts") + #if [[ -d "/usr/local/apache2/conf/vhosts/0" ]]; then while IFS='' read -r -d '' dirname ; do if ! containsElement "$(realpath $dirname)" "${apache_vhost_dir_arr[@]}" ; then apache_vhost_dir_arr+=("$(realpath $dirname)") fi done < <(find /usr/local/apache2/conf/vhosts -mindepth 1 -maxdepth 1 -type d -print0) - else - apache_vhost_dir_arr+=("/usr/local/apache2/conf/vhosts") - fi + #else + #fi elif [[ -d "/etc/apache2/sites-enabled" ]]; then apache_vhost_dir_arr+=("/etc/apache2/sites-enabled") fi @@ -394,6 +397,8 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do _vhost_file_not_considered=true fi + ((number_overall++)) + if ! $_vhost_file_not_considered ; then # - Get documetroot of current VHost configuration file @@ -813,6 +818,8 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do fi echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_fpm + ((number_php_fpm++)) + elif grep -d skip -q -E "^\s*FCGIWrapper\s+.*\.php" $_vhost_file 2> /dev/null ; then _php_engine="PHP FastCGI" @@ -825,44 +832,74 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do _php_version="UNKNOWN" fi echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_fcgid + + ((number_php_fcgid++)) elif $mod_php_installed ; then _php_engine="Apache Handler" _php_version="$MOD_PHP_VERSION" echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_mod_php + + ((number_mod_php++)) else _php_version="No PHP assigned" _php_engine="" + + echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_no_php_assigned + + ((number_no_php_assigned++)) + fi echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_summary if [[ "$_php_version" =~ ^5.3 ]]; then echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_53 + + ((number_websites_53++)) + fi if [[ "$_php_version" =~ ^5.4 ]]; then echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_54 + + ((number_websites_54++)) + fi if [[ "$_php_version" =~ ^5.5 ]]; then echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_55 + + ((number_websites_55++)) + fi if [[ "$_php_version" =~ ^5.6 ]]; then echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_56 + + ((number_websites_56++)) + fi if [[ "$_php_version" =~ ^7.0 ]]; then echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_70 + + ((number_websites_70++)) + fi if [[ "$_php_version" =~ ^7.1 ]]; then echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_71 + + ((number_websites_71++)) + fi if [[ "$_php_version" =~ ^7.2 ]]; then echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_72 + + ((number_websites_72++)) + fi elif ! $_vhost_file_not_considered ; then @@ -870,6 +907,9 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do _redirect_site=$(grep -E "^\s*RewriteRule" $_vhost_file 2> /dev/null | awk '{print$3}' | sed 's/"//g' | sed 's/\/$//' | sed 's/https\?:\/\///g' | sed 's/\$1//g' | sort -u) if [[ -n "$_redirect_site" ]] ; then echo "$_server_name;;$_redirect_site;;$_vhost_file" >> $_tmp_filename_redirected + + ((number_redirected++)) + else _vhost_file_not_considered=true fi @@ -877,6 +917,9 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do if $_vhost_file_not_considered ; then echo "$_vhost_file" >> $_tmp_filename_not_considered + + ((number_not_considered++)) + fi done @@ -894,5 +937,75 @@ cat $_tmp_filename_php_70 | sort >> $filename_php_70 cat $_tmp_filename_php_71 | sort >> $filename_php_71 cat $_tmp_filename_php_72 | sort >> $filename_php_72 cat $_tmp_filename_not_considered | sort >> $filename_not_considered +cat $_tmp_filename_no_php_assigned | sort >> $filename_no_php_assigned + + +# ----- +# - Create summary file index.php +# ----- + +cat < ${DST_PATH_PHP}/index.php + + + Statistics websites $(hostname -f) + + +

$(hostname -f)

+ +
PHP versions supported by this script:
    $PHP_VERIONS_SUPPORTED
+ + + +EOF clean_up