You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by jf...@apache.org on 2015/01/29 18:37:11 UTC
svn commit: r1655763 - /vcl/trunk/vcl-install.sh
Author: jfthomps
Date: Thu Jan 29 17:37:11 2015
New Revision: 1655763
URL: http://svn.apache.org/r1655763
Log:
VCL-810 - 2.4 install script
-updated help info
-removed personal test URLs
-added a check for being root
-added "Admin" when prompting for admin password
-added error code check for wget that downloads archive
-removed php-CRYPT from list of php modules to install with yum
-modified web and mn installation to have "-$VCL_VERSION" on the end of the install directories and use a symlink for the "vcl" path
Modified:
vcl/trunk/vcl-install.sh
Modified: vcl/trunk/vcl-install.sh
URL: http://svn.apache.org/viewvc/vcl/trunk/vcl-install.sh?rev=1655763&r1=1655762&r2=1655763&view=diff
==============================================================================
--- vcl/trunk/vcl-install.sh (original)
+++ vcl/trunk/vcl-install.sh Thu Jan 29 17:37:11 2015
@@ -14,7 +14,7 @@ function random_string() {
function help() {
name=`basename $0`
echo ""
- echo "$name [-d|--database] [-w|--web] [-m|--managementnode]"
+ echo "$name [-h|--help] [-d|--database] [-w|--web] [-m|--managementnode]"
echo -e "\t\t[--dbhost <hostname> --dbpass <password>] "
echo -e "\t\t[--mnhost <hostname>] [--webhost <hostname>]"
echo ""
@@ -27,16 +27,20 @@ function help() {
echo -e "\t-m|--managementnode - install management node (vcld) components"
echo -e "\t\t--dbhost, --dbpass, and --adminpass must also be specified"
echo ""
- echo -e "\t--dbhost <hostname> - hostname of database server"
+ echo -e "\t--dbhost <hostname> - hostname of database server (default=localhost)"
echo ""
- echo -e "\t--dbpass <password> - password VCL will use for accessing database"
+ echo -e "\t--dbpass <password> - password VCL will use for accessing"
+ echo -e "\t\tdatabase (default=random)"
echo ""
- echo -e "\t--mnhost <hostname> - hostname of management node"
+ echo -e "\t--mnhost <hostname> - hostname of management node (default=localhost)"
echo ""
- echo -e "\t--webhost <hostname> - hostname of web server"
+ echo -e "\t--webhost <hostname> - hostname of web server (default=localhost)"
echo ""
echo -e "\t--adminpass <password> - password for VCL admin user"
echo ""
+ echo "If no arguments supplied, all components will be install and you"
+ echo "will be prompted for any required additional information."
+ echo ""
exit 2
}
@@ -58,12 +62,10 @@ WEB_HOST=localhost
CRYPTKEY=`random_string 20`
PEMKEY=`random_string 20`
ARCHIVE=apache-VCL-$VCL_VERSION.tar.bz2
-#ARCHIVEURLPATH=http://vcl.apache.org/downloads/download.cgi?action=download&filename=%2Fvcl%2F
-#ARCHIVEURLPATH=http://people.apache.org/~jfthomps/tmp/ # TODO
-ARCHIVEURLPATH=http://people.engr.ncsu.edu/jfthomps/vcltest/ # TODO
-#SIGPATH=http://www.apache.org/dist/vcl/
-#SIGPATH=http://people.apache.org/~jfthomps/tmp/ # TODO
-SIGPATH=http://people.engr.ncsu.edu/jfthomps/vcltest/ # TODO
+#ARCHIVEURLPATH="http://vcl.apache.org/downloads/download.cgi?action=download&filename=%2Fvcl%2F"
+ARCHIVEURLPATH="http://people.apache.org/~jfthomps/tmp/" # TODO
+#SIGPATH="http://www.apache.org/dist/vcl/"
+SIGPATH="http://people.apache.org/~jfthomps/tmp/" # TODO
DODB=0
@@ -187,6 +189,13 @@ if [[ $adminpassdefault -eq 0 && ($ADMIN
exit 1
fi
+# ------------------------- check for being root -----------------------------
+who=$(whoami)
+if [[ $who != "root" ]]; then
+ echo "You must be root to run this script."
+ exit 1
+fi
+
WORKPATH=$(pwd)
if [[ -f NOTICE && -f LICENSE && -d managementnode && -d web && -d mysql ]]; then
@@ -240,12 +249,12 @@ if [[ $DOALL -eq 1 ]]; then
echo ""
echo "Enter the password you would like to use for the VCL admin user. This can be changed"
echo "later by running '/usr/local/vcl/bin/vcld --setup'"
- echo -n "Password: "
+ echo -n "Admin Password: "
IFS= read ADMIN_PASSWORD
while [[ $ADMIN_PASSWORD = ^[[:space:]]+$ || $ADMIN_PASSWORD = "" ]]; do
echo "Password cannot be empty or contain only whitespace. Please enter the password."
- echo -n "Password: "
+ echo -n "Admin Password: "
IFS= read ADMIN_PASSWORD
done
fi
@@ -376,7 +385,8 @@ function set_localauth_password() {
}
function download_archive() {
- wget -q "$ARCHIVEURLPATH$ARCHIVE" -O $ARCHIVE
+ wget -q "${ARCHIVEURLPATH}${ARCHIVE}" -O $ARCHIVE
+ if [ $? -ne 0 ]; then generic_error "failed to download $ARCHIVE from $ARCHIVEURLPATH"; exit 1; fi
}
function validate_archive_sha1() {
@@ -513,7 +523,7 @@ fi
if [[ $DOWEB -eq 1 ]]; then
print_break
echo "Installing httpd and php components..."
- yum -q -y install httpd php mod_ssl php php-gd php-CRYPT php-mysql php-xml php-xmlrpc php-ldap php-process sendmail php-mbstring
+ yum -q -y install httpd php mod_ssl php php-gd php-mysql php-xml php-xmlrpc php-ldap php-process sendmail php-mbstring
if [ $? -ne 0 ]; then generic_error "Failed to install httpd"; exit 1; fi;
echo "setting httpd to start on boot"
/sbin/chkconfig httpd on
@@ -634,15 +644,17 @@ fi
# ------------------------- copy web code in place -------------------------
if [[ $DOWEB -eq 1 ]]; then
print_break
- echo "Copying VCL web code..."
- /bin/cp -r $WORKPATH/apache-VCL-$VCL_VERSION/web/ /var/www/html/vcl
- if [ $? -ne 0 ]; then generic_error "Failed to copy VCL web code in place"; exit 1; fi;
+ echo "Installing VCL web code..."
+ /bin/cp -r $WORKPATH/apache-VCL-$VCL_VERSION/web/ /var/www/html/vcl-$VCL_VERSION
+ if [ $? -ne 0 ]; then generic_error "Failed to install VCL web code"; exit 1; fi;
+ ln -s /var/www/html/vcl-$VCL_VERSION /var/www/html/vcl
+ if [ $? -ne 0 ]; then generic_error "Failed to install VCL web code"; exit 1; fi;
chown apache /var/www/html/vcl/.ht-inc/maintenance
fi
# ---------------------------- configure web code --------------------------
if [[ $DOWEB -eq 1 ]]; then
- echo "Configureing secrets.php..."
+ echo "Configuring secrets.php..."
/bin/cp -f /var/www/html/vcl/.ht-inc/secrets-default.php /var/www/html/vcl/.ht-inc/secrets.php
if [ $? -ne 0 ]; then echo "Error: Failed to create secrets.php"; exit 1; fi;
sed -i -r -e "s/(vclhost\s+=\s+).*;/\1'$DB_HOST';/" /var/www/html/vcl/.ht-inc/secrets.php
@@ -678,7 +690,10 @@ fi
if [[ $DOMN -eq 1 ]]; then
print_break
echo "Installing management node components..."
- /bin/cp -r $WORKPATH/apache-VCL-$VCL_VERSION/managementnode/ /usr/local/vcl
+ /bin/cp -r $WORKPATH/apache-VCL-$VCL_VERSION/managementnode/ /usr/local/vcl-$VCL_VERSION
+ if [ $? -ne 0 ]; then generic_error "Failed to install VCL management node code"; exit 1; fi;
+ ln -s /usr/local/vcl-$VCL_VERSION /usr/local/vcl
+ if [ $? -ne 0 ]; then generic_error "Failed to install VCL management node code"; exit 1; fi;
fi
#--------------------- configure management node code ------------------
@@ -710,7 +725,7 @@ if [[ $DOMN -eq 1 ]]; then
if [ $? -ne 0 ]; then echo "Error: Failed to configure vcld.conf"; exit 1; fi;
fi
-#------------------ configure management to start at boot ---------------
+#------------------ configure vcld to start at boot ---------------
if [[ $DOMN -eq 1 ]]; then
echo "Configuring vcld service..."
/bin/cp -f /usr/local/vcl/bin/S99vcld.linux /etc/init.d/vcld
@@ -721,7 +736,7 @@ if [[ $DOMN -eq 1 ]]; then
if [ $? -ne 0 ]; then echo "Error: Failed to configure vcld service to start on boot"; exit 1; fi;
fi
-#----------------------- configure management in vcl --------------------
+#----------------------- configure management node in vcl --------------------
if [[ $DODB -eq 1 ]]; then
print_break
echo "Adding managment node to database..."