summaryrefslogtreecommitdiff
path: root/install/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'install/install.sh')
-rwxr-xr-xinstall/install.sh37
1 files changed, 24 insertions, 13 deletions
diff --git a/install/install.sh b/install/install.sh
index 7a9a55bd7..1556306c6 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
@@ -195,10 +204,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"
@@ -236,13 +241,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' \
@@ -255,11 +263,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' \