X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/projects.git/blobdiff_plain/03cd58bdb16034f1d0e2ae5ef835a3a977948ae9..9e6fd74b79b27c48bfa9ea61c4c4070abcdd0d29:/debian/mdjango.postinst diff --git a/debian/mdjango.postinst b/debian/mdjango.postinst index ff4893d..28982ba 100755 --- a/debian/mdjango.postinst +++ b/debian/mdjango.postinst @@ -11,17 +11,90 @@ then 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