Updated fds.in and ws.pm (updated getletsencrypt.sh).
authorZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Thu, 27 Apr 2023 15:13:06 +0000 (17:13 +0200)
committerZoltán Felleg <zoltan.felleg@userrendszerhaz.hu>
Thu, 27 Apr 2023 15:13:06 +0000 (17:13 +0200)
sources/fds.in/c3d/postinstall/install-data/usr/local/bin/getletsencrypt.sh
sources/ws.pm/c3d/firstboot/scripts/10_setupletsencrypt.sh
sources/ws.pm/c3d/postinstall/install-data/usr/local/bin/getletsencrypt.sh

index 261e54259b3a45e083810840f370bd25c3bd8663..b42ee9ee4c002378bec9bbdd42d35dca146c4e42 100755 (executable)
@@ -5,62 +5,82 @@
 # 1: /etc/letsencrypt does not exist
 # 2: /etc/letsencrypt exists
 # 2.1: /etc/letsencrypt.staging does not exist
+# 2.1.1: /etc/letsencrypt.from-pki differs from /etc/letsencrypt
+# 2.1.2: /etc/letsencrypt.from-pki is the same as /etc/letsencrypt
 # 2.2: /etc/letsencrypt.staging exists
-# 2.2.1: staging differs from current
-# 2.2.2: staging is the same as current
+# 2.2.1: /etc/letsencrypt.from-pki differs from /etc/letsencrypt.staging
+# 2.2.2: /etc/letsencrypt.from-pki is the same as /etc/letsencrypt.staging
 
 
 LE_DIRECTORY=/etc/letsencrypt
-OLD_LE_DIRECTORY=/etc/letsencrypt.old
-STAGING_DIRECTORY=/etc/letsencrypt.staging
-TMP_DIRECTORY=$(mktemp --directory)
+LE_FP_DIRECTORY=${LE_DIRECTORY}.from-pki
+LE_OLD_DIRECTORY=${LE_DIRECTORY}.old
+LE_STAGING_DIRECTORY=${LE_DIRECTORY}.staging
 
 
+rm --force --recursive $LE_FP_DIRECTORY
+echo "getting letsencrypt directory from pki"
 /usr/bin/rsync \
     --archive \
     --delete-after \
     --info=STATS \
     pki.in.useribm.hu::letsencrypt \
-    $TMP_DIRECTORY
+    $LE_FP_DIRECTORY
 if [ $? -ne 0 ]
 then
-    rm --force --recursive $TMP_DIRECTORY
+    echo "cannot get letsencrypt directory from pki"
+    rm --force --recursive $LE_FP_DIRECTORY
     exit 1
 fi
 
 if [ -d $LE_DIRECTORY ]
 then
     # case 2
-    if [ -d $STAGING_DIRECTORY ]
+    echo "$LE_DIRECTORY exists"
+    if [ -d $LE_STAGING_DIRECTORY ]
     then
         # case 2.2
-        diff --brief --recursive $STAGING_DIRECTORY $TMP_DIRECTORY
+        echo "  $LE_STAGING_DIRECTORY exists"
+        diff --brief --recursive $LE_FP_DIRECTORY $LE_STAGING_DIRECTORY
         DIFFERS=$?
         if [ $DIFFERS -eq 0 ]
         then
             # case 2.2.2
-            rm --force --recursive $OLD_LE_DIRECTORY
-            rm --force --recursive $TMP_DIRECTORY
-            mv $LE_DIRECTORY $OLD_LE_DIRECTORY
-            mv $STAGING_DIRECTORY $LE_DIRECTORY
+            echo "    $LE_FP_DIRECTORY the same as $LE_STAGING_DIRECTORY"
+            echo "    moving $LE_STAGING_DIRECTORY to $LE_DIRECTORY"
+            rm --force --recursive $LE_FP_DIRECTORY
+            rm --force --recursive $LE_OLD_DIRECTORY
+            mv $LE_DIRECTORY $LE_OLD_DIRECTORY
+            mv $LE_STAGING_DIRECTORY $LE_DIRECTORY
             /usr/local/bin/replacedirsrvcerts.sh
         else
             # case 2.2.1
