From d2947b23d34fde9bc277b3c49590590012c12755 Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Fri, 27 Aug 2021 10:41:22 +0200
Subject: [PATCH] =?UTF-8?q?am=C3=A9liore=20script=20postinst=20(FLASK=5FAP?=
=?UTF-8?q?P)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 17 ++++++++++++++---
tools/config.sh | 2 ++
tools/debian/postinst | 12 ++++++++++--
tools/utils.sh | 7 +++++++
4 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index cce52bd8e..45743c414 100644
--- a/README.md
+++ b/README.md
@@ -73,14 +73,25 @@ Installer ScoDoc 9 normalement ([voir la doc](https://scodoc.org/GuideInstallDeb
Puis remplacer `/opt/scodoc` par un clone du git.
sudo su
- mv /opt/scodoc /opt/scodoc-distrib # ou ce que vous voulez
+ mv /opt/scodoc /opt/off-scodoc # ou ce que vous voulez
apt-get install git # si besoin
cd /opt
git clone https://scodoc.org/git/viennet/ScoDoc.git
# (ou bien utiliser votre clone gitea si vous l'avez déjà créé !)
mv ScoDoc scodoc # important !
- cd /opt/scodoc
- # et voilà.
+
+Il faut ensuite installer l'environnement et le fichier de configuration:
+
+ # Le plus simple est de piquer le virtualenv configuré par l'installeur:
+ mv /opt/off-scodoc/venv /opt/scodoc
+
+Et la config:
+
+ ln -s /opt/scodoc-data/.env /opt/scodoc
+
+Cette dernière commande utilise le `.env` crée lors de l'install, ce qui
+n'est pas toujours le plus judicieux: vous pouvez modifier son contenu, par
+exemple pour travailler en mode "développement" avec `FLASK_ENV=development`.
### Tests unitaires
diff --git a/tools/config.sh b/tools/config.sh
index 39479dcd5..9d7260350 100644
--- a/tools/config.sh
+++ b/tools/config.sh
@@ -22,6 +22,8 @@ export SCODOC_VAR_DIR=/opt/scodoc-data
export SCODOC_VERSION_DIR="${SCODOC_VAR_DIR}/config/version"
export SCODOC_LOGOS_DIR="${SCODOC_VAR_DIR}/config/logos"
+export FLASK_APP=scodoc.py
+
# Unix user running ScoDoc server:
export SCODOC_USER=scodoc
export SCODOC_GROUP=root
diff --git a/tools/debian/postinst b/tools/debian/postinst
index e07b06e84..53db633c5 100644
--- a/tools/debian/postinst
+++ b/tools/debian/postinst
@@ -80,15 +80,23 @@ fi
# --- NGINX
if [ ! -L /etc/nginx/sites-enabled/scodoc9.nginx ]
then
+ echo "Enabling scodoc9 in nginx"
ln -s /etc/nginx/sites-available/scodoc9.nginx /etc/nginx/sites-enabled/
fi
/bin/rm -f /etc/nginx/sites-enabled/default
-# --- POSTGRESQL
+# ------------ POSTGRESQL
# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists
init_postgres_user
-# --- MISES A JOUR
+
+# ------------ CONFIG SERVICE SCODOC
+echo
+echo "Installation du service systemd scodoc9..."
+cp "$SCODOC_DIR"/tools/etc/scodoc9.service /etc/systemd/system/
+systemctl daemon-reload
+
+# ------------ MISES A JOUR
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.service /etc/systemd/system
cp "$SCODOC_DIR"/tools/etc/scodoc-updater.timer /etc/systemd/system
systemctl enable scodoc-updater.timer
diff --git a/tools/utils.sh b/tools/utils.sh
index 973ee31d0..e751501a4 100644
--- a/tools/utils.sh
+++ b/tools/utils.sh
@@ -68,6 +68,12 @@ check_create_scodoc_user() {
else
echo "Unix user ${SCODOC_USER} exists"
fi
+ # Check / set FLASK_APP
+ scodoc_home=$(getent passwd "${SCODOC_USER}" | cut -d: -f 6)
+ if [ -e "$scodoc_home/.profile" ] && [ $(grep -c FLASK_APP "$scodoc_home/.profile") == 0 ]
+ then
+ echo "export FLASK_APP=scodoc.py" >> "$scodoc_home/.profile"
+ fi
}
# --- Give all ScoDoc files (/opt/scodoc) to user "scodoc":
@@ -79,6 +85,7 @@ change_scodoc_file_ownership() {
# Création du répertoire local (scodoc-data) et vérification du propriétaire
set_scodoc_var_dir() {
echo "Checking $SCODOC_VAR_DIR..."
+ [ -z ${SCODOC_VAR_DIR+x} ] && die "Error: env var SCODOC_VAR_DIR not set"
[ -d "$SCODOC_VAR_DIR" ] || mkdir "$SCODOC_VAR_DIR" || die "can't create $SCODOC_VAR_DIR directory"
for d in archives photos tmp log config certs config/version config/depts config/logos
do
--
GitLab