summaryrefslogtreecommitdiff
path: root/install/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'install/install.sh')
-rwxr-xr-x[-rw-r--r--]install/install.sh92
1 files changed, 48 insertions, 44 deletions
diff --git a/install/install.sh b/install/install.sh
index dc2bb9b2a..7ca43c1ae 100644..100755
--- a/install/install.sh
+++ b/install/install.sh
@@ -5,8 +5,8 @@
######################################################################
# only lower alpha-numeric char and '_' and must start with a letter
-[ $SHORT_NAME ] || ( echo 'SHORT_NAME empty. Default to: "default".' ; );
-SHORT_NAME=${SHORT_NAME-default}
+[ $APP_NAME ] || ( echo 'APP_NAME empty. Default to: "default".' ; );
+APP_NAME=${APP_NAME-default}
[ $URL ] || ( echo 'URL empty. Default to: "localhost".' ; URL=localhost ; );
URL=${URL-localhost}
@@ -31,18 +31,14 @@ DB_PORT='5432'
PG_VERSION=9.1
# ishtar git branch
-[ $VERSION ] || ( echo 'VERSION empty. Default to: "new-stable".' ; );
-VERSION=new-stable
+[ $VERSION ] || ( echo 'VERSION empty. Default to: "stable".' ; );
+VERSION=stable
# change it for each instance on a same server
UWSGI_PORT=8891
-# webserver port - default "[::]:80"
-NGINX_PORT="[::]:80"
-if [ $URL = 'localhost' ]; then
- # don't clash with default server on localhost
- NGINX_PORT="[::]:8080"
-fi
+# webserver port - default "80"
+NGINX_PORT="80"
# don't forget the trailing slash
INSTALL_PREFIX=/srv/
@@ -50,11 +46,16 @@ INSTALL_PREFIX=/srv/
# if a virtualenv is used put the full path of the python to use
PYTHON=python
+# default for debian
+UWSGI_AVAILABLE_PATH='/etc/uwsgi/apps-available/'
+UWSGI_ENABLE_PATH='/etc/uwsgi/apps-enabled/'
+NGINX_AVAILABLE_PATH='/etc/nginx/sites-available/'
+NGINX_ENABLE_PATH='/etc/nginx/sites-enabled/'
+
# Don't edit below this line
######################################################################
echo "* installing dependencies"
-
if [ $DB_HOST = "127.0.0.1" ]; then
apt-get -q -y install postgresql postgresql-$PG_VERSION-postgis postgresql 2> /dev/null > /dev/null
fi
@@ -64,7 +65,7 @@ apt-get -q -y install git apg python-pip 2> /dev/null > /dev/null
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-psycopg2 python-gdal gettext python-bs4 python-tidylib \
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
@@ -78,7 +79,7 @@ DB_PASSWORD=`apg -a 0 -M ncl -n 6 -x 10 -m 10 |head -n 1`
fi
-DB_NAME='ishtar'$SHORT_NAME
+DB_NAME='ishtar'$APP_NAME
INSTALL_PATH=$INSTALL_PREFIX$DB_NAME
DATE=`date +%F`
CDIR=`pwd`
@@ -91,12 +92,14 @@ echo "* create database and user"
DB_PASSWORD=$DB_PASSWORD DB_NAME=$DB_NAME PROJECT_NAME=$PROJECT_NAME PG_VERSION=$PG_VERSION su postgres <<'EOF'
cd
if [ `psql -l | grep template_postgis | wc -l` -ne 1 ]; then
+ echo " * create template_postgis"
createdb template_postgis
psql -d template_postgis -f /usr/share/postgresql/$PG_VERSION/contrib/postgis-1.5/postgis.sql 2> /dev/null > /dev/null
psql -d template_postgis -f /usr/share/postgresql/$PG_VERSION/contrib/postgis-1.5/spatial_ref_sys.sql 2> /dev/null > /dev/null
fi
if [ `psql -l | grep $DB_NAME | wc -l` -ne 1 ]; then
+ echo " * create "$DB_NAME
createuser --echo --adduser --createdb --encrypted $DB_NAME 2> /dev/null > /dev/null
psql --command "ALTER USER "$DB_NAME" with password '"$DB_PASSWORD"';" 2> /dev/null > /dev/null
createdb -T template_postgis --echo --owner $DB_NAME --encoding UNICODE $DB_NAME "$PROJECT_NAME" 2> /dev/null > /dev/null
@@ -113,33 +116,34 @@ mkdir $INSTALL_PATH
mkdir $INSTALL_PATH'/conf'
cd $INSTALL_PATH
-echo ' * oook!'
-git clone git://git.proxience.net/git/oook_replace.git 2> /dev/null
echo ' * ishtar'
-git clone git://git.proxience.net/git/ishtar.git 2> /dev/null
+git clone git://git.proxience.com/git/ishtar.git 2> /dev/null
+echo ' * oook!'
+git clone git://git.proxience.com/git/oook_replace.git 2> /dev/null
+ln -s $INSTALL_PATH'/oook_replace/oook_replace' $INSTALL_PATH'/ishtar/'
+
cd ishtar
git fetch 2> /dev/null
git checkout $VERSION 2> /dev/null
-cp -ra example_project $SHORT_NAME 2> /dev/null > /dev/null
+cp -ra example_project $APP_NAME 2> /dev/null > /dev/null
-rm $SHORT_NAME/settings.py
-ln -s $INSTALL_PATH"/example_project/settings.py" $INSTALL_PATH"/"$SHORT_NAME"/"
+rm $APP_NAME/settings.py
+ln -s $INSTALL_PATH"/ishtar/example_project/settings.py" $INSTALL_PATH"/ishtar/"$APP_NAME"/"
-APP_DIR=$INSTALL_PATH'/ishtar/'$SHORT_NAME
+APP_DIR=$INSTALL_PATH'/ishtar/'$APP_NAME
echo '* load parameters'
-
-sed -s "s/#SHORT_NAME#/$SHORT_NAME/g;\
- s/#DATE#/$DATE/g;\
- s/#PROJECT_NAME#/$PROJECT_NAME/g;\
- s/#DB_HOST#/$DB_HOST/g;\
- s/#DB_NAME#/$DB_NAME/g;\
- s/#DB_PORT#/$DB_PORT/g;\
- s/#APP_DIR#/$APP_DIR/g;\
- s/#SECRET_KEY#/$SECRET_KEY/g;\
- s/#DB_PASSWORD#/$DB_PASSWORD/g;\
- s/#UWSGI_PORT#/$UWSGI_PORT/g;" $CDIR'/local_settings.py.sample' > \
+sed -s "s|#APP_NAME#|$APP_NAME|g;\
+ s|#DATE#|$DATE|g;\
+ s|#PROJECT_NAME#|$PROJECT_NAME|g;\
+ s|#DB_HOST#|$DB_HOST|g;\
+ s|#DB_NAME#|$DB_NAME|g;\
+ s|#DB_PORT#|$DB_PORT|g;\
+ s|#APP_DIR#|$APP_DIR|g;\
+ s|#SECRET_KEY#|$SECRET_KEY|g;\
+ s|#DB_PASSWORD#|$DB_PASSWORD|g;\
+ s|#UWSGI_PORT#|$UWSGI_PORT|g;" $CDIR'/local_settings.py.sample' > \
$INSTALL_PATH'/conf/local_settings.py'
ln -s $INSTALL_PATH'/conf/local_settings.py' $APP_DIR'/local_settings.py'
@@ -152,9 +156,9 @@ chmod -R g+w $APP_DIR'/media'
# logs
mkdir -p /var/log/django/
chown root:www-data '/var/log/django'
-touch '/var/log/django/ishtar-'$SHORT_NAME'.log'
-chown root:www-data '/var/log/django/ishtar-'$SHORT_NAME'.log'
-chmod g+w '/var/log/django/ishtar-'$SHORT_NAME'.log'
+touch '/var/log/django/ishtar-'$APP_NAME'.log'
+chown root:www-data '/var/log/django/ishtar-'$APP_NAME'.log'
+chmod g+w '/var/log/django/ishtar-'$APP_NAME'.log'
cd $APP_DIR
./manage.py collectstatic --noinput 2> /dev/null > /dev/null
@@ -219,26 +223,26 @@ rm /tmp/site.json
echo '* uwsgi configuration'
-sed -s "s/#SHORT_NAME#/$SHORT_NAME/g;\
+sed -s "s/#APP_NAME#/$APP_NAME/g;\
s/#DB_NAME#/$DB_NAME/g;\
s/#URL#/$URL/g;\
s/#UWSGI_PORT#/$UWSGI_PORT/g;" $CDIR'/uwsgi.ini.template' > \
$INSTALL_PATH'/conf/uwsgi.ini'
-sed -s "s/#SHORT_NAME#/$SHORT_NAME/g;" $CDIR'/django.wsgi.template' > \
- $INSTALL_PATH'/conf/'$SHORT_NAME'.wsgi'
+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' \
- '/etc/uwsgi/apps-available/'$SHORT_NAME'-uwsgi.ini'
-ln -s '/etc/uwsgi/apps-available/'$SHORT_NAME'-uwsgi.ini' \
- '/etc/uwsgi/apps-enabled/'$SHORT_NAME'-uwsgi.ini'
+ $UWSGI_AVAILABLE_PATH$APP_NAME'.ini'
+ln -s $UWSGI_AVAILABLE_PATH$APP_NAME'.ini' \
+ $UWSGI_ENABLE_PATH$APP_NAME'.ini'
service uwsgi restart
echo '* nginx configuration'
-sed -s "s/#SHORT_NAME#/$SHORT_NAME/g;\
+sed -s "s/#APP_NAME#/$APP_NAME/g;\
s/#UWSGI_PORT#/$UWSGI_PORT/g;\
s/#DB_NAME#/$DB_NAME/g;\
s/#DATE#/$DATE/g;\
@@ -246,9 +250,9 @@ sed -s "s/#SHORT_NAME#/$SHORT_NAME/g;\
s/#URL#/$URL/g;" $CDIR'/nginx.conf.template' > \
$INSTALL_PATH'/conf/nginx.conf'
ln -s $INSTALL_PATH'/conf/nginx.conf' \
- '/etc/nginx/sites-available/'$SHORT_NAME'.conf'
-ln -s '/etc/nginx/sites-available/'$SHORT_NAME'.conf' \
- '/etc/nginx/sites-enabled/'$SHORT_NAME'.conf'
+ $NGINX_AVAILABLE_PATH$APP_NAME'.conf'
+ln -s $NGINX_AVAILABLE_PATH$APP_NAME'.conf' \
+ $NGINX_ENABLE_PATH$APP_NAME'.conf'
service nginx restart