summaryrefslogtreecommitdiff
path: root/install/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'install/install.sh')
-rwxr-xr-xinstall/install.sh271
1 files changed, 0 insertions, 271 deletions
diff --git a/install/install.sh b/install/install.sh
deleted file mode 100755
index 7a9a55bd7..000000000
--- a/install/install.sh
+++ /dev/null
@@ -1,271 +0,0 @@
-#!/bin/bash
-
-######################################################################
-# Minimum configuration #
-######################################################################
-
-# only lower alpha-numeric char and '_' and must start with a letter
-[ -z "$APP_NAME" ] && ( echo 'APP_NAME empty. Default to: "default".' ; );
-APP_NAME=${APP_NAME-default}
-
-[ -z $URL ] && ( echo 'URL empty. Default to: "localhost".' ; URL=localhost ; );
-URL=${URL-localhost}
-
-[ -z "$PROJECT_NAME" ] && ( echo 'PROJECT_NAME empty. Default to: "'$APP_NAME'".' ; );
-PROJECT_NAME=${PROJECT_NAME-$APP_NAME}
-
-DEFAULT_DATA='fr' # available data: 'fr'
-
-######################################################################
-# Advanced configuration #
-######################################################################
-
-# if the database is not local the database will be not automatically
-# created
-[ -z $DB_HOST ] && ( echo 'DB_HOST empty. Default to: "127.0.0.1".' ; );
-DB_HOST=${DB_HOST-127.0.0.1}
-
-# if not set automatically generated
-DB_PASSWORD=${DB_PASSWORD-''}
-DB_PORT='5432'
-PG_VERSION=9.1
-
-# ishtar git branch
-[ -z "$VERSION" ] && ( echo 'VERSION empty. Default to: "stable".' ; );
-VERSION=${VERSION-stable}
-
-# change it for each instance on a same server
-UWSGI_PORT=${UWSGI_PORT-8891}
-
-# webserver port - default "80"
-NGINX_PORT=${NGINX_PORT-80}
-
-# don't forget the trailing slash
-INSTALL_PREFIX=/srv/
-
-# if a virtualenv is used put the full path of the python to use
-PYTHON=python
-
-# proxy for pip
-PIP_OPTIONS=''
-[ -z "$http_proxy" ] || PIP_OPTIONS=' --proxy '$http_proxy;
-[ -z "$HTTP_PROXY" ] || PIP_OPTIONS=' --proxy '$HTTP_PROXY;
-
-# 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
-
-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-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
-
-pip install$PIP_OPTIONS BeautifulSoup4==4.3.2
-
-if [ -z "$DB_PASSWORD" ]
-then
-
-DB_PASSWORD=`apg -a 0 -M ncl -n 6 -x 10 -m 10 |head -n 1`
-
-fi
-
-DB_NAME='ishtar'$APP_NAME
-INSTALL_PATH=$INSTALL_PREFIX$DB_NAME
-DATE=`date +%F`
-CDIR=`pwd`
-SECRET_KEY=`apg -a 0 -M ncl -n 6 -x 10 -m 40 |head -n 1`
-
-if [ $DB_HOST = '127.0.0.1' ]
-then
-
-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
-
-fi
-EOF
-
-fi
-
-
-echo '* get sources'
-
-mkdir $INSTALL_PATH
-mkdir $INSTALL_PATH'/conf'
-cd $INSTALL_PATH
-
-echo ' * ishtar'
-git clone https://gitlab.com/iggdrasil/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
-
-cd django-simple-history
-python setup.py install
-cd ..
-
-cp -ra example_project $APP_NAME 2> /dev/null > /dev/null
-
-rm $APP_NAME/settings.py
-ln -s $INSTALL_PATH"/ishtar/example_project/settings.py" $INSTALL_PATH"/ishtar/"$APP_NAME"/"
-
-APP_DIR=$INSTALL_PATH'/ishtar/'$APP_NAME
-
-echo '* load parameters'
-sed -s "s|#APP_NAME#|$APP_NAME|g;\
- s|#INSTALL_PATH#|$INSTALL_PATH|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'
-
-# rights
-mkdir -p "$APP_DIR/media/imported"
-mkdir -p "$APP_DIR/media/upload"
-chown -R root:www-data $APP_DIR'/media'
-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-'$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
-
-# load locale data
-
-cd $INSTALL_PATH'/ishtar/archaeological_context_records'
-django-admin compilemessages -l fr 2> /dev/null
-cd $INSTALL_PATH'/ishtar/archaeological_files'
-django-admin compilemessages -l fr 2> /dev/null
-cd $INSTALL_PATH'/ishtar/archaeological_finds'
-django-admin compilemessages -l fr 2> /dev/null
-cd $INSTALL_PATH'/ishtar/archaeological_operations'
-django-admin compilemessages -l fr 2> /dev/null
-cd $INSTALL_PATH'/ishtar/archaeological_warehouse'
-django-admin compilemessages -l fr 2> /dev/null
-cd $INSTALL_PATH'/ishtar/ishtar_common'
-django-admin compilemessages -l fr 2> /dev/null
-
-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"
-# data migrations have created some default data - return to a clean state
-python ./manage.py flush --noinput 2> /dev/null
-
-python ./manage.py loaddata \
- '../fixtures/initial_data-auth-'$DEFAULT_DATA'.json' 2> /dev/null
-python ./manage.py loaddata \
- '../ishtar_common/fixtures/initial_data-'$DEFAULT_DATA'.json' 2> /dev/null
-python ./manage.py loaddata \
- '../ishtar_common/fixtures/initial_towns-'$DEFAULT_DATA'.json' 2> /dev/null
-python ./manage.py loaddata \
- '../archaeological_operations/fixtures/initial_data-'$DEFAULT_DATA'.json' 2> /dev/null
-python ./manage.py loaddata \
- '../archaeological_files/fixtures/initial_data-'$DEFAULT_DATA'.json' 2> /dev/null
-python ./manage.py loaddata \
- '../archaeological_context_records/fixtures/initial_data-'$DEFAULT_DATA'.json' 2> /dev/null
-python ./manage.py loaddata \
- '../archaeological_finds/fixtures/initial_data-'$DEFAULT_DATA'.json' 2> /dev/null
-python ./manage.py loaddata \
- '../archaeological_warehouse/fixtures/initial_data-'$DEFAULT_DATA'.json' 2> /dev/null
-
-echo "* create superuser"
-python ./manage.py createsuperuser
-
-# "de-flush" migrations
-$PYTHON ./manage.py migrate --fake 2> /dev/null > /dev/null
-
-# add a default site
-#echo '[{"pk":null, "model": "sites.site", "fields": {"domain": "'$URL'", "name": "'$PROJECT_NAME'"}}]' > \
-# /tmp/site.json
-#python ./manage.py loaddata /tmp/site.json
-#rm /tmp/site.json
-
-echo '* uwsgi configuration'
-
-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#APP_NAME#/$APP_NAME/g;" $CDIR'/django.wsgi.template' > \
- $INSTALL_PATH'/conf/'$APP_NAME'.wsgi'
-
-ln -s $INSTALL_PATH'/conf/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|#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|#URL#|$URL|g;" $CDIR'/nginx.conf.template' > \
- $INSTALL_PATH'/conf/nginx.conf'
-ln -s $INSTALL_PATH'/conf/nginx.conf' \
- $NGINX_AVAILABLE_PATH$APP_NAME'.conf'
-ln -s $NGINX_AVAILABLE_PATH$APP_NAME'.conf' \
- $NGINX_ENABLE_PATH$APP_NAME'.conf'
-
-service nginx restart
-