#!/usr/bin/env bash #version=7.2 editeur=/usr/local/bin/bbedit echo -e "\033[1mApache Tools: \033[0m" # apache v_apa=$(httpd -V | grep 'SERVER_CONFIG_FILE') conf_apa=$(echo "$v_apa" | awk -F "\"" '{print $2}') document_root=$(grep -e '^DocumentRoot' "$conf_apa" | awk '{print $2}' | sed 's/\"//g') log_apa=$(grep -e '^ErrorLog' "$conf_apa" | awk -F "\"" '{print $2}') access_apa=$(grep -e 'CustomLog' "$conf_apa" | grep -v "#" | awk -F "\"" '{print $2}') vhost=$(grep -e 'httpd-vhosts.conf' "$conf_apa" | awk '{print $2}') ssl=$(grep -e 'httpd-ssl.conf' "$conf_apa" | awk '{print $2}') # PHP v_php=$(php --ini | grep -E 'usr.*ini') php_ini=$(php --ini) conf_php=$(echo "$php_ini" | grep 'Loaded Configuration File' | awk '{print $NF}') addconf_dir="`dirname $conf_php`/conf.d/" declare -a additionnal=() add_ini() { addconf_php=$(echo "$php_ini" | grep 'Scan for additional .ini files in' | awk '{print $NF}' | xargs ls) echo "Additionnal *.ini:" z=0 for i in $addconf_php do echo "$z. $addconf_dir$i" additionnal+=("$addconf_dir$i") ((z++)) done echo "" } # MySQL v_mysql=$(mysql --help | grep -A1 'Default options') options=( "Apache (r)estart" "(E)dit httpd.conf" "Edit httpd-v(h)osts.conf" "Edit httpd-(s)sl.conf" "error_log Apache" "(a)ccess_log Apache" "Edit (P)HP.ini" "(O)pen PHP info page in browser" "Apache/PHP/MySQL (V)ersion" "Apache/PHP/MySQL (C)onfiguration files" "S(w)itch to PHP version (sphp)" "(U)pdate sphp" "Edit additio(n)nals *.ini files" "(Q)uit" ) select option in "${options[@]}"; do case "$REPLY" in 1|r|R) sudo apachectl -k restart ;; 2|e|E) "$editeur" "$conf_apa" ;; # httpd.conf 3|h|H) "$editeur" "$vhost" ;; # httpd-vhost.conf 4|s|S) "$editeur" "$ssl" ;; # httpd-ssl.conf 5) tail -f "$log_apa" ;; 6|a|A) tail -f "$access_apa" ;; 7|p|P) "$editeur" "$conf_php" ;; # php.ini 8|o|O) echo '' > $document_root/php-info.php && open 'http://localhost/php-info.php' ;; 9|v|V) apachectl -v && echo ' ' && php -v && echo ' ' && mysql --version ;; 10|c|C) echo -e "\033[4mApache:\033[0m " && echo $v_apa && echo ' ' && echo -e "\033[4mPHP:\033[0m " && echo $v_php && echo ' ' && echo -e "\033[4mMySQL:\033[0m " && echo $v_mysql ;; 11|w|W) read -e -n 3 -p "Which PHP version? (7.2/7.3/7.4): " choice # if [ "$choice" == "7.2" ] || [ "$choice" == "7.3" ] || [ "$choice" == "7.4" ]; then sphp "$choice" ; fi ;; # if [ "$choice" == "7.2" ] || [ "$choice" == "7.3" ] || [ "$choice" == "7.4" ]; then echo "$choice" | xargs -p -n 1 sphp ; fi ;; if [[ "$choice" == "7.2" ]] || [[ "$choice" == "7.3" ]] || [[ "$choice" == "7.4" ]]; then echo "$choice" | xargs -p -n 1 sphp ; fi ;; 12|u|U) curl -L 'https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw' > /usr/local/bin/sphp && chmod +x /usr/local/bin/sphp ;; 13|n|N) add_ini read -e -n 1 -p "Edit which file ?: " choice #if [[ "$choice" == 1 ]] || [[ "$choice" == 4 ]]; then "$editeur" ${additionnal[$choice]}; fi ;; if [ $choice -ge 0 ] && [ $choice -lt $z ]; then "$editeur" ${additionnal[$choice]}; fi ;; 14|q|Q) break ;; esac done