1
0
forked from ScoDoc/ScoDoc

améliore script install et sa doc

This commit is contained in:
Emmanuel Viennet 2021-08-19 20:23:48 +02:00
parent b7b3546936
commit fb6f8b7db6
3 changed files with 22 additions and 26 deletions

View File

@ -51,29 +51,34 @@ et migrer les données.
systemctl stop scodoc systemctl stop scodoc
S'assurer qu'il est bien stoppé (`ps auxw`, ...), sans qui la migration va échouer. S'assurer qu'il est bien stoppé (`ps auxw`, ...), sans quoi la migration va échouer.
3. Renommer le répertoire de ScoDoc 7: 3. Renommer le répertoire de ScoDoc 7:
sudo su sudo su
mv /opt/scodoc /opt/scodoc7 mv /opt/scodoc /opt/scodoc7
Les données pourront être migrées après installation la nouvelle version, voir plus loin. Les données pourront être migrées après installation la nouvelle version, voir plus loin. **XXX TODO: script de migration "en place"** (actuellement, seule la migration depuis une _autre_ machine scodoc7 est prévue.)
### Installer ScoDoc ### Installer ScoDoc
Sur un système Linux Debian 11, en tant que `root`: Sur un système Linux Debian 11, en tant que `root`:
- Charger la dernière release depuis https://scodoc.org/git/viennet/ScoDoc/releases Si vous êtes développeur/testeur, partir du code _git_, avec `git clone https://scodoc.org/git/viennet/ScoDoc.git, le
renommer en `/opt/scodoc`et aller directement à l'étape 3.
- Déplacer ou copier le fichier `scodoc-x.y.z.tgz` dans `/opt` et le décomprimer: 1. Charger la dernière release depuis https://scodoc.org/git/viennet/ScoDoc/releases
2. Déplacer ou copier le fichier `scodoc-x.y.z.tgz` dans `/opt` et le décomprimer:
sudo su sudo su
cd /opt; tar xf - ScoDoc-x.y.z.tgz # remplacer x.y.z par votre version cd /opt; tar xf - ScoDoc-x.y.z.tgz # remplacer x.y.z par votre version
mv nom_du_rep_créé /opt/scodoc
- Lancer le script d'installation:
cd /opt/scodoc/tools 3. Lancer le script d'installation:
./install_debian11.sh
cd /opt/scodoc/
./tools/install_debian11.sh
ce script crée un compte utilisateur "scodoc" s'il n'existe pas déjà. ce script crée un compte utilisateur "scodoc" s'il n'existe pas déjà.
@ -178,7 +183,7 @@ Installer le nouveau serveur avec Debian 11 et ScoDoc 9.
Charger les données ScoDoc 7: en tant qu'utilisateur "`scodoc`" Charger les données ScoDoc 7: en tant qu'utilisateur "`scodoc`"
cd /opt/scodoc cd /opt/scodoc
tools/restore_scodoc7_data.sh /tmp/sauvegarde-scodoc7.tgz ./tools/restore_scodoc7_data.sh /tmp/sauvegarde-scodoc7.tgz
(adaptez l'argument si les données ont été copiées ailleurs) (adaptez l'argument si les données ont été copiées ailleurs)

View File

