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