From aff7fe1c865ea10ac62db900917c1fdcccdc6141 Mon Sep 17 00:00:00 2001 From: Djip007 Date: Thu, 22 Oct 2015 20:55:36 +0200 Subject: [PATCH] - re-use scith Workaround for sso - use data/VERSION configure rainloop version in index.php - change in upgrade process... --- scripts/install | 21 +++++--- scripts/upgrade | 74 +++++++++++++++------------- sources/patch/index_auto_version.php | 18 +++++++ sources/sso/index.php | 9 ++-- {conf => sources/sso}/sso.php | 0 5 files changed, 78 insertions(+), 44 deletions(-) create mode 100644 sources/patch/index_auto_version.php rename {conf => sources/sso}/sso.php (100%) diff --git a/scripts/install b/scripts/install index 60a18a9..c5ce308 100644 --- a/scripts/install +++ b/scripts/install @@ -41,8 +41,8 @@ sudo yunohost app setting rainloop mysqlpwd -v $db_pwd # Copy files to the right place final_path=/var/www/$app -#rainloop_path=${final_path}/app -rainloop_path=${final_path} +rainloop_path=${final_path}/app +#rainloop_path=${final_path} sudo rm -rf $final_path sudo mkdir -p $final_path @@ -87,18 +87,23 @@ sudo cp -rf ../sources/plugins/ynh-login-mapping $rainloop_path/data/_data_/_def # Hooks for domains are not implemented yet, so new domains will not be added automatically -# SSO -#sudo cp ../conf/sso.php $final_path/index.php -sudo cp ../sources/sso/index.php $final_path/index.php -sudo cp ../sources/sso/index.php $final_path/index.php +# install SSO and auto version +if [ $final_path == $rainloop_path ] +then + # use modified version of master index.php that implement sso + sudo cp ../sources/sso/index.php $final_path/index.php +else + # use only sso on master + sudo cp ../sources/sso/sso.php $final_path/index.php + sudo cp ../sources/patch/index_auto_version.php $rainloop_path/index.php +fi sudo sed -i "s@domain.tld@$domain@g" $final_path/index.php sudo sed -i "s@PATHTOCHANGE@$path@g" $final_path/index.php # Set permissions to rainloop directory -# sudo mkdir -p $final_path/logs sudo chown -R www-data:www-data $final_path -# Modify Nginx configuration file and copy it to Nginx conf directory +# Install Nginx configuration file nginx_conf_file=/etc/nginx/conf.d/$domain.d/$app.conf sudo cp ../conf/nginx.conf $nginx_conf_file sudo sed -i "s@PATHTOCHANGE@$path@g" $nginx_conf_file diff --git a/scripts/upgrade b/scripts/upgrade index 0d5f237..d62d07b 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -6,56 +6,64 @@ app=rainloop domain=$(sudo yunohost app setting $app domain) path=$(sudo yunohost app setting $app path) is_public=$(sudo yunohost app setting $app is_public) -dp_pwd=$(sudo yunohost app setting rainloop mysqlpwd) +dp_pwd=$(sudo yunohost app setting $app mysqlpwd) db_user=$app -# Initialize database and store mysql password for upgrade -root_pwd=$(sudo cat /etc/yunohost/mysql) -mysql -u root -p$root_pwd -e "DROP DATABASE $db_name ; DROP USER $db_user@localhost ;" -sudo yunohost app initdb $db_user -p $db_pwd +# no update for db now... +#root_pwd=$(sudo cat /etc/yunohost/mysql) +#mysql -u root -p$root_pwd -e "DROP DATABASE $db_name ; DROP USER $db_user@localhost ;" +#sudo yunohost app initdb $db_user -p $db_pwd # Copy files to the right place final_path=/var/www/$app rainloop_path=${final_path}/app +#rainloop_path=${final_path} -sudo rm -rf $final_path -sudo mkdir -p $final_path -sudo mkdir -p $rainloop_path +# no delete... we keep old install, the new is in a new path +#sudo rm -rf $final_path +#sudo mkdir -p $final_path +#sudo mkdir -p $rainloop_path # Use of latest community edition -sudo wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip -O $rainloop_path/rainloop.zip -sudo unzip $rainloop_path/rainloop.zip -d $rainloop_path/ -sudo rm $rainloop_path/rainloop.zip +sudo unzip ../sources/rainloop-community.zip -d $rainloop_path/ +# update patch to auto load version. +sudo cp ../sources/patch/index_auto_version.php $rainloop_path/index.php +# update ynh plugins: +sudo mkdir -p $rainloop_path/data/_data_/_default_/plugins +sudo cp -rf ../sources/plugins/ynh-login-mapping $rainloop_path/data/_data_/_default_/plugins/. -# Modify Nginx configuration file and copy it to Nginx conf directory -sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf -sed -i "s@ALIASTOCHANGE@$final_path/@g" ../conf/nginx.conf -sed -i "s@NAMETOCHANGE@$app@g" ../conf/nginx.conf -sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf - -sed -i "s@NAMETOCHANGE@$app@g" ../conf/php-fpm.conf -finalphpconf=/etc/php5/fpm/pool.d/$app.conf -sudo cp ../conf/php-fpm.conf $finalphpconf -sudo chown root: $finalphpconf -sudo chmod 644 $finalphpconf - -# SSO -sed -i "s@domain.tld@$domain@g" ../conf/sso.php -sed -i "s@PATHTOCHANGE@$path@g" ../conf/sso.php -sudo cp ../conf/sso.php $final_path/index.php +# update SSO and auto version +if [ $final_path == $rainloop_path ] +then + # use modified version of master index.php that implement sso + sudo cp ../sources/sso/index.php $final_path/index.php +else + # use only sso on master + sudo cp ../sources/sso/sso.php $final_path/index.php + sudo cp ../sources/patch/index_auto_version.php $rainloop_path/index.php +fi +sudo sed -i "s@domain.tld@$domain@g" $final_path/index.php +sudo sed -i "s@PATHTOCHANGE@$path@g" $final_path/index.php # Set permissions to rainloop directory sudo chown -R www-data:www-data $final_path -# Make app public if necessary -sudo yunohost app setting $app is_public -v "$is_public" -if [ "$is_public" = "Yes" ]; -then - sudo yunohost app setting $app skipped_uris -v "/" -fi +# Update Nginx configuration file +nginx_conf_file=/etc/nginx/conf.d/$domain.d/$app.conf +sudo cp ../conf/nginx.conf $nginx_conf_file +sudo sed -i "s@PATHTOCHANGE@$path@g" $nginx_conf_file +sudo sed -i "s@ALIASTOCHANGE@$final_path/@g" $nginx_conf_file +sudo sed -i "s@NAMETOCHANGE@$app@g" $nginx_conf_file +sudo chown root: $nginx_conf_file +sudo chmod 644 $nginx_conf_file +finalphpconf=/etc/php5/fpm/pool.d/$app.conf +sudo cp ../conf/php-fpm.conf $finalphpconf +sudo sed -i "s@NAMETOCHANGE@$app@g" $finalphpconf +sudo chown root: $finalphpconf +sudo chmod 644 $finalphpconf # Reload Nginx and regenerate SSOwat conf sudo service php5-fpm reload diff --git a/sources/patch/index_auto_version.php b/sources/patch/index_auto_version.php new file mode 100644 index 0000000..887a5fa --- /dev/null +++ b/sources/patch/index_auto_version.php @@ -0,0 +1,18 @@ + diff --git a/sources/sso/index.php b/sources/sso/index.php index 0940498..f89e738 100644 --- a/sources/sso/index.php +++ b/sources/sso/index.php @@ -1,9 +1,12 @@