diff options
Diffstat (limited to 'install/install.sh')
| -rwxr-xr-x | install/install.sh | 39 | 
1 files changed, 25 insertions, 14 deletions
| diff --git a/install/install.sh b/install/install.sh index 92d0684c6..22b90e0be 100755 --- a/install/install.sh +++ b/install/install.sh @@ -1,5 +1,8 @@  #!/bin/bash +set -e +set -x +  ######################################################################  # Minimum configuration                                              #  ###################################################################### @@ -41,7 +44,10 @@ UWSGI_PORT=${UWSGI_PORT-8891}  NGINX_PORT=${NGINX_PORT-80}  # don't forget the trailing slash -INSTALL_PREFIX=/srv/ +INSTALL_PREFIX=${INSTALL_PREFIX-/srv/} +if ! echo "$INSTALL_PREFIX" | grep -qs '/$'; then +    INSTALL_PREFIX="$INSTALL_PREFIX/" +fi  # if a virtualenv is used put the full path of the python to use  PYTHON=python @@ -62,22 +68,25 @@ NGINX_ENABLE_PATH='/etc/nginx/sites-enabled/'  echo "* installing dependencies" +APT_GET=${APT_GET-apt-get} +PIP=${PIP-pip} +  if [ $DB_HOST = "127.0.0.1" ]; then -    apt-get -q -y install postgresql postgresql-$PG_VERSION-postgis postgresql 2> /dev/null > /dev/null +    $APT_GET -q -y install postgresql postgresql-$PG_VERSION-postgis postgresql 2> /dev/null > /dev/null  fi -apt-get -q -y install git apg python-pip 2> /dev/null > /dev/null +$APT_GET -q -y install git apg python-pip 2> /dev/null > /dev/null -apt-get -q -y install python python-django \ +$APT_GET -q -y install python python-django \        libjs-jquery libjs-jquery-ui python-pisa python-django-registration \        python-utidylib python-lxml python-imaging python-django-south \        python-psycopg2 python-gdal gettext python-bs4 python-tidylib \        python-unicodecsv \        python-django-extra-views python-memcache python-dbf 2> /dev/null > /dev/null -apt-get -q -y install uwsgi uwsgi-plugin-python nginx memcached 2> /dev/null > /dev/null +$APT_GET -q -y install uwsgi uwsgi-plugin-python nginx memcached 2> /dev/null > /dev/null -pip install$PIP_OPTIONS BeautifulSoup4==4.3.2 +$PIP install$PIP_OPTIONS BeautifulSoup4==4.3.2  if [ -z "$DB_PASSWORD" ]  then @@ -89,7 +98,7 @@ fi  DB_NAME='ishtar'$APP_NAME  INSTALL_PATH=$INSTALL_PREFIX$DB_NAME  DATE=`date +%F` -CDIR=`pwd` +CDIR=`readlink -f $(dirname $0)`  SECRET_KEY=`apg -a 0 -M ncl -n 6 -x 10 -m 40 |head -n 1`  if [ $DB_HOST = '127.0.0.1' ] @@ -119,7 +128,7 @@ fi  echo '* get sources' -mkdir $INSTALL_PATH +mkdir -p $INSTALL_PATH  mkdir $INSTALL_PATH'/conf'  cd $INSTALL_PATH @@ -161,7 +170,7 @@ sed -s "s|#APP_NAME#|$APP_NAME|g;\  ln -s $INSTALL_PATH'/conf/local_settings.py' $APP_DIR'/local_settings.py'  # rights -mkdir $APP_DIR'/media' +mkdir -p $APP_DIR'/media'  chown -R root:www-data $APP_DIR'/media'  chmod -R g+w $APP_DIR'/media' @@ -194,10 +203,6 @@ echo "* sync database"  cd $APP_DIR  python ./manage.py syncdb --noinput 2> /dev/null > /dev/null -python ./manage.py migrate ishtar_common 2> /dev/null > /dev/null -python ./manage.py migrate archaeological_files 0013 2> /dev/null > /dev/null -python ./manage.py migrate archaeological_operations 2> /dev/null > /dev/null -python ./manage.py migrate archaeological_files 2> /dev/null > /dev/null  python ./manage.py migrate 2> /dev/null > /dev/null  echo "* load default data" @@ -235,13 +240,16 @@ $PYTHON ./manage.py migrate --fake 2> /dev/null > /dev/null  echo '* uwsgi configuration' +# NOTE: Replacing #INSTALL_PREFIX#/ is done on purpose, since we +#       ensured that variable has a trailing slash.  sed -s "s|#APP_NAME#|$APP_NAME|g;\          s|#DB_NAME#|$DB_NAME|g;\ +        s|#INSTALL_PREFIX#/|$INSTALL_PREFIX|g;\          s|#URL#|$URL|g;\          s|#UWSGI_PORT#|$UWSGI_PORT|g;" $CDIR'/uwsgi.ini.template' > \                                         $INSTALL_PATH'/conf/uwsgi.ini' -sed -s "s#APP_NAME#/$APP_NAME/g;" $CDIR'/django.wsgi.template' > \ +sed -s "s/#APP_NAME#/$APP_NAME/g;" $CDIR'/django.wsgi.template' > \                      $INSTALL_PATH'/conf/'$APP_NAME'.wsgi'  ln -s $INSTALL_PATH'/conf/uwsgi.ini' \ @@ -254,11 +262,14 @@ service uwsgi restart  echo '* nginx configuration' +# NOTE: Replacing #INSTALL_PREFIX#/ is done on purpose, since we +#       ensured that variable has a trailing slash.  sed -s "s|#APP_NAME#|$APP_NAME|g;\          s|#UWSGI_PORT#|$UWSGI_PORT|g;\          s|#DB_NAME#|$DB_NAME|g;\          s|#DATE#|$DATE|g;\          s|#NGINX_PORT#|$NGINX_PORT|g;\ +        s|#INSTALL_PREFIX#/|$INSTALL_PREFIX|g;\          s|#URL#|$URL|g;" $CDIR'/nginx.conf.template' > \                                         $INSTALL_PATH'/conf/nginx.conf'  ln -s $INSTALL_PATH'/conf/nginx.conf' \ | 
