Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.12 KB | None | 0 0
  1. set -e
  2. # make sure directory $1 doesn't exist
  3. if [[ -d $1 ]]; then
  4.     echo "Directory $1 exits already. Use a different name"
  5.     exit 1
  6. fi
  7. # make sure database $1 doesn't exist
  8. if sudo -i -u postgres psql -lqt | cut -d \| -f 1 | grep -qw $1; then
  9.     echo "Database $1 exits already. Use a different name"
  10.     exit 1
  11. fi
  12. VENV=venv
  13. virtualenv $VENV
  14. $VENV/bin/pip install "Django>=1.8,<1.9"
  15. DB_USER=$1
  16. DB_PASS=$1
  17. DB_NAME=$1
  18. sudo -i -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';"
  19. sudo -i -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER;"
  20. sudo -i -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;"
  21. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION postgis;"
  22. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION postgis_topology;"
  23. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION fuzzystrmatch;"
  24. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION postgis_tiger_geocoder;"
  25. $VENV/bin/django-admin.py startproject --template=https://github.com/tendenci/tendenci-project-template/archive/master.zip $1
  26. cd $1
  27. ../$VENV/bin/pip install -r requirements/dev.txt
  28. curl https://gist.githubusercontent.com/jennyq/45de71a93cff774c593d/raw/30ede14eb133de66cc839cc0458a1e915368534e/setup_keys.sh | bash
  29. sed -i "s/<DB_NAME>/$1/g" conf/local_settings.py
  30. sed -i "s/<DB_USER>/$1/g" conf/local_settings.py
  31. sed -i "s/<DB_PASS>/$1/g" conf/local_settings.py
  32. ../$VENV/bin/python manage.py migrate --noinput
  33. ../$VENV/bin/python manage.py collectstatic --noinput
  34. ../$VENV/bin/python manage.py update_settings
  35. ../$VENV/bin/python manage.py clear_theme_cache
  36. ../$VENV/bin/python manage.py populate_default_entity
  37. ../$VENV/bin/python manage.py populate_entity_and_auth_group_columns
  38. chmod -R -x+X media
  39. ../$VENV/bin/python manage.py createsuperuser --noinput --username=admin --email=admin@example.com
  40. echo "from django.contrib.auth.models import User; superuser = User.objects.get(username='admin'); superuser.set_password('admin'); superuser.save()" | ../$VENV/bin/python manage.py shell
  41. set -e
  42. # make sure directory $1 doesn't exist
  43. if [[ -d $1 ]]; then
  44.     echo "Directory $1 exits already. Use a different name"
  45.     exit 1
  46. fi
  47. # make sure database $1 doesn't exist
  48. if sudo -i -u postgres psql -lqt | cut -d \| -f 1 | grep -qw $1; then
  49.     echo "Database $1 exits already. Use a different name"
  50.     exit 1
  51. fi
  52. VENV=venv
  53. virtualenv $VENV
  54. $VENV/bin/pip install "Django>=1.8,<1.9"
  55. DB_USER=$1
  56. DB_PASS=$1
  57. DB_NAME=$1
  58. sudo -i -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';"
  59. sudo -i -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER;"
  60. sudo -i -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;"
  61. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION postgis;"
  62. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION postgis_topology;"
  63. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION fuzzystrmatch;"
  64. sudo -i -u postgres psql -d $DB_NAME -c "CREATE EXTENSION postgis_tiger_geocoder;"
  65. $VENV/bin/django-admin.py startproject --template=https://github.com/tendenci/tendenci-project-template/archive/master.zip $1
  66. cd $1
  67. ../$VENV/bin/pip install -r requirements/dev.txt
  68. curl https://gist.githubusercontent.com/jennyq/45de71a93cff774c593d/raw/30ede14eb133de66cc839cc0458a1e915368534e/setup_keys.sh | bash
  69. sed -i "s/<DB_NAME>/$1/g" conf/local_settings.py
  70. sed -i "s/<DB_USER>/$1/g" conf/local_settings.py
  71. sed -i "s/<DB_PASS>/$1/g" conf/local_settings.py
  72. ../$VENV/bin/python manage.py migrate --noinput
  73. ../$VENV/bin/python manage.py collectstatic --noinput
  74. ../$VENV/bin/python manage.py update_settings
  75. ../$VENV/bin/python manage.py clear_theme_cache
  76. ../$VENV/bin/python manage.py populate_default_entity
  77. ../$VENV/bin/python manage.py populate_entity_and_auth_group_columns
  78. chmod -R -x+X media
  79. ../$VENV/bin/python manage.py createsuperuser --noinput --username=admin --email=admin@example.com
  80. echo "from django.contrib.auth.models import User; superuser = User.objects.get(username='admin'); superuser.set_password('admin'); superuser.save()" | ../$VENV/bin/python manage.py shell
  81. ../$VENV/bin/python manage.py runserver
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement