]> wagnertech.de Git - projects.git/blob - debian/mdjango.postinst
libcob-ocesql build
[projects.git] / debian / mdjango.postinst
1 #!/bin/bash
2 set -e
3
4 a2ensite mysite
5 systemctl reload apache2
6
7 # check addition to settings
8 if ! grep "### MDJANGO ###" /opt/mysite/mysite/settings.py >/dev/null
9 then
10         echo "add mdjango settings to settings.py"
11         echo "*** Attention ALLOWED_HOSTS is set to '*' ***"
12         cat << EOF >> /opt/mysite/mysite/settings.py
13 ### MDJANGO ###
14 DATABASES = {
15     'default': {
16         'ENGINE': 'django.db.backends.postgresql',
17         'NAME': 'mdjango',
18         'USER': 'mdjango',
19         'PASSWORD': 'MdjangO',
20         'HOST': 'localhost',
21         'PORT': '5432',
22     },
23 }
24 STATIC_ROOT = '/var/mysite/static'
25 STATIC_URL = '/mdjangostat/'
26 DEBUG = False
27 ALLOWED_HOSTS = ["*"]
28 ### MDJANGO-END ###
29 EOF
30 fi
31
32 # change admin to mdjangoad
33 sed -i "s/path('admin/path('mdjangoad/" /opt/mysite/mysite/settings.py
34
35
36 # check existence of /var/mysite
37 if [ ! -d /var/mysite ]
38 then
39         mkdir -p /var/mysite
40         chmod 777 /var/mysite
41         
42 fi
43
44 # collect statics
45 /opt/mysite/manage.py collectstatic --noinput
46
47 # check postgres user
48 if ! su postgres -c "psql -c '\du'" | grep mdjango >/dev/null
49 then
50         echo "No user named 'mdjango' found. It is now created."
51         su postgres -c "createuser -ds mdjango ; psql -c \"ALTER USER mdjango WITH PASSWORD 'MdjangO';\""
52 fi
53 main=$(ls -d /etc/postgresql/*/main/)
54 if ! grep mdjango $main/pg_hba.conf >/dev/null
55 then
56         echo "adding mdjango user access to $main/pg_hba.conf"
57         awk 'BEGIN {
58                         found=0; }
59                 /# "local/ {
60                         if (found == 0) {
61                                 print;
62                                 print "local   all   mdjango   md5";
63                                 found=1;
64                                 next;
65                         }}
66                 /^local.*all.*all/ {
67                         if (found == 0) {
68                                 print "local   all   mdjango   md5";
69                                 print;
70                                 found=1;
71                                 next;
72                         }}
73                 /^host/ {
74                         if (found == 0) {
75                                 print "local   all   mdjango   md5";
76                                 print;
77                                 found=1;
78                                 next;
79                         }}
80                 {print;}
81                 ' $main/pg_hba.conf > /tmp/pg_hba.conf
82         mv /tmp/pg_hba.conf $main/pg_hba.conf
83         chown postgres:postgres $main/pg_hba.conf
84         systemctl reload postgresql
85 fi
86
87 # check mdjango database
88 if ! su postgres -c "psql -c '\l'" | grep mdjango >/dev/null
89 then
90         echo "Create database mdjango."
91         su postgres -c "createdb mdjango -O mdjango"
92 fi
93
94 # migrate default db
95 /opt/mysite/manage.py migrate
96
97 # check existence of superuser
98 #if [ $(sqlite3 /var/mysite/default.sqlite3 'SELECT id FROM auth_user WHERE is_staff=1;' |wc -l) -eq 0 ]
99 #if [ $(su postgres -c "psql mdjango -c 'SELECT id FROM auth_user WHERE is_staff=t;' " |wc -l) -eq 0 ]
100 if [ $(su postgres -c "psql mdjango -c \"SELECT id FROM auth_user WHERE is_staff='t';\" " |wc -l) -eq 0 ]
101
102 then
103         echo "There is no django superuser in the system. Install one? (Y/n)"
104         read a
105         if [ "$a" != "n" ]
106         then
107                 /opt/mysite/manage.py createsuperuser
108         fi
109 fi