diff --git a/check_process b/check_process index ec68e6c..0bd8ae7 100644 --- a/check_process +++ b/check_process @@ -5,6 +5,7 @@ is_public=1 admin="john" password="1Strong-Password" + database="pgsql" ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/conf/config.inc.php.mysql b/conf/config.inc.php.mysql new file mode 100644 index 0000000..1c6445c --- /dev/null +++ b/conf/config.inc.php.mysql @@ -0,0 +1,25 @@ + db.sql +if [ $database == "pgsql" ] +then + ynh_psql_dump_db --database="$db_name" > db.sql +else + ynh_mysql_dump_db --database="$db_name" > db.sql +fi #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install old mode 100755 new mode 100644 index 8bd239f..7d35f46 --- a/scripts/install +++ b/scripts/install @@ -25,6 +25,7 @@ path_url=$YNH_APP_ARG_PATH is_public=$YNH_APP_ARG_IS_PUBLIC admin=$YNH_APP_ARG_ADMIN password=$YNH_APP_ARG_PASSWORD +database=$YNH_APP_ARG_DATABASE app=$YNH_APP_INSTANCE_NAME @@ -48,6 +49,7 @@ ynh_script_progression --message="Storing installation settings..." --weight=1 ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url +ynh_app_setting_set --app=$app --key=database --value=$database #================================================= # STANDARD MODIFICATIONS @@ -56,6 +58,11 @@ ynh_app_setting_set --app=$app --key=path --value=$path_url #================================================= ynh_script_progression --message="Installing dependencies..." --weight=20 +if [ $database == "pgsql" ] +then + pkg_dependencies="$pkg_dependencies $pgsql_pkg_dependencies" +fi + ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= @@ -74,8 +81,15 @@ ynh_script_progression --message="Creating a PostgreSQL database..." --weight=2 db_name=$(ynh_sanitize_dbid --db_name=$app) db_user=$db_name ynh_app_setting_set --app=$app --key=db_name --value=$db_name -ynh_psql_test_if_first_run -ynh_psql_setup_db --db_user=$db_user --db_name=$db_name +if [ $database == "pgsql" ] +then + ynh_psql_test_if_first_run + ynh_psql_setup_db --db_user=$db_user --db_name=$db_name + ynh_app_setting_set --app=$app --key=db_pwd --value=$db_pwd +else + ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name + ynh_app_setting_set --app=$app --key=db_pwd --value=$db_pwd +fi #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -114,7 +128,7 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= ynh_script_progression --message="Adding a configuration file..." --weight=1 -ynh_add_config --template="../conf/config.inc.php.dist" --destination="$final_path/galette/config/config.inc.php" +ynh_add_config --template="../conf/config.inc.php.$database" --destination="$final_path/galette/config/config.inc.php" chmod 400 "$final_path/galette/config/config.inc.php" chown $app:$app "$final_path/galette/config/config.inc.php" diff --git a/scripts/remove b/scripts/remove old mode 100755 new mode 100644 index c5caaa6..2574adb --- a/scripts/remove +++ b/scripts/remove @@ -21,6 +21,7 @@ port=$(ynh_app_setting_get --app=$app --key=port) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name final_path=$(ynh_app_setting_get --app=$app --key=final_path) +database=$(ynh_app_setting_get --app=$app --key=database) #================================================= # STANDARD REMOVE @@ -38,7 +39,12 @@ ynh_remove_logrotate ynh_script_progression --message="Removing the PostgreSQL database..." --weight=2 # Remove a database if it exists, along with the associated user -ynh_psql_remove_db --db_user=$db_user --db_name=$db_name +if [ $database == "pgsql" ] +then + ynh_psql_remove_db --db_user=$db_user --db_name=$db_name +else + ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name +fi #================================================= # REMOVE APP MAIN DIR diff --git a/scripts/restore b/scripts/restore index f52afb1..7bb5590 100644 --- a/scripts/restore +++ b/scripts/restore @@ -29,8 +29,8 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) +database=$(ynh_app_setting_get --app=$app --key=database) timezone="$(cat /etc/timezone)" #================================================= @@ -84,6 +84,11 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) ynh_script_progression --message="Reinstalling dependencies..." --weight=6 # Define and install dependencies +if [ $database == "pgsql" ] +then + pkg_dependencies="$pkg_dependencies $pgsql_pkg_dependencies" +fi + ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= @@ -91,9 +96,17 @@ ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= ynh_script_progression --message="Restoring the PostgreSQL database..." --weight=6 -ynh_psql_test_if_first_run -ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd -ynh_psql_execute_file_as_root --file="./db.sql" --database=$db_name +if [ $database == "pgsql" ] +then + db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) + ynh_psql_test_if_first_run + ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd + ynh_psql_execute_file_as_root --file="./db.sql" --database=$db_name +else + db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) + ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd + ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql +fi #================================================= # RESTORE USER RIGHTS diff --git a/scripts/upgrade b/scripts/upgrade index bbd114f..3af57ab 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -21,8 +21,9 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) +db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) +database=$(ynh_app_setting_get --app=$app --key=database) timezone="$(cat /etc/timezone)" #================================================= @@ -59,10 +60,10 @@ if [ -z "$db_name" ]; then ynh_app_setting_set --app=$app --key=db_name --value=$db_name fi -# If db_name doesn't exist, create it +# If db_pwd doesn't exist, create it if [ -z "$db_pwd" ]; then db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) - ynh_app_setting_set --app=$app --key=psqlpwd --value=$db_pwd + ynh_app_setting_set --app=$app --key=db_pwd --value=$db_pwd fi # If final_path doesn't exist, create it @@ -127,7 +128,12 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Upgrading dependencies..." --weight=1 -ynh_install_app_dependencies $pkg_dependencies +if [ $database == "pgsql" ] +then + pkg_dependencies="$pkg_dependencies $pgsql_pkg_dependencies" +fi + +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # PHP-FPM CONFIGURATION