-            rm --force --recursive $STAGING_DIRECTORY
-            mv $TMP_DIRECTORY $STAGING_DIRECTORY
+            echo "    $LE_FP_DIRECTORY differs from $LE_STAGING_DIRECTORY"
+            echo "    moving $LE_FP_DIRECTORY to $LE_STAGING_DIRECTORY"
+            rm --force --recursive $LE_STAGING_DIRECTORY
+            mv $LE_FP_DIRECTORY $LE_STAGING_DIRECTORY
         fi
     else
         # case 2.1
-        diff --brief --recursive $LE_DIRECTORY $TMP_DIRECTORY
+        echo "  $LE_STAGING_DIRECTORY does not exist"
+        diff --brief --recursive $LE_FP_DIRECTORY $LE_DIRECTORY
         DIFFERS=$?
         if [ $DIFFERS -eq 0 ]
         then
-            rm --force --recursive $TMP_DIRECTORY
+            # case 2.1.2
+            echo "    $LE_FP_DIRECTORY is the same as $LE_DIRECTORY"
+            echo "    removing $LE_FP_DIRECTORY"
+            rm --force --recursive $LE_FP_DIRECTORY
         else
-            mv $TMP_DIRECTORY $STAGING_DIRECTORY
+            # case 2.1.1
+            echo "    $LE_FP_DIRECTORY differs from $LE_DIRECTORY"
+            echo "    moving $LE_FP_DIRECTORY to $LE_STAGING_DIRECTORY"
+            mv $LE_FP_DIRECTORY $LE_STAGING_DIRECTORY
         fi
     fi
 else
     # case 1
-    mv $TMP_DIRECTORY $LE_DIRECTORY
+    echo "$LE_DIRECTORY does not exist"
+    echo "moving $LE_FP_DIRECTORY to $LE_DIRECTORY"
+    mv $LE_FP_DIRECTORY $LE_DIRECTORY
 fi
index 881a1541b25e5a81631dc38ea00ba71fe1e89f12..dc81b541f5544c4fc39ca2fce92f9dcd2d26b810 100755 (executable)
@@ -1,7 +1,10 @@
 #!/bin/sh
 
 
-mv /etc/letsencrypt /etc/letsencrypt.orig
+if [ -d /etc/letsencrypt ]
+then
+    mv /etc/letsencrypt /etc/letsencrypt.orig
+fi
 /usr/local/bin/getletsencrypt.sh
 if [ $? -eq 0 ]
 then
index 44ac05c7727e32b852fd0f2fb87c44bd4ddf2d66..54562d6d2931952495527bf50804cecc02dbf07c 100755 (executable)
@@ -5,66 +5,86 @@
 # 1: /etc/letsencrypt does not exist
 # 2: /etc/letsencrypt exists
 # 2.1: /etc/letsencrypt.staging does not exist
+# 2.1.1: /etc/letsencrypt.from-pki differs from /etc/letsencrypt
+# 2.1.2: /etc/letsencrypt.from-pki is the same as /etc/letsencrypt
 # 2.2: /etc/letsencrypt.staging exists
-# 2.2.1: staging differs from current
-# 2.2.2: staging is the same as current
+# 2.2.1: /etc/letsencrypt.from-pki differs from /etc/letsencrypt.staging
+# 2.2.2: /etc/letsencrypt.from-pki is the same as /etc/letsencrypt.staging
 
 
 LE_DIRECTORY=/etc/letsencrypt
-OLD_LE_DIRECTORY=/etc/letsencrypt.old
-STAGING_DIRECTORY=/etc/letsencrypt.staging
-TMP_DIRECTORY=$(mktemp --directory)
+LE_FP_DIRECTORY=${LE_DIRECTORY}.from-pki
+LE_OLD_DIRECTORY=${LE_DIRECTORY}.old
+LE_STAGING_DIRECTORY=${LE_DIRECTORY}.staging
 
 
+rm --force --recursive $LE_FP_DIRECTORY
+echo "getting letsencrypt directory from pki"
 /usr/bin/rsync \
     --archive \
     --delete-after \
     --info=STATS \
     pki.in.useribm.hu::letsencrypt \
