cat << EOF >> /opt/mysite/mysite/settings.py
### MDJANGO ###
DATABASES = {
- 'default': {},
- 'tbd': {
+ 'default': {
'ENGINE': 'django.db.backends.postgresql',
- 'NAME': 'mydatabase',
- 'USER': 'myuser',
- 'PASSWORD': 'mypassword',
+ 'NAME': 'mdjango',
+ 'USER': 'mdjango',
+ 'PASSWORD': 'MdjangO',
'HOST': 'localhost',
'PORT': '5432',
- }
+ },
}
+STATIC_ROOT = '/var/mysite/static'
DEBUG = False
### MDJANGO-END ###
EOF
fi
+
+# check existence of /var/mysite
+if [ ! -d /var/mysite ]
+then
+ mkdir -p /var/mysite
+ chmod 777 /var/mysite
+
+fi
+
+# collect statics
+/opt/mysite/manage.py collectstatic --noinput
+
+# check postgres user
+if ! su postgres -c "psql -c '\du'" | grep mdjango >/dev/null
+then
+ echo "No user named 'mdjango' found. It is now created."
+ su postgres -c "createuser -ds mdjango ; psql -c \"ALTER USER mdjango WITH PASSWORD 'MdjangO';\""
+fi
+main=$(ls -d /etc/postgresql/*/main/)
+if ! grep mdjango $main/pg_hba.conf >/dev/null
+then
+ echo "adding mdjango user access to $main/pg_hba.conf"
+ awk 'BEGIN {
+ found=0; }
+ /# "local/ {
+ if (found == 0) {
+ print;
+ print "local all mdjango md5";
+ found=1;
+ next;
+ }}
+ /^local.*all.*all/ {
+ if (found == 0) {
+ print "local all mdjango md5";
+ print;
+ found=1;
+ next;
+ }}
+ /^host/ {
+ if (found == 0) {
+ print "local all mdjango md5";
+ print;
+ found=1;
+ next;
+ }}
+ {print;}
+ ' $main/pg_hba.conf > /tmp/pg_hba.conf
+ mv /tmp/pg_hba.conf $main/pg_hba.conf
+ chown postgres:postgres $main/pg_hba.conf
+ systemctl reload postgresql
+fi
+
+# check mdjango database
+if ! su postgres -c "psql -c '\l'" | grep mdjango >/dev/null
+then
+ echo "Create database mdjango."
+ su postgres -c "createdb mdjango -O mdjango"
+fi
+
+# migrate default db
+/opt/mysite/manage.py migrate
+
+# check existence of superuser
+#if [ $(sqlite3 /var/mysite/default.sqlite3 'SELECT id FROM auth_user WHERE is_staff=1;' |wc -l) -eq 0 ]
+if [ $(su postgres -c "psql mdjango -c 'SELECT id FROM auth_user WHERE is_staff=1;' " |wc -l) -eq 0 ]
+then
+ echo "There is no django superuser in the system. Install one? (Y/n)"
+ read a
+ if [ "$a" != "n" ]
+ then
+ /opt/mysite/manage.py createsuperuser
+ fi
+fi