diff --git a/yunohost_app.py b/yunohost_app.py index 26e5e2b6..9a743be3 100644 --- a/yunohost_app.py +++ b/yunohost_app.py @@ -332,7 +332,8 @@ def app_upgrade(app, instance=[], url=None, file=None): os.system('cp -a "'+ app_tmp_folder +'" "'+ app_final_path +'"') if is_web: - os.system('chown -R www-data: "'+ app_final_path +'"') + if app_type != 'privileged' and app_type != 'certified': + os.system('chown -R www-data: "'+ app_final_path +'"') os.system('service apache2 reload') shutil.rmtree(app_final_path + manifest['yunohost']['script_path']) @@ -511,21 +512,23 @@ def app_install(app, domain, path='/', label=None, mode='private'): ########## # Apache # ########## + if lvl(manifest,'yunohost','webapp','custom_apache_conf'): + os.system('mv '+app_tmp_folder+'/'+manifest['yunohost']['webapp']['custom_apache_conf']+' '+a2_settings_path +'/'+ domain +'.d/'+ unique_app_id +'.app.conf') + else: + a2_conf_lines = [ 'Alias '+ path +' '+ app_final_path + manifest['launch_path'] ] + if path != '/': + a2_conf_lines.append('Alias '+ path[:len(path)-1] +' '+ app_final_path + manifest['launch_path']) - a2_conf_lines = [ 'Alias '+ path +' '+ app_final_path + manifest['launch_path'] ] - if path != '/': - a2_conf_lines.append('Alias '+ path[:len(path)-1] +' '+ app_final_path + manifest['launch_path']) + a2_conf_lines.append('') - a2_conf_lines.append('') + if lvl(manifest, 'yunohost', 'webapp', 'language') and manifest['yunohost']['webapp']['language'] == 'php': + for line in open(a2_template_path +'/php.conf'): a2_conf_lines.append(line.rstrip()) - if lvl(manifest, 'yunohost', 'webapp', 'language') and manifest['yunohost']['webapp']['language'] == 'php': - for line in open(a2_template_path +'/php.conf'): a2_conf_lines.append(line.rstrip()) + a2_conf_lines.append('') - a2_conf_lines.append('') - - with open(a2_settings_path +'/'+ domain +'.d/'+ unique_app_id +'.app.conf', 'w') as a2_conf: - for line in a2_conf_lines: - a2_conf.write(line + '\n') + with open(a2_settings_path +'/'+ domain +'.d/'+ unique_app_id +'.app.conf', 'w') as a2_conf: + for line in a2_conf_lines: + a2_conf.write(line + '\n') ######################################### @@ -541,7 +544,8 @@ def app_install(app, domain, path='/', label=None, mode='private'): os.system('cp -a "'+ app_tmp_folder +'" "'+ app_final_path +'"') if is_web: - os.system('chown -R www-data: "'+ app_final_path +'"') + if app_type != 'privileged' and app_type != 'certified': + os.system('chown -R www-data: "'+ app_final_path +'"') os.system('service apache2 reload') shutil.rmtree(app_final_path + manifest['yunohost']['script_path'])