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*.
|
Si l'option multisite est activée, le script installe le paquet *php5-cli*.
|
||||||
|
|
||||||
**Mise à jour du package:**
|
**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.
|
**Multi-utilisateur:** Oui, avec support ldap.
|
||||||
|
|
|
@ -9,8 +9,10 @@ is_public=$YNH_APP_ARG_IS_PUBLIC
|
||||||
|
|
||||||
app=$YNH_APP_INSTANCE_NAME
|
app=$YNH_APP_INSTANCE_NAME
|
||||||
|
|
||||||
|
test -z "$app" && (echo "app name not set" && false)
|
||||||
|
|
||||||
# Source app helpers
|
# Source app helpers
|
||||||
. /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
|
|
||||||
|
|
||||||
# Delete files and db if exit with an error
|
# Delete files and db if exit with an error
|
||||||
|
@ -37,34 +39,30 @@ TRAP_ON
|
||||||
|
|
||||||
|
|
||||||
# Vérifie la validité de l'user admin
|
# Vérifie la validité de l'user admin
|
||||||
sudo yunohost user list --json | grep -q "\"username\": \"$admin_wordpress\""
|
sudo yunohost user list --json | grep -q "\"username\": \"$admin_wordpress\"" || (echo "Wrong admin" && false)
|
||||||
if [[ ! $? -eq 0 ]]; then
|
|
||||||
echo "Wrong admin"
|
|
||||||
touch /force_stop
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Vérifie la présence du / en début de path
|
# Vérifie la présence du / en début de path. Et son absence à la fin.
|
||||||
if [ $(echo $path | cut -c1) != "/" ]; then
|
if [ "${path:0:1}" != "/" ]; then # Si le premier caractère n'est pas un /
|
||||||
path="/$path"
|
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
|
fi
|
||||||
|
|
||||||
# Vérifie la disponibilité du path et du domaine.
|
# Vérifie la disponibilité du path et du domaine.
|
||||||
sudo yunohost app checkurl $domain$path -a $app
|
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é.
|
# Vérifie que le dossier de destination n'est pas déjà utilisé.
|
||||||
final_path=/var/www/$app
|
final_path=/var/www/$app
|
||||||
if [ -e "$final_path" ]
|
if [ -e "$final_path" ]
|
||||||
then
|
then
|
||||||
echo "This path already contains a folder"
|
echo "This path already contains a folder"
|
||||||
touch /force_stop
|
false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$path" == "/" ] && [ "$multisite" = "Yes" ]; then
|
if [ "$path" == "/" ] && [ "$multisite" = "Yes" ]; then
|
||||||
echo "Multisite option of wordpress doesn't work at root of domain."
|
echo "Multisite option of wordpress doesn't work at root of domain."
|
||||||
touch /force_stop
|
false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Enregistre les infos dans la config YunoHost
|
# 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.
|
# Génère un mot de passe aléatoire.
|
||||||
db_pwd=$(head -n20 /dev/urandom | tr -c -d 'A-Za-z0-9' | head -c20)
|
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
|
# Utilise '$app' comme nom d'utilisateur et de base de donnée
|
||||||
db_user=$app
|
db_user=$app
|
||||||
# Initialise la base de donnée et stocke le mot de passe mysql.
|
# 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
|
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
|
# Décompresse la source
|
||||||
tar -x -f ../sources/wordpress.tar.gz
|
tar -x -f wordpress.tar.gz
|
||||||
# Copie les fichiers sources
|
# 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.
|
# Copie les fichiers additionnels ou modifiés.
|
||||||
sudo cp -a ../sources/ajouts/. "$final_path"
|
sudo cp -a ../sources/ajouts/. "$final_path"
|
||||||
# Et copie le fichier de config nginx
|
# 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
|
# 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
|
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
|
# Configure les droits d'accès au fichiers
|
||||||
# Les fichiers appartiennent à www-data, pour permettre les mises à jour.
|
# Les fichiers appartiennent à www-data, pour permettre les mises à jour.
|
||||||
sudo chown -R www-data: $final_path
|
sudo chown -R www-data: $final_path
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
app=$YNH_APP_INSTANCE_NAME
|
app=$YNH_APP_INSTANCE_NAME
|
||||||
|
|
||||||
# Source app helpers
|
# Source app helpers
|
||||||
. /usr/share/yunohost/helpers
|
source /usr/share/yunohost/helpers
|
||||||
domain=$(sudo yunohost app setting $app domain)
|
domain=$(sudo yunohost app setting $app domain)
|
||||||
|
|
||||||
# Suppression de la base de donnée et de l'utilisateur associé.
|
# 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
|
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" ];
|
if [ "$multisite" = "Yes" ];
|
||||||
then
|
then
|
||||||
sudo sed -i "s@#--MULTISITE--@@g" /etc/nginx/conf.d/$domain.d/$app.conf
|
sudo sed -i "s@#--MULTISITE--@@g" /etc/nginx/conf.d/$domain.d/$app.conf
|
||||||
|
@ -70,6 +74,8 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
sudo yunohost app setting $app multisite -v $multisite
|
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
|
# Configure les droits d'accès au fichiers
|
||||||
# Les fichiers appartiennent à www-data, pour permettre les mises à jour.
|
# 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