Browse Source

Merge pull request #4 from maniackcrudelis/master

"Amélioration" du code
pull/7/head
Maniack Crudelis 10 years ago
parent
commit
c34c8744a1
  1. 2
      README.md
  2. 39
      scripts/install
  3. 2
      scripts/remove
  4. 6
      scripts/upgrade
  5. 1
      sources/source_dir
  6. 1
      sources/source_md5
  7. 1
      sources/source_url
  8. BIN
      sources/wordpress.tar.gz

2
README.md

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

39
scripts/install

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

2
scripts/remove

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

6
scripts/upgrade

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

@ -0,0 +1 @@
wordpress

1
sources/source_md5

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

1
sources/source_url

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

BIN
sources/wordpress.tar.gz

Loading…
Cancel
Save