mirror of
https://github.com/YunoHost-Apps/wordpress_ynh.git
synced 2024-09-03 20:36:10 +02:00
Merge pull request #4 from maniackcrudelis/master
"Amélioration" du code
This commit is contained in:
commit
c34c8744a1
8 changed files with 34 additions and 18 deletions
|
@ -10,6 +10,6 @@ https://wordpress.org/
|
|||
Si l'option multisite est activée, le script installe le paquet *php5-cli*.
|
||||
|
||||
**Mise à jour du package:**
|
||||
sudo yunohost app upgrade -u https://github.com/YunoHost-Apps/wordpress_ynh
|
||||
sudo yunohost app upgrade --verbose -u https://github.com/YunoHost-Apps/wordpress_ynh wordpress
|
||||
|
||||
**Multi-utilisateur:** Oui, avec support ldap.
|
||||
|
|
|
@ -9,8 +9,10 @@ is_public=$YNH_APP_ARG_IS_PUBLIC
|
|||
|
||||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
test -z "$app" && (echo "app name not set" && false)
|
||||
|
||||
# Source app helpers
|
||||
. /usr/share/yunohost/helpers
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
|
||||
# Delete files and db if exit with an error
|
||||
|
@ -37,34 +39,30 @@ TRAP_ON
|
|||
|
||||
|
||||
# Vérifie la validité de l'user admin
|
||||
sudo yunohost user list --json | grep -q "\"username\": \"$admin_wordpress\""
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
echo "Wrong admin"
|
||||
touch /force_stop
|
||||
fi
|
||||
sudo yunohost user list --json | grep -q "\"username\": \"$admin_wordpress\"" || (echo "Wrong admin" && false)
|
||||
|
||||
# Vérifie la présence du / en début de path
|
||||
if [ $(echo $path | cut -c1) != "/" ]; then
|
||||
path="/$path"
|
||||
# Vérifie la présence du / en début de path. Et son absence à la fin.
|
||||
if [ "${path:0:1}" != "/" ]; then # Si le premier caractère n'est pas un /
|
||||
path="/$path" # Ajoute un / en début de path
|
||||
fi
|
||||
if [ "${path:${#path}-1}" == "/" ] && [ ${#path} -gt 1 ]; then # Si le dernier caractère est un / et que ce n'est pas le seul caractère.
|
||||
path="${path:0:${#path}-1}" # Supprime le dernier caractère
|
||||
fi
|
||||
|
||||
# Vérifie la disponibilité du path et du domaine.
|
||||
sudo yunohost app checkurl $domain$path -a $app
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
touch /force_stop
|
||||
fi
|
||||
|
||||
# Vérifie que le dossier de destination n'est pas déjà utilisé.
|
||||
final_path=/var/www/$app
|
||||
if [ -e "$final_path" ]
|
||||
then
|
||||
echo "This path already contains a folder"
|
||||
touch /force_stop
|
||||
false
|
||||
fi
|
||||
|
||||
if [ "$path" == "/" ] && [ "$multisite" = "Yes" ]; then
|
||||
echo "Multisite option of wordpress doesn't work at root of domain."
|
||||
touch /force_stop
|
||||
false
|
||||
fi
|
||||
|
||||
# Enregistre les infos dans la config YunoHost
|
||||
|
@ -78,6 +76,7 @@ sudo yunohost app setting $app multisite -v $multisite
|
|||
|
||||
# Génère un mot de passe aléatoire.
|
||||
db_pwd=$(head -n20 /dev/urandom | tr -c -d 'A-Za-z0-9' | head -c20)
|
||||
test -z "$db_pwd" && (echo "db_pwd empty" && false)
|
||||
# Utilise '$app' comme nom d'utilisateur et de base de donnée
|
||||
db_user=$app
|
||||
# Initialise la base de donnée et stocke le mot de passe mysql.
|
||||
|
@ -90,10 +89,14 @@ sudo mkdir "$final_path"
|
|||
sudo yunohost app setting $app final_path -v $final_path
|
||||
|
||||
|
||||
# Télécharge la source
|
||||
wget -nv --show-progress -i ../sources/source_url -O wordpress.tar.gz
|
||||
# Vérifie la somme de contrôle de la source téléchargée.
|
||||
md5sum -c ../sources/source_md5 --status || (echo "Corrupt source" && false)
|
||||
# Décompresse la source
|
||||
tar -x -f ../sources/wordpress.tar.gz
|
||||
tar -x -f wordpress.tar.gz
|
||||
# Copie les fichiers sources
|
||||
sudo cp -a wordpress/. "$final_path"
|
||||
sudo cp -a $(cat ../sources/source_dir)/. "$final_path"
|
||||
# Copie les fichiers additionnels ou modifiés.
|
||||
sudo cp -a ../sources/ajouts/. "$final_path"
|
||||
# Et copie le fichier de config nginx
|
||||
|
@ -217,6 +220,10 @@ fi
|
|||
# Décommente les add_filter, qui auraient provoqué une erreur avec wp-cli
|
||||
sudo sed -i "s@//add_filter@add_filter@g" $final_path/wp-config.php
|
||||
|
||||
# Enregistre la somme de contrôle du fichier de config
|
||||
sudo yunohost app setting $app wp-config.php_file_md5 -v $(md5sum "$final_path/wp-config.php" | cut -d' ' -f1)
|
||||
|
||||
|
||||
# Configure les droits d'accès au fichiers
|
||||
# Les fichiers appartiennent à www-data, pour permettre les mises à jour.
|
||||
sudo chown -R www-data: $final_path
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
app=$YNH_APP_INSTANCE_NAME
|
||||
|
||||
# Source app helpers
|
||||
. /usr/share/yunohost/helpers
|
||||
source /usr/share/yunohost/helpers
|
||||
domain=$(sudo yunohost app setting $app domain)
|
||||
|
||||
# Suppression de la base de donnée et de l'utilisateur associé.
|
||||
|
|
|
@ -57,6 +57,10 @@ sudo chown root: $finalphpini
|
|||
sudo service php5-fpm reload
|
||||
|
||||
|
||||
config_file="$final_path/wp-config.php"
|
||||
if [ "$(sudo yunohost app setting $app wp-config.php_file_md5)" != $(md5sum "$config_file" | cut -d' ' -f1) ]; then
|
||||
sudo cp -a "$config_file" "$config_file.backup.$(date '+%d.%m.%y_%Hh%M,%Ss')" # Si le fichier de config a été modifié, créer un backup.
|
||||
fi
|
||||
if [ "$multisite" = "Yes" ];
|
||||
then
|
||||
sudo sed -i "s@#--MULTISITE--@@g" /etc/nginx/conf.d/$domain.d/$app.conf
|
||||
|
@ -70,6 +74,8 @@ else
|
|||
fi
|
||||
fi
|
||||
sudo yunohost app setting $app multisite -v $multisite
|
||||
# Réenregistre la somme de contrôle du fichier de config.
|
||||
sudo yunohost app setting $app wp-config.php_file_md5 -v $(md5sum "$final_path/wp-config.php" | cut -d' ' -f1)
|
||||
|
||||
# Configure les droits d'accès au fichiers
|
||||
# Les fichiers appartiennent à www-data, pour permettre les mises à jour.
|
||||
|
|
1
sources/source_dir
Normal file
1
sources/source_dir
Normal file
|
@ -0,0 +1 @@
|
|||
wordpress
|
1
sources/source_md5
Normal file
1
sources/source_md5
Normal file
|
@ -0,0 +1 @@
|
|||
056da124260ed5b4465ec1fb2f9b7155 wordpress.tar.gz
|
1
sources/source_url
Normal file
1
sources/source_url
Normal file
|
@ -0,0 +1 @@
|
|||
https://wordpress.org/wordpress-4.5.2.tar.gz
|
Binary file not shown.
Loading…
Add table
Reference in a new issue