]> wagnertech.de Git - projects.git/blobdiff - debian/mdjango.postinst
Korrektur webssh executable
[projects.git] / debian / mdjango.postinst
index ff4893d1ba575b89473f5f64b03057435053345e..28982ba0c59dd22f9c3c2494f4e8999a4a33fe68 100755 (executable)
@@ -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