From 5d4e62cd3d5a11f0b645756fb8db8a9516e3847d Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 9 Oct 2020 17:41:34 +0200 Subject: [PATCH 1/4] upgrade to PHP7.3 --- README.md | 7 ++----- README_fr.md | 9 +++------ conf/nginx.conf | 2 +- conf/php-fpm.conf | 2 +- manifest.json | 8 ++++---- scripts/_common | 18 ++++++++++++++++++ scripts/backup | 13 +++++++------ scripts/change_url | 4 ++-- scripts/install | 13 +++++++------ scripts/restore | 11 ++++++----- scripts/upgrade | 15 ++++++++------- 11 files changed, 59 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 1dabafe..b7b9b22 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,8 @@ This is a fork of ZeroBin, originally developed by Sébastien Sauvage. It was re #### Supported architectures -* x86-64b - [![Build Status](https://ci-apps.yunohost.org/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/zerobin/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/zerobin/) * ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/zerobin/) -* Jessie x86-64b - [![Build Status](https://ci-stretch.nohost.me/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-stretch.nohost.me/ci/apps/zerobin/) ## Limitations @@ -62,10 +61,8 @@ This means that we have decided to delete the directory that allows us to save t --- -Developers info ----------------- +## Developers info -**Only if you want to use a testing branch for coding, instead of merging directly into master.** Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing). To try the testing branch, please proceed like that. diff --git a/README_fr.md b/README_fr.md index 4645d0b..db82896 100644 --- a/README_fr.md +++ b/README_fr.md @@ -5,7 +5,7 @@ *[Read this readme in english.](./README.md)* -> *Ce package vous permet d'installer Privatebin rapidement et simplement sur un serveur Yunohost. +> *Ce package vous permet d'installer PrivateBin rapidement et simplement sur un serveur Yunohost. Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* ## Vue d'ensemble @@ -40,9 +40,8 @@ Il reste cependant compatible avec le schéma original de stockage des données #### Architectures supportées -* x86-64b - [![Build Status](https://ci-apps.yunohost.org/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/zerobin/) +* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/zerobin/) * ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/zerobin/) -* Jessie x86-64b - [![Build Status](https://ci-stretch.nohost.me/ci/logs/zerobin%20%28Apps%29.svg)](https://ci-stretch.nohost.me/ci/apps/zerobin/) ## Limitations @@ -62,10 +61,8 @@ Dans la [documentation de mise à jour](https://github.com/PrivateBin/PrivateBin --- -Informations pour les développeurs ----------------- +## Informations pour les développeurs -**Seulement si vous voulez utiliser une branche de test pour le codage, au lieu de fusionner directement dans la banche principale.** Merci de faire vos pull request dans la [branche testing](https://github.com/YunoHost-Apps/zerobin_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. diff --git a/conf/nginx.conf b/conf/nginx.conf index 9d6af69..a1ccb61 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -14,7 +14,7 @@ location __PATH__/ { try_files $uri $uri/ index.php; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; - fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; + fastcgi_pass unix:/var/run/php/php__PHPVERSION__-fpm-__NAME__.sock; fastcgi_index index.php; include fastcgi_params; diff --git a/conf/php-fpm.conf b/conf/php-fpm.conf index 2b5d7b2..61b251f 100644 --- a/conf/php-fpm.conf +++ b/conf/php-fpm.conf @@ -33,7 +33,7 @@ group = __USER__ ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. -listen = /var/run/php/php7.0-fpm-__NAMETOCHANGE__.sock +listen = /var/run/php/php__PHPVERSION__-fpm-__NAMETOCHANGE__.sock ; Set listen(2) backlog. ; Default Value: 511 (-1 on FreeBSD and OpenBSD) diff --git a/manifest.json b/manifest.json index e38519f..5c57d5f 100644 --- a/manifest.json +++ b/manifest.json @@ -3,8 +3,8 @@ "id": "zerobin", "packaging_format": 1, "description": { - "en": "A minimalist, opensource online pastebin where the server has zero knowledge of pasted data", - "fr": "Un pastebin minimaliste, libre et où le serveur n'a aucune connaissance des données copiées" + "en": "Minimalist pastebin where the server has zero knowledge of pasted data", + "fr": "Pastebin minimaliste où le serveur n'a aucune connaissance des données copiées" }, "version": "1.3.4~ynh1", "url": "http://sebsauvage.net/wiki/doku.php?id=php:zerobin", @@ -19,7 +19,7 @@ "multi_instance": true, "services": [ "nginx", - "php5-fpm" + "php7.0-fpm" ], "arguments": { "install" : [ @@ -46,7 +46,7 @@ "name": "is_public", "type": "boolean", "ask": { - "en": "Is it a public Zerobin site ?", + "en": "Is it a public site?", "fr": "Est-ce un site public ?" }, "default": true diff --git a/scripts/_common b/scripts/_common index a9bf588..a248e8a 100644 --- a/scripts/_common +++ b/scripts/_common @@ -1 +1,19 @@ #!/bin/bash + +#================================================= +# COMMON VARIABLES +#================================================= + +YNH_PHP_VERSION="7.3" + +#================================================= +# PERSONAL HELPERS +#================================================= + +#================================================= +# EXPERIMENTAL HELPERS +#================================================= + +#================================================= +# FUTURE OFFICIAL HELPERS +#================================================= \ No newline at end of file diff --git a/scripts/backup b/scripts/backup index 892b966..5bd529b 100644 --- a/scripts/backup +++ b/scripts/backup @@ -25,32 +25,33 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= -# STANDARD BACKUP STEPS +# DECLARE DATA AND CONF FILES TO BACKUP +#================================================= +ynh_print_info --message="Declaring files to be backed up..." + #================================================= # BACKUP THE APP MAIN DIR #================================================= -ynh_script_progression --message="Backing up the main app directory..." ynh_backup --src_path="$final_path" #================================================= # BACKUP THE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Backing up nginx web server configuration..." ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # BACKUP THE PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Backing up php-fpm configuration..." -ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" +ynh_backup --src_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --last +ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url index b15aa51..b5656df 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -49,7 +49,7 @@ fi #================================================= # MODIFY URL IN NGINX CONF #================================================= -ynh_script_progression --message="Updating nginx web server configuration..." --weight=2 +ynh_script_progression --message="Updating NGINX web server configuration..." --weight=2 nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf @@ -80,7 +80,7 @@ fi #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." +ynh_script_progression --message="Reloading NGINX web server..." ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/install b/scripts/install index c22e678..9566af2 100644 --- a/scripts/install +++ b/scripts/install @@ -60,9 +60,9 @@ ynh_setup_source --dest_dir="$final_path" #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Configuring nginx web server..." +ynh_script_progression --message="Configuring NGINX web server..." -# Create a dedicated nginx config +# Create a dedicated NGINX config ynh_add_nginx_config #================================================= @@ -76,10 +76,11 @@ ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Configuring php-fpm..." --weight=2 +ynh_script_progression --message="Configuring PHP-FPM..." --weight=2 -# Create a dedicated php-fpm config -ynh_add_fpm_config +# Create a dedicated PHP-FPM config +ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # GENERIC FINALIZATION @@ -112,7 +113,7 @@ fi #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." +ynh_script_progression --message="Reloading NGINX web server..." ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/restore b/scripts/restore index 19176b2..8594cc9 100644 --- a/scripts/restore +++ b/scripts/restore @@ -19,13 +19,14 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading settings..." +ynh_script_progression --message="Loading settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -48,7 +49,7 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app main directory..." +ynh_script_progression --message="Restoring the app main directory..." --weight=6 ynh_restore_file --origin_path="$final_path" @@ -70,16 +71,16 @@ chown -R $app:root $final_path/{data,tmp} # RESTORE THE PHP-FPM CONFIGURATION #================================================= -ynh_restore_file --origin_path="/etc/php/7.0/fpm/pool.d/$app.conf" +ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" #================================================= # GENERIC FINALIZATION #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading nginx web server and php-fpm..." +ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." --weight=1 -ynh_systemd_action --service_name=php7.0-fpm --action=reload +ynh_systemd_action --service_name=php$phpversion-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index bf94e62..2e3d80d 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -12,7 +12,7 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -20,6 +20,7 @@ domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) +phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= # CHECK VERSION @@ -30,7 +31,7 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -ynh_script_progression --message="Ensuring downward compatibility..." +ynh_script_progression --message="Ensuring downward compatibility..." --weight=3 # Fix is_public as a boolean value if [ "$is_public" = "Yes" ]; then @@ -95,7 +96,7 @@ fi #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading nginx web server configuration..." +ynh_script_progression --message="Upgrading NGINX web server configuration..." # Create a dedicated nginx config ynh_add_nginx_config @@ -111,10 +112,10 @@ ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading php-fpm configuration..." --weight=3 +ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=3 -# Create a dedicated php-fpm config -ynh_add_fpm_config +# Create a dedicated PHP-FPM config +ynh_add_fpm_config --phpversion=$YNH_PHP_VERSION #================================================= # GENERIC FINALIZATION @@ -147,7 +148,7 @@ fi #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading nginx web server..." +ynh_script_progression --message="Reloading NGINX web server..." ynh_systemd_action --service_name=nginx --action=reload From 33f241c060334014214fb169b776a305306a6ef2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 9 Oct 2020 17:42:00 +0200 Subject: [PATCH 2/4] Update README_fr.md --- README_fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_fr.md b/README_fr.md index db82896..cc65710 100644 --- a/README_fr.md +++ b/README_fr.md @@ -5,7 +5,7 @@ *[Read this readme in english.](./README.md)* -> *Ce package vous permet d'installer PrivateBin rapidement et simplement sur un serveur Yunohost. +> *Ce package vous permet d'installer PrivateBin rapidement et simplement sur un serveur YunoHost. Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* ## Vue d'ensemble From eee98fa53e9e23452254ec6e9cf334d9411d9518 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 9 Oct 2020 18:06:47 +0200 Subject: [PATCH 3/4] Small fixes --- README.md | 1 + README_fr.md | 4 ++-- manifest.json | 4 ++-- scripts/remove | 8 ++++---- scripts/upgrade | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index b7b9b22..f9820f0 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ This is a fork of ZeroBin, originally developed by Sébastien Sauvage. It was re ## Documentation * Official documentation: https://github.com/PrivateBin/PrivateBin/wiki + * YunoHost documentation: https://yunohost.org/#/app_zerobin ## YunoHost specific features diff --git a/README_fr.md b/README_fr.md index cc65710..150a9a6 100644 --- a/README_fr.md +++ b/README_fr.md @@ -33,6 +33,7 @@ Il reste cependant compatible avec le schéma original de stockage des données ## Documentation * Documentation officielle : https://github.com/PrivateBin/PrivateBin/wiki + * Documentation YunoHost : https://yunohost.org/#/app_zerobin_fr ## Caractéristiques spécifiques YunoHost @@ -48,13 +49,12 @@ Il reste cependant compatible avec le schéma original de stockage des données ## Informations additionnelles Dans la [documentation de mise à jour](https://github.com/PrivateBin/PrivateBin/wiki/Configuration#zerobincompatibility) de Privatebin, il est précisé que : - * Pour une compatibilité complète avec Zerobin et le déchiffrement de tous les vieux "paste", vous devriez activer cette option. Cependant, ce n'est pas recommandé pour les nouvelles installations car cela affaiblit la sécurité de votre instance PrivateBin. * Ceci signifie que nous avons décidé de supprimer ce répertoire pour permettre la sécurisation des données. Vous pouvez sauvegarder le répertoire 'data', si vous voulez conservez vos données. Mais vous devriez savoir que cela réduit la sécurité de votre application. ## Liens - * Signaler un bug: https://github.com/YunoHost-Apps/zerobin_ynh/issues + * Signaler un bug : https://github.com/YunoHost-Apps/zerobin_ynh/issues * Site de l'application PrivateBin : https://privatebin.info/ * Dépot de l'application principale : https://github.com/PrivateBin/PrivateBin * Site web YunoHost : https://yunohost.org/ diff --git a/manifest.json b/manifest.json index 5c57d5f..ce81fd2 100644 --- a/manifest.json +++ b/manifest.json @@ -7,14 +7,14 @@ "fr": "Pastebin minimaliste où le serveur n'a aucune connaissance des données copiées" }, "version": "1.3.4~ynh1", - "url": "http://sebsauvage.net/wiki/doku.php?id=php:zerobin", + "url": "https://github.com/PrivateBin/PrivateBin", "license": "Zlib", "maintainer": { "name": "julien", "email": "julien.malik@paraiso.me" }, "requirements": { - "yunohost": ">= 3.5" + "yunohost": ">= 3.8.1" }, "multi_instance": true, "services": [ diff --git a/scripts/remove b/scripts/remove index 89dfbfc..97c1548 100644 --- a/scripts/remove +++ b/scripts/remove @@ -32,17 +32,17 @@ ynh_secure_remove --file="$final_path" #================================================= # REMOVE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Removing nginx web server configuration" --weight=3 +ynh_script_progression --message="Removing NGINX web server configuration" --weight=3 -# Remove the dedicated nginx config +# Remove the dedicated NGINX config ynh_remove_nginx_config #================================================= # REMOVE PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Removing php-fpm configuration" +ynh_script_progression --message="Removing PHP-FPM configuration" -# Remove the dedicated php-fpm config +# Remove the dedicated PHP-FPM config ynh_remove_fpm_config #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 2e3d80d..81b1740 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -137,7 +137,7 @@ chmod 700 $final_path/{data,tmp} #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Upgrading SSOwat configuration..." +ynh_script_progression --message="Upgrading SSOwat configuration..." --weight=1 # If app is public, add url to SSOWat conf as skipped_uris if [ $is_public -eq 1 ]; then @@ -148,7 +148,7 @@ fi #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload From 761a058511a391ab6c3c2b57d0eb528bc292d7c2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 9 Oct 2020 18:15:50 +0200 Subject: [PATCH 4/4] Typo --- README_fr.md | 2 +- scripts/change_url | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README_fr.md b/README_fr.md index 150a9a6..9c499e8 100644 --- a/README_fr.md +++ b/README_fr.md @@ -10,7 +10,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour ## Vue d'ensemble -PrivateBin est un logiciel libre, minimaliste, qui joue le rôle de Pastebin (coller-corbeille) où le serveur n'a aucune connaissance des données qu'il stocke. +PrivateBin est un logiciel libre, minimaliste, qui joue le rôle de pastebin (coller-corbeille) où le serveur n'a aucune connaissance des données qu'il stocke. Les données sont chiffrées et déchiffrées dans le navigateur en utilisant la technologie AES 256bits en mode Galois Counter (GCM). diff --git a/scripts/change_url b/scripts/change_url index b5656df..6bd3a54 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -53,19 +53,19 @@ ynh_script_progression --message="Updating NGINX web server configuration..." -- nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf -# Change the path in the nginx config file +# Change the path in the NGINX config file if [ $change_path -eq 1 ] then - # Make a backup of the original nginx config file if modified + # Make a backup of the original NGINX config file if modified ynh_backup_if_checksum_is_different --file="$nginx_conf_path" - # Set global variables for nginx helper + # Set global variables for NGINX helper domain="$old_domain" path_url="$new_path" - # Create a dedicated nginx config + # Create a dedicated NGINX config ynh_add_nginx_config fi -# Change the domain for nginx +# Change the domain for NGINX if [ $change_domain -eq 1 ] then # Delete file checksum for the old conf file location