From a39d57a13b2568eee328c4f435f0abd53d6412a6 Mon Sep 17 00:00:00 2001 From: David Date: Tue, 17 May 2016 12:05:37 -0400 Subject: [PATCH] Update to support multiple time calling of the same command to install or uninstall which used to cause passwords become wrong and then would cause db connection error and access webAdmin error --- ols1clk.sh | 131 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 86 insertions(+), 45 deletions(-) diff --git a/ols1clk.sh b/ols1clk.sh index 1df93b12..f50bea99 100755 --- a/ols1clk.sh +++ b/ols1clk.sh @@ -93,7 +93,7 @@ function check_wget function display_license { echoYellow '/*********************************************************************************************' - echoYellow '* Open LiteSpeed One click installation, Version 1.1 *' + echoYellow '* Open LiteSpeed One click installation, Version 1.2 *' echoYellow '* Copyright (C) 2016 LiteSpeed Technologies, Inc. *' echoYellow '*********************************************************************************************/' } @@ -267,7 +267,7 @@ function install_wordpress cd "$WORDPRESSPATH" wget --no-check-certificate http://wordpress.org/latest.tar.gz - tar -xzvf latest.tar.gz + tar -xzvf latest.tar.gz > /dev/null 2>&1 rm latest.tar.gz wget -q -r -nH --cut-dirs=2 --no-parent https://plugins.svn.wordpress.org/litespeed-cache/trunk/ --reject html -P $WORDPRESSPATH/wordpress/wp-content/plugins/litespeed-cache/ @@ -298,27 +298,40 @@ function setup_wordpress function test_mysql_password { - #test it is the current password - CURROOTPASSWORD= + CURROOTPASSWORD=$ROOTPASSWORD TESTPASSWORDERROR=0 - printf '\033[31mPlease input the current root password:\033[0m' - read answer - mysqladmin -uroot -p$answer password $answer - if [ $? = 0 ] ; then - CURROOTPASSWORD=$answer - else - echoRed "root password is incorrect. 1 attempt remaining." + + #test it is the current password + mysqladmin -uroot -p$CURROOTPASSWORD password $CURROOTPASSWORD + if [ $? != 0 ] ; then printf '\033[31mPlease input the current root password:\033[0m' read answer - mysqladmin -u root -p$answer password $answer + mysqladmin -uroot -p$answer password $answer if [ $? = 0 ] ; then CURROOTPASSWORD=$answer else - echoRed "root password is incorrect. 0 attempts remaining." - echo - TESTPASSWORDERROR=1 + echoRed "root password is incorrect. 2 attempts remaining." + printf '\033[31mPlease input the current root password:\033[0m' + read answer + mysqladmin -u root -p$answer password $answer + if [ $? = 0 ] ; then + CURROOTPASSWORD=$answer + else + echoRed "root password is incorrect. 1 attempt remaining." + printf '\033[31mPlease input the current root password:\033[0m' + read answer + mysqladmin -u root -p$answer password $answer + if [ $? = 0 ] ; then + CURROOTPASSWORD=$answer + else + echoRed "root password is incorrect. 0 attempts remaining." + echo + TESTPASSWORDERROR=1 + fi + fi fi fi + export CURROOTPASSWORD=$CURROOTPASSWORD export TESTPASSWORDERROR=$TESTPASSWORDERROR } @@ -327,18 +340,28 @@ function install_mysql { if [ "x$ISCENTOS" = "x1" ] ; then yum -y install mysql-server + if [ $? != 0 ] ; then + echoRed "An error occured during installation of Mysql-server. Please fix this error and try again." + echoRed "You may want to manually run the command 'yum -y install mysql-server' to check. Aborting installation!" + exit 1 + fi service mysqld start else apt-get -y -f --force-yes install mysql-server + if [ $? != 0 ] ; then + echoRed "An error occured during installation of Mysql-server. Please fix this error and try again." + echoRed "You may want to manually run the command 'apt-get -y -f --force-yes install mysql-server' to check. Aborting installation!" + exit 1 + fi mysqld start fi - #chkconfig mysqld on + if [ $? != 0 ] ; then - echoRed "An error occured during installation of Mysql-server." + echoRed "An error occured during starting service of Mysql-server. " echoRed "Please fix this error and try again. Aborting installation!" exit 1 - fi - + fi + #mysql_secure_installation #mysql_install_db mysqladmin -u root password $ROOTPASSWORD @@ -390,6 +413,9 @@ function install_mysql function setup_mysql { local ERROR= + + #delete user if exists because I need to set the password + mysql -uroot -p$ROOTPASSWORD -e "DELETE FROM mysql.user WHERE User = '$USERNAME@localhost';" echo `mysql -uroot -p$ROOTPASSWORD -e "SELECT user FROM mysql.user"` | grep "$USERNAME" > /dev/nul if [ $? = 0 ] ; then @@ -433,23 +459,20 @@ function purgedatabase echoYellow "Mysql-server not installed." else local ERROR=0 - mysqladmin -uroot -p$ROOTPASSWORD password $ROOTPASSWORD - if [ $? != 0 ] ; then - test_mysql_password - - if [ "x$TESTPASSWORDERROR" = "x1" ] ; then - echoRed "Failed to purge database." - echo - ERROR=1 - ALLERRORS=1 - else - ROOTPASSWORD=$CURROOTPASSWORD - fi + test_mysql_password + + if [ "x$TESTPASSWORDERROR" = "x1" ] ; then + echoRed "Failed to purge database." + echo + ERROR=1 + ALLERRORS=1 + else + ROOTPASSWORD=$CURROOTPASSWORD fi - + if [ "x$ERROR" = "x0" ] ; then - mysql -uroot -p$ROOTPASSWORD -e "DROP USER $USERNAME@localhost;" - mysql -uroot -p$ROOTPASSWORD -e "DROP DATABASE $DATABASENAME;" + mysql -uroot -p$ROOTPASSWORD -e "DELETE FROM mysql.user WHERE User = '$USERNAME@localhost';" + mysql -uroot -p$ROOTPASSWORD -e "DROP DATABASE IF EXISTS $DATABASENAME;" echoYellow "Database purged." fi fi @@ -551,14 +574,22 @@ END_rules } END - chown -R lsadm:lsadm $WORDPRESSPATH/conf/ - + fi + #setup password - ENCRYPT_PASS=`"$SERVER_ROOT/admin/fcgi-bin/admin_php" -q "$SERVER_ROOT/admin/misc/htpasswd.php" $ADMINPASSWORD` + ENCRYPT_PASS=`"$SERVER_ROOT/admin/fcgi-bin/admin_php" -q "$SERVER_ROOT/admin/misc/htpasswd.php" $ADMINPASSWORD` + if [ $? = 0 ] ; then echo "admin:$ENCRYPT_PASS" > "$SERVER_ROOT/admin/conf/htpasswd" - echoYellow "Finished setting OpenLiteSpeed webAdmin password to $ADMINPASSWORD." - echoYellow "Finished updating server configuration." + if [ $? = 0 ] ; then + echoYellow "Finished setting OpenLiteSpeed webAdmin password to $ADMINPASSWORD." + echoYellow "Finished updating server configuration." + + #write the password file for record and remove the previous file. + echo "WebAdmin password is [$ADMINPASSWORD]." > $SERVER_ROOT/password + else + echoYellow "OpenLiteSpeed webAdmin password not changed." + fi fi else echoRed "$SERVER_ROOT/conf/httpd_config.conf is missing, it seems that something went wrong during openlitespeed installation." @@ -794,14 +825,22 @@ install_ols if [ "x$INSTALLWORDPRESS" = "x1" ] ; then if [ "x$MYSQLINSTALLED" != "x1" ] ; then install_mysql + else + test_mysql_password fi if [ "x$WORDPRESSINSTALLED" != "x1" ] ; then install_wordpress setup_wordpress + + if [ "x$TESTPASSWORDERROR" = "x1" ] ; then + echoYellow "Mysql setup byppassed due to not know the root password." + else + ROOTPASSWORD=$CURROOTPASSWORD + setup_mysql + fi fi - - setup_mysql + config_server if [ "x$WPPORT" = "x80" ] ; then @@ -811,17 +850,17 @@ if [ "x$INSTALLWORDPRESS" = "x1" ] ; then fi fi +$SERVER_ROOT/bin/lswsctrl stop $SERVER_ROOT/bin/lswsctrl start -echo "WebAdmin password is [$ADMINPASSWORD] and mysql root password is [$ROOTPASSWORD]." > $SERVER_ROOT/password -echoRed "Please be aware that your password was written to file $SERVER_ROOT/password." +echo "mysql root password is [$ROOTPASSWORD]." >> $SERVER_ROOT/password +echoYellow "Please be aware that your password was written to file '$SERVER_ROOT/password'." if [ "x$ALLERRORS" = "x0" ] ; then echoGreen "Congratulations! Installation finished." if [ "x$INSTALLWORDPRESS" = "x1" ] ; then echoGreen "Please access http://localhost:$WPPORT/ to finish setting up your WordPress site." echoGreen "And also you may want to activate Litespeed Cache plugin to get better performance." - echoGreen "Enjoy!" fi else echoYellow "Installation finished. It seems some errors occured, please check this as you may need to manually fix them." @@ -830,7 +869,9 @@ else echoGreen "And also you may want to activate Litespeed Cache plugin to get better performance." fi fi +echo echoGreen "If you run into any problems, they can sometimes be fixed by purgeall and reinstalling." -echoGreen 'Thanks for using "OpenLiteSpeed One click installation."' +echoGreen 'Thanks for using "OpenLiteSpeed One click installation".' +echoGreen "Enjoy!" echo echo