diff --git a/create_summary_websites.sh b/create_summary_websites.sh index fdc3b1a..b909792 100755 --- a/create_summary_websites.sh +++ b/create_summary_websites.sh @@ -31,6 +31,7 @@ clean_up() { rm -f $_tmp_filename_php_56 rm -f $_tmp_filename_php_70 rm -f $_tmp_filename_php_71 + rm -f $_tmp_filename_not_considered exit $1 } @@ -267,6 +268,21 @@ echo "Website; ;PHP Version; ;PHP Engine; ;Database; ;CMS; ;DocumentRoot; ;VHost echo ";" >> $filename_php_71 +_tmp_filename_not_considered=$(mktemp) +filename_not_considered="${DST_DIR_CSV}/VHOST_FILES_NOT_CONSIDERED.csv" +cat < ${DST_PATH_PHP}/vhost_files_not_considered.php + +EOF +echo "VHost file" > $filename_not_considered +echo ";" >> $filename_not_considered + + cat < ${DST_PATH_PHP}/index.php @@ -275,16 +291,21 @@ cat < ${DST_PATH_PHP}/index.php @@ -345,31 +366,41 @@ done # - for _vhost_file in ${_all_vhost_files_arr[@]} ; do + _documentroot="" + + _vhost_file_not_considered=false + # - Get Server Name # - _server_name=$(grep -i -E "^\s*ServerName" $_vhost_file | sed -e "s/ServerName//" | sed "s/^\s*//" | sed "s/\s*$//" | sort -u) - - # - Get Server Aliase - # - - _server_aliases=$(grep -i -E "^\s*ServerAlias" $_vhost_file | sed -e "s/ServerAlias//" | sed "s/^\s*//" | sed "s/\s*$//" | sort -u) - - server_aliases="" - if [[ -n "$_server_aliases" ]] ; then - for _server_alias in $_server_aliases ; do - server_aliases="$server_aliases $_server_alias" - done + if [[ $_server_name =~ localhost ]]; then + _vhost_file_not_considered=true fi - server_aliases="$(echo "$(trim $server_aliases)" | tr '\n' ' ')" + + if ! $_vhost_file_not_considered ; then + # - Get documetroot of current VHost configuration file + # - + _documentroot=$(grep -E "^\s*DocumentRoot" $_vhost_file 2> /dev/null | awk '{print$2}' | sed 's/"//g' | sed 's/\/$//' | sort -u) + fi - # - Get documetroot of current VHost configuration file - # - - _documentroot=$(grep -E "^\s*DocumentRoot" $_vhost_file 2> /dev/null | awk '{print$2}' | sed 's/"//g' | sed 's/\/$//' | sort -u) + if [[ -n $_documentroot ]]; then + # - Get Server Aliase + # - + _server_aliases=$(grep -i -E "^\s*ServerAlias" $_vhost_file | sed -e "s/ServerAlias//" | sed "s/^\s*//" | sed "s/\s*$//" | sort -u) + + server_aliases="" + if [[ -n "$_server_aliases" ]] ; then + for _server_alias in $_server_aliases ; do + server_aliases="$server_aliases $_server_alias" + done + fi + + server_aliases="$(echo "$(trim $server_aliases)" | tr '\n' ' ')" - if [[ -n $_documentroot ]] ; then # --- # - Get databases amd type of CMS @@ -380,6 +411,7 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do file_to_check="$(dirname $_documentroot)/db.inc.php" file_to_check_mediawiki="$(dirname $_documentroot)/htdocs/LocalSettings.php" + file_to_check_wordpress="$(dirname $_documentroot)/htdocs/wp-config.php" _found=false if [[ -r "$file_to_check_mediawiki" ]] && [[ ! -d "$file_to_check_mediawiki" ]] ; then @@ -411,6 +443,34 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do site_cms="MediaWiki" + elif [[ -r "$file_to_check_wordpress" ]] && [[ ! -d "$file_to_check_wordpress" ]] ; then + + db_search_string="define\('DB_NAME'" + _found=false + if grep -i -q -E "^\s*$db_search_string" $file_to_check_wordpress > /dev/null 2>&1 ; then + + database="$(grep -i -E "^\s*$db_search_string" $file_to_check_wordpress 2> /dev/null \ + | awk -F ',' '{print$2}' \ + | awk -F ')' '{print$1}' \ + | tail -1 )" + + # - Remove leading whitespace characters + database="${database#"${database%%[![:space:]]*}"}" + # - Remove trailing whitespace characters + database="${database%"${database##*[![:space:]]}"}" + # - Rmove trailing semicolon characters + database="${database%"${database##*[!;]}"}" + # - Remove trailing whitespace characters + database="${database#"${database%%[!\']*}"}" + # - Remove trailing inverted comma characters + database="${database%"${database##*[!\']}"}" + + _found=true + + fi + + site_cms="WordPress" + elif [[ -r "$file_to_check" ]] && [[ ! -d "$file_to_check" ]]; then db_search_strings=('\$db_name' '\$mysql_db') _found=false @@ -539,15 +599,20 @@ for _vhost_file in ${_all_vhost_files_arr[@]} ; do echo "$_server_name;;$_php_version;;$_php_engine;;$database;;$site_cms;;$_documentroot;;$_vhost_file;;$server_aliases" >> $_tmp_filename_php_71 fi - else + elif ! $_vhost_file_not_considered ; then _redirect_site="" _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 else - echo "$_vhost_file:UNKNOWN" + _vhost_file_not_considered=true fi fi + + if $_vhost_file_not_considered ; then + echo "$_vhost_file" >> $_tmp_filename_not_considered + fi + done cat $_tmp_filename_summary | sort >> $filename_summary @@ -561,5 +626,6 @@ cat $_tmp_filename_php_55 | sort >> $filename_php_55 cat $_tmp_filename_php_56 | sort >> $filename_php_56 cat $_tmp_filename_php_70 | sort >> $filename_php_70 cat $_tmp_filename_php_71 | sort >> $filename_php_71 +cat $_tmp_filename_not_considered | sort >> $filename_not_considered clean_up diff --git a/handle_domain_on_webserver.sh b/handle_domain_on_webserver.sh index c3f7d7b..d0034b6 100755 --- a/handle_domain_on_webserver.sh +++ b/handle_domain_on_webserver.sh @@ -710,6 +710,7 @@ for domain in "${domain_req_for_del_arr[@]}" ; do file_to_check="$(dirname $_doc_root)/db.inc.php" file_to_check_mediawiki="$(dirname $_doc_root)/htdocs/LocalSettings.php" + file_to_check_wordpress="$(dirname $_doc_root)/htdocs/wp-config.php" _found=false if [[ -r "$file_to_check_mediawiki" ]] && [[ ! -d "$file_to_check_mediawiki" ]] ; then @@ -741,6 +742,34 @@ for domain in "${domain_req_for_del_arr[@]}" ; do site_cms="MediaWiki" + elif [[ -r "$file_to_check_wordpress" ]] && [[ ! -d "$file_to_check_wordpress" ]] ; then + + db_search_string="define\('DB_NAME'" + _found=false + if grep -i -q -E "^\s*$db_search_string" $file_to_check_wordpress > /dev/null 2>&1 ; then + + database="$(grep -i -E "^\s*$db_search_string" $file_to_check_wordpress 2> /dev/null \ + | awk -F ',' '{print$2}' \ + | awk -F ')' '{print$1}' \ + | tail -1 )" + + # - Remove leading whitespace characters + database="${database#"${database%%[![:space:]]*}"}" + # - Remove trailing whitespace characters + database="${database%"${database##*[![:space:]]}"}" + # - Rmove trailing semicolon characters + database="${database%"${database##*[!;]}"}" + # - Remove trailing whitespace characters + database="${database#"${database%%[!\']*}"}" + # - Remove trailing inverted comma characters + database="${database%"${database##*[!\']}"}" + + _found=true + + fi + + site_cms="WordPress" + elif [[ -r "$file_to_check" ]] && [[ ! -d "$file_to_check" ]]; then db_search_strings=('\$db_name' '\$mysql_db') _found=false