@ -1,11 +1,11 @@
#!/bin/bash #!/bin/bash
# #
# ScoDoc 8: install third-party software necessary for our installation # ScoDoc 9: install third-party software necessary for our installation
# starting for a minimal Debian (Buster, 10.0) install. # starting for a minimal Debian (Buster, 10.0) install.
# #
# E. Viennet, Jun 2008, Apr 2009, Sept 2011, Sept 2013, Nov 2013, Mar 2017, Jul 2017, # E. Viennet, Jun 2008, Apr 2009, Sept 2011, Sept 2013, Nov 2013, Mar 2017, Jul 2017,
# Jun 2019, Oct 2019, Dec 2020, Jul 2021 # Jun 2019, Oct 2019, Dec 2020, Jul 2021, Aug 21
# #
set -euo pipefail set -euo pipefail
@ -36,18 +36,11 @@ fi
# ------------ Unix user # ------------ Unix user
check_create_scodoc_user check_create_scodoc_user
# --- Create empty .../var/ subdir
echo "Creating empty local directories..."
for d in var var/scodoc var/scodoc/archives var/scodoc/photos var/scodoc/tmp var/scodoc/config var/scodoc/config/version var/scodoc/config/depts var/scodoc/config/logos
do
[ -d "$d" ] || mkdir "$d" || die "can't create $d subdirectory"
done
# ------------ Permissions & directories # ------------ Permissions & directories
change_scodoc_file_ownership change_scodoc_file_ownership
set_scodoc_var_dir set_scodoc_var_dir
# ------------ LOCALES # ------------ LOCALES (pour compat bad ScoDoc 7)
locname="en_US.UTF-8" locname="en_US.UTF-8"
outname=$(echo ${locname//-/} | tr '[A-Z]' '[a-z]') outname=$(echo ${locname//-/} | tr '[A-Z]' '[a-z]')
if [ "$(locale -a | grep -E -i ^${outname}$ | wc -l)" -lt 1 ] if [ "$(locale -a | grep -E -i ^${outname}$ | wc -l)" -lt 1 ]
@ -75,14 +68,12 @@ systemctl start redis
# ------------ CREATION DU VIRTUALENV # ------------ CREATION DU VIRTUALENV
echo "Creating python3 virtualenv..." echo "Creating python3 virtualenv..."
python3 -m venv venv || die "can't create Python 3 virtualenv" su -c "(cd $SCODOC_DIR && python3 -m venv venv)" scodoc || die "can't create Python 3 virtualenv"
# ------------ INSTALL DES PAQUETS PYTHON (3.7) # ------------ INSTALL DES PAQUETS PYTHON (3.9)
# ScoDoc8 uses pip in our env # pip in our env, as user "scodoc"
source venv/bin/activate su -c "(cd $SCODOC_DIR && source venv/bin/activate && pip install wheel && pip install -r requirements-3.9.txt)" || die "Error installing python packages"
# pip install --upgrade pip => bug [Errno 39] Directory not empty: '_internal' # pip install --upgrade pip => bug [Errno 39] Directory not empty: '_internal'
pip install wheel
pip install -r requirements-3.9.txt
# ------------ # ------------
SCODOC_RELEASE=$(cat VERSION) SCODOC_RELEASE=$(cat VERSION)
@ -124,7 +115,7 @@ init_postgres_user
# --- XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX --- # --- XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX ---
echo echo
echo "WARNING: version ScoDoc8 expérimentale" echo "WARNING: version ScoDoc 9 expérimentale"
echo "Ne pas utiliser en production !" echo "Ne pas utiliser en production !"
echo echo
echo "Pour lancer le serveur de développement: voir README" echo "Pour lancer le serveur de développement: voir README"

View File

@ -70,7 +70,7 @@ check_create_scodoc_user() {
fi fi
} }
# --- Give all ScoDoc files to user "scodoc": # --- Give all ScoDoc files (/opt/scodoc) to user "scodoc":
change_scodoc_file_ownership() { change_scodoc_file_ownership() {
echo "Changing owner of ${SCODOC_DIR} to ${SCODOC_USER}" echo "Changing owner of ${SCODOC_DIR} to ${SCODOC_USER}"
chown -R "${SCODOC_USER}:${SCODOC_GROUP}" "${SCODOC_DIR}" || die "change_scodoc_file_ownership failed on ${SCODOC_DIR}" chown -R "${SCODOC_USER}:${SCODOC_GROUP}" "${SCODOC_DIR}" || die "change_scodoc_file_ownership failed on ${SCODOC_DIR}"