#!/bin/bash #================================================= # Exit on command errors and treat unset variables as an error #================================================= set -eu #================================================= # GENERIC STARTING #================================================= # IMPORT GENERIC HELPERS #================================================= source .fonctions source /usr/share/yunohost/helpers #================================================= # MANAGE FAILURE OF THE SCRIPT #================================================= ynh_check_error # Active trap pour arrêter le script si une erreur est détectée. #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= domain=$YNH_APP_ARG_DOMAIN path=$YNH_APP_ARG_PATH admin_prestashop=$YNH_APP_ARG_ADMIN language=$YNH_APP_ARG_LANGUAGE is_public=$YNH_APP_ARG_IS_PUBLIC db_pwd=$YNH_APP_ARG_PASSWD email=$YNH_APP_ARG_EMAIL app=$YNH_APP_INSTANCE_NAME #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THIS ARGS #================================================= CHECK_VAR "$app" "app name not set" CHECK_USER "$admin_prestashop" CHECK_PATH CHECK_DOMAINPATH CHECK_FINALPATH #================================================= # STORE SETTINGS FROM MANIFEST #================================================= ynh_app_setting_set $app domain $domain ynh_app_setting_set $app path $path ynh_app_setting_set $app admin $admin_prestashop ynh_app_setting_set $app is_public $is_public ynh_app_setting_set $app language $language ynh_app_setting_set $app db_pwd $db_pwd ynh_app_setting_set $app email $email #================================================= # CREATE A SQL BDD #================================================= db_name=$app db_user=$app db_pwd=$(ynh_string_random) ynh_mysql_create_db "$db_name" "$db_user" "$db_pwd" ynh_app_setting_set "$app" db_name "$db_name" ynh_app_setting_set "$app" db_pwd "$db_pwd" ynh_app_setting_set "$app" db_user "$db_user" #================================================= # Crée le repertoire de destination et check les permissions #================================================= sudo mkdir "$final_path" sudo chown -R www-data: $final_path #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_app_setting_set $app final_path $final_path SETUP_SOURCE "prestashop_1.7.0.5.zip" # Télécharge la source, décompresse et copie dans $final_path #================================================= # Set /etc/hosts #================================================= echo -e "127.0.0.1 $domain #PRESTASHOP" | sudo tee -a /etc/hosts #================================================= # NGINX CONFIGURATION #================================================= sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf sudo sed -i "s@__PATHTOCHANGE__@$path@g" /etc/nginx/conf.d/$domain.d/$app.conf sudo sed -i "s@__FINALPATH__@$final_path@g" /etc/nginx/conf.d/$domain.d/$app.conf sudo sed -i "s@__NAMETOCHANGE__@$app@g" /etc/nginx/conf.d/$domain.d/$app.conf #================================================= # SETUP SSOWAT #================================================= if [ "$is_public" = "Yes" ]; then sudo sed -i "s@#--PRIVATE--@@g" /etc/nginx/conf.d/$domain.d/$app.conf fi #================================================= # PHP-FPM CONFIGURATION #================================================= POOL_FPM #================================================= # Changer les informations de la tables #================================================= # Charger la structure des tables dans la base. # mysql --debug-check -u $db_user -p$db_pwd $db_user < ../conf/sql/prestashop.sql #================================================= # Donne un accès public pour curl #================================================= ynh_app_setting_set $app unprotected_uris "/" #================================================= # Régénère la configuration de SSOwat #================================================= sudo yunohost app ssowatconf #================================================= # Reload Nginx and regenerate SSOwat conf #================================================= sudo service php5-fpm restart sudo service nginx reload if [ "$is_public" = "No" ]; then # Retire l'accès public ynh_app_setting_delete $app unprotected_uris sudo yunohost app ssowatconf fi #================================================= # Nettoyer hosts #================================================= sudo sed -i '/#PRESTASHOP/d' /etc/hosts