diff options
| author | Étienne Loks <etienne.loks@proxience.com> | 2015-04-18 17:25:40 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@proxience.com> | 2015-04-18 17:28:31 +0200 | 
| commit | dfe3efa056f0d45ed49fedf154689c755d9b0465 (patch) | |
| tree | d1bf16bb9ad133354a23301738993f765653f83f /install/install.sh | |
| parent | f57f79d40b9a6c8cc1333165ee11a341c78be181 (diff) | |
| download | Ishtar-dfe3efa056f0d45ed49fedf154689c755d9b0465.tar.bz2 Ishtar-dfe3efa056f0d45ed49fedf154689c755d9b0465.zip | |
Update installation script
Conflicts:
	install/install.sh
Diffstat (limited to 'install/install.sh')
| -rwxr-xr-x[-rw-r--r--] | install/install.sh | 92 | 
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 | 