-    $TMP_DIRECTORY
+    $LE_FP_DIRECTORY
 if [ $? -ne 0 ]
 then
-    rm --force --recursive $TMP_DIRECTORY
+    echo "cannot get letsencrypt directory from pki"
+    rm --force --recursive $LE_FP_DIRECTORY
     exit 1
 fi
 
 cp --archive \
-    /usr/lib/python3.10/site-packages/certbot_apache/_internal/tls_configs/current-options-ssl-apache.conf \
-    $TMP_DIRECTORY/options-ssl-apache.conf
+    /usr/lib/python3.11/site-packages/certbot_apache/_internal/tls_configs/current-options-ssl-apache.conf \
+    $LE_FP_DIRECTORY/options-ssl-apache.conf
 
 if [ -d $LE_DIRECTORY ]
 then
     # case 2
-    if [ -d $STAGING_DIRECTORY ]
+    echo "$LE_DIRECTORY exists"
+    if [ -d $LE_STAGING_DIRECTORY ]
     then
         # case 2.2
-        diff --brief --recursive $STAGING_DIRECTORY $TMP_DIRECTORY
+        echo "  $LE_STAGING_DIRECTORY exists"
+        diff --brief --recursive $LE_FP_DIRECTORY $LE_STAGING_DIRECTORY
         DIFFERS=$?
         if [ $DIFFERS -eq 0 ]
         then
             # case 2.2.2
-            rm --force --recursive $OLD_LE_DIRECTORY
-            rm --force --recursive $TMP_DIRECTORY
-            mv $LE_DIRECTORY $OLD_LE_DIRECTORY
-            mv $STAGING_DIRECTORY $LE_DIRECTORY
+            echo "    $LE_FP_DIRECTORY the same as $LE_STAGING_DIRECTORY"
+            echo "    moving $LE_STAGING_DIRECTORY to $LE_DIRECTORY"
+            rm --force --recursive $LE_FP_DIRECTORY
+            rm --force --recursive $LE_OLD_DIRECTORY
+            mv $LE_DIRECTORY $LE_OLD_DIRECTORY
+            mv $LE_STAGING_DIRECTORY $LE_DIRECTORY
             systemctl restart httpd.service
         else
             # case 2.2.1
-            rm --force --recursive $STAGING_DIRECTORY
-            mv $TMP_DIRECTORY $STAGING_DIRECTORY
+            echo "    $LE_FP_DIRECTORY differs from $LE_STAGING_DIRECTORY"
+            echo "    moving $LE_FP_DIRECTORY to $LE_STAGING_DIRECTORY"
+            rm --force --recursive $LE_STAGING_DIRECTORY
+            mv $LE_FP_DIRECTORY $LE_STAGING_DIRECTORY
         fi
     else
         # case 2.1
-        diff --brief --recursive $LE_DIRECTORY $TMP_DIRECTORY
+        echo "  $LE_STAGING_DIRECTORY does not exist"
+        diff --brief --recursive $LE_FP_DIRECTORY $LE_DIRECTORY
         DIFFERS=$?
         if [ $DIFFERS -eq 0 ]
         then
-            rm --force --recursive $TMP_DIRECTORY
+            # case 2.1.2
+            echo "    $LE_FP_DIRECTORY is the same as $LE_DIRECTORY"
+            echo "    removing $LE_FP_DIRECTORY"
+            rm --force --recursive $LE_FP_DIRECTORY
         else
-            mv $TMP_DIRECTORY $STAGING_DIRECTORY
+            # case 2.1.1
+            echo "    $LE_FP_DIRECTORY differs from $LE_DIRECTORY"
+            echo "    moving $LE_FP_DIRECTORY to $LE_STAGING_DIRECTORY"
+            mv $LE_FP_DIRECTORY $LE_STAGING_DIRECTORY
         fi
     fi
 else
     # case 1
-    mv $TMP_DIRECTORY $LE_DIRECTORY
+    echo "$LE_DIRECTORY does not exist"
+    echo "moving $LE_FP_DIRECTORY to $LE_DIRECTORY"
+    mv $LE_FP_DIRECTORY $LE_DIRECTORY
 fi