#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.sh source /usr/share/yunohost/helpers #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= admin_pwd=$(openssl passwd -1 -salt xyz $password) #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression --message="Setting up source files..." # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source --dest_dir="$install_dir" chown -R $app:www-data "$install_dir" #================================================= # PHP-FPM CONFIGURATION #================================================= ynh_script_progression --message="Configuring PHP-FPM..." # Create a dedicated php-fpm config ynh_add_fpm_config --usage=low --footprint=low # Create a dedicated nginx config ynh_add_nginx_config #================================================= # MODIFY A CONFIG FILE #================================================= ynh_script_progression --message="Adding a configuration file..." --weight=1 ynh_add_config --template="../conf/config.php" --destination="$install_dir/config.php" chmod 400 "$install_dir/config.php" chown $app:$app "$install_dir/config.php" ynh_replace_string --match_string="\$enabled = false;" --replace_string="\$enabled = true;" --target_file="$install_dir/scripts/setup.php" # Replace variables in SQL scripts ynh_replace_string --match_string="__ADMIN__" --replace_string="$admin" --target_file="../conf/admin.sql" ynh_replace_string --match_string="__ADMIN_PWD__" --replace_string="$admin_pwd" --target_file="../conf/admin.sql" #================================================= # SETUP APPLICATION WITH CURL #================================================= ynh_script_progression --message="Finalizing installation..." ynh_local_curl "/scripts/setup.php" "command=setup" #Add the admin account to the database ynh_mysql_connect_as --user=$db_user --password="$db_pwd" --database=$db_name < "../conf/admin.sql" #Disable setup for security ynh_replace_string --match_string="^\$enabled = true;" --replace_string="\$enabled = false;" --target_file="$install_dir/scripts/setup.php" #================================================= # GENERIC FINALIZATION #================================================= # SECURE FILES AND DIRECTORIES #================================================= # Set permissions to app files #chmod 755 -R $install_dir #chmod -R o-rwx $install_dir #chown -R $app:www-data $install_dir #================================================= # END OF SCRIPT #================================================= ynh_script_progression --message="Installation of $app completed"