1
0
Fork 0
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:
Maniack Crudelis 2016-06-08 13:00:51 +02:00
commit c34c8744a1
8 changed files with 34 additions and 18 deletions

View file

@ -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.

View file

@ -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

View file

@ -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é.

View file

@ -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
View file

@ -0,0 +1 @@
wordpress

1
sources/source_md5 Normal file
View file

@ -0,0 +1 @@
056da124260ed5b4465ec1fb2f9b7155 wordpress.tar.gz

1
sources/source_url Normal file
View file

@ -0,0 +1 @@
https://wordpress.org/wordpress-4.5.2.tar.gz

Binary file not shown.