From 6be2c6650a96112f4584f3759f8f238619cdb28a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Mon, 4 May 2020 19:13:35 +0200 Subject: [PATCH 001/107] Add files via upload --- README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ manifest.json | 55 +++++++++++++++++++++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 README.md create mode 100644 manifest.json diff --git a/README.md b/README.md new file mode 100644 index 0000000..384b5ac --- /dev/null +++ b/README.md @@ -0,0 +1,75 @@ +Usage of this package (REMOVE THIS SECTION BEFORE RELEASE) + + Copy this app before working on it. + Edit conf/nginx.conf file to match application prerequisites. + Edit manifest.json with application specific information. + Edit the install, upgrade, remove, backup, and restore scripts. + Using the script helpers documentation. + Add a LICENSE file for the package. + Edit README.md and README_fr.md. + +Example app for YunoHost + +Integration level +Install ZwiiCMS with YunoHost + +Lire ce readme en français. + + This package allow you to install REPLACEBYYOURAPP quickly and simply on a YunoHost server. + If you don't have YunoHost, please see here to know how to install and enjoy it. + +Overview + +Quick description of this app. + +Shipped version: 9.2.28 +Screenshots + +![](Link to an screenshot for this app) +Demo + + [Official demo](Link to a demo site for this app) + +Configuration + +How to configure this app: by an admin panel, a plain file with SSH, or any other way. +Documentation + + Official documentation: Link to the official documentation of this app + YunoHost documentation: If specific documentation is needed, feel free to contribute. + +YunoHost specific features +Multi-users support + +Are LDAP and HTTP auth supported? Can the app be used by multiple users? +Supported architectures + + x86-64b - Build Status + ARMv8-A - Build Status + +Limitations + + Any known limitations. + +Additional information + + Other information you would add about this application + +More information on the documentation page: +https://yunohost.org/packaging_apps +Links + + Report a bug: https://github.com/YunoHost-Apps/zwiicms_ynh/issues + App website: Link to the official website of this app + Upstream app repository: Link to the official repository of the upstream app + YunoHost website: https://yunohost.org/ + +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. + +To try the testing branch, please proceed like that. + +sudo yunohost app install https://github.com/YunoHost-Apps/zwiicms_ynh/tree/testing --debug +or +sudo yunohost app upgrade REPLACEBYYOURAPP -u https://github.com/YunoHost-Apps/zwiicms_ynh/tree/testing - diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..72a9bb0 --- /dev/null +++ b/manifest.json @@ -0,0 +1,55 @@ +{ + "name": "ZwiiCMS", + "id": "zwiicms", + "packaging_format": 1, + "description": { + "en": "Zwii - the simple, lightweight, database-free (Flat-File), scalable and responsive CMS!", + "fr": "Zwii - le CMS simple, léger, sans base de données (Flat-File), modulable et responsive !" + }, + "version": "9.2.28~ynh1", + "url": "https://zwiicms.com", + "license": "GPL-v3.0", + "maintainer": { + "name": "pp-r", + "email": "ppr@ppr.ynh.fr" + }, + "requirements": { + "yunohost": ">= 3.7" + }, + "multi_instance": false, + "services": [ + "nginx" + ], + "arguments": { + "install" : [ + { + "name": "domain", + "type": "domain", + "ask": { + "en": "Choose a domain name for ZwiiCMS", + "fr": "Choisissez un nom de domaine pour ZwiiCMS" + }, + "example": "example.com" + }, + { + "name": "path", + "type": "path", + "ask": { + "en": "Choose a path for ZwiiCMS", + "fr": "Choisissez un chemin pour ZwiiCMS" + }, + "example": "/zwiicms", + "default": "/zwiicms" + }, + { + "name": "is_public", + "type": "boolean", + "ask": { + "en": "Is it a public application?", + "fr": "Est-ce une application publique ?" + }, + "default": true + } + ] + } +} From 14468c9afb83ffb36ca737f5e04062ea7c421ca6 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Mon, 4 May 2020 19:14:07 +0200 Subject: [PATCH 002/107] Create app.scr --- conf/app.scr | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 conf/app.scr diff --git a/conf/app.scr b/conf/app.scr new file mode 100644 index 0000000..8a63d3d --- /dev/null +++ b/conf/app.scr @@ -0,0 +1,6 @@ +SOURCE_URL=https://zwiicms.com/public/archive/ZwiiCMS-9228.zip +SOURCE_SUM=17bd792fa958fbaa4ea54dab9303d17db953613d1d0373c2940b0e325016954f +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=zip +SOURCE_IN_SUBDIR=true +SOURCE_FILENAME= From ebd4b66edce835af1e68e31e1e7210cf49eccdef Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Mon, 4 May 2020 19:14:19 +0200 Subject: [PATCH 003/107] Add files via upload --- conf/nginx.conf | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 conf/nginx.conf diff --git a/conf/nginx.conf b/conf/nginx.conf new file mode 100644 index 0000000..f2277ea --- /dev/null +++ b/conf/nginx.conf @@ -0,0 +1,33 @@ +#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; +location __PATH__/ { + + # Path to source + alias __FINALPATH__/ ; + + # Force usage of https + if ($scheme = http) { + rewrite ^ https://$server_name$request_uri? permanent; + } + +### Example PHP configuration (remove it if not used) + index index.php; + + # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file + #client_max_body_size 50M; + + 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_index index.php; + include fastcgi_params; + fastcgi_param REMOTE_USER $remote_user; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param SCRIPT_FILENAME $request_filename; + } +### End of PHP configuration part + + # Include SSOWAT user panel. + include conf.d/yunohost_panel.conf.inc; +} From 1576667ea2af9fc0962c74d0702832b9d5460306 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Mon, 4 May 2020 19:14:59 +0200 Subject: [PATCH 004/107] Create backup --- scripts/backup | 113 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 scripts/backup diff --git a/scripts/backup b/scripts/backup new file mode 100644 index 0000000..e8c2560 --- /dev/null +++ b/scripts/backup @@ -0,0 +1,113 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + ### Remove this function if there's nothing to clean before calling the remove script. + true +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." --time --weight=1 + +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) +#db_name=$(ynh_app_setting_get --app=$app --key=db_name) + +#================================================= +# STANDARD BACKUP STEPS +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 + +ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" + +#================================================= +# BACKUP THE APP MAIN DIR +#================================================= +ynh_script_progression --message="Backing up the main app directory..." --time --weight=1 + +ynh_backup --src_path="$final_path" + +#================================================= +# BACKUP THE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Backing up nginx web server configuration..." --time --weight=1 + +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..." --time --weight=1 + +#ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" + +#================================================= +# BACKUP THE MYSQL DATABASE +#================================================= +#ynh_script_progression --message="Backing up the MySQL database..." --time --weight=1 + +#ynh_mysql_dump_db --database="$db_name" > db.sql + +#================================================= +# BACKUP FAIL2BAN CONFIGURATION +#================================================= +#ynh_script_progression --message="Backing up fail2ban configuration..." --time --weight=1 + +#ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" +#ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" + +#================================================= +# SPECIFIC BACKUP +#================================================= +# BACKUP LOGROTATE +#================================================= +#ynh_script_progression --message="Backing up logrotate configuration..." --time --weight=1 + +#ynh_backup --src_path="/etc/logrotate.d/$app" + +#================================================= +# BACKUP SYSTEMD +#================================================= +ynh_script_progression --message="Backing up systemd configuration..." --time --weight=1 + +ynh_backup --src_path="/etc/systemd/system/$app.service" + +#================================================= +# BACKUP A CRON FILE +#================================================= + +#ynh_backup --src_path="/etc/cron.d/$app" + +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." --time --weight=1 + +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --time --last From a782b222e9c7621705ff5489d62cd6a79f84ef68 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Mon, 4 May 2020 19:15:22 +0200 Subject: [PATCH 005/107] Add files via upload --- scripts/_common.sh | 20 +++ scripts/change_url | 134 +++++++++++++++++ scripts/install | 359 +++++++++++++++++++++++++++++++++++++++++++++ scripts/remove | 141 ++++++++++++++++++ scripts/restore | 158 ++++++++++++++++++++ scripts/upgrade | 222 ++++++++++++++++++++++++++++ 6 files changed, 1034 insertions(+) create mode 100644 scripts/_common.sh create mode 100644 scripts/change_url create mode 100644 scripts/install create mode 100644 scripts/remove create mode 100644 scripts/restore create mode 100644 scripts/upgrade diff --git a/scripts/_common.sh b/scripts/_common.sh new file mode 100644 index 0000000..919a7f3 --- /dev/null +++ b/scripts/_common.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +#================================================= +# COMMON VARIABLES +#================================================= + +# dependencies used by the app +pkg_dependencies="php7.0-zip" + +#================================================= +# PERSONAL HELPERS +#================================================= + +#================================================= +# EXPERIMENTAL HELPERS +#================================================= + +#================================================= +# FUTURE OFFICIAL HELPERS +#================================================= diff --git a/scripts/change_url b/scripts/change_url new file mode 100644 index 0000000..3f21bc8 --- /dev/null +++ b/scripts/change_url @@ -0,0 +1,134 @@ +#!/bin/bash + +#================================================= +# GENERIC STARTING +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# RETRIEVE ARGUMENTS +#================================================= + +old_domain=$YNH_APP_OLD_DOMAIN +old_path=$YNH_APP_OLD_PATH + +new_domain=$YNH_APP_NEW_DOMAIN +new_path=$YNH_APP_NEW_PATH + +app=$YNH_APP_INSTANCE_NAME + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." --time --weight=1 + +# Needed for helper "ynh_add_nginx_config" +final_path=$(ynh_app_setting_get --app=$app --key=final_path) + +# Add settings here as needed by your application +#db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#db_user=$db_name +#db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) + +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up the app before changing its url (may take a while)..." --time --weight=1 + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. + ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" + + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# CHECK WHICH PARTS SHOULD BE CHANGED +#================================================= + +change_domain=0 +if [ "$old_domain" != "$new_domain" ] +then + change_domain=1 +fi + +change_path=0 +if [ "$old_path" != "$new_path" ] +then + change_path=1 +fi + +#================================================= +# STANDARD MODIFICATIONS +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 + +ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" + +#================================================= +# MODIFY URL IN NGINX CONF +#================================================= +ynh_script_progression --message="Updating nginx web server configuration..." --time --weight=1 + +nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf + +# 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 + ynh_backup_if_checksum_is_different --file="$nginx_conf_path" + # Set global variables for nginx helper + domain="$old_domain" + path_url="$new_path" + # Create a dedicated nginx config + ynh_add_nginx_config +fi + +# Change the domain for nginx +if [ $change_domain -eq 1 ] +then + # Delete file checksum for the old conf file location + ynh_delete_file_checksum --file="$nginx_conf_path" + mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf + # Store file checksum for the new config file location + ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" +fi + +#================================================= +# SPECIFIC MODIFICATIONS +#================================================= +# ... +#================================================= + +#================================================= +# GENERIC FINALISATION +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." --time --weight=1 + +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Change of URL completed for $app" --time --last diff --git a/scripts/install b/scripts/install new file mode 100644 index 0000000..b4e7843 --- /dev/null +++ b/scripts/install @@ -0,0 +1,359 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + ### Remove this function if there's nothing to clean before calling the remove script. + true +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# RETRIEVE ARGUMENTS FROM THE MANIFEST +#================================================= + +domain=$YNH_APP_ARG_DOMAIN +path_url=$YNH_APP_ARG_PATH +#admin=$YNH_APP_ARG_ADMIN +is_public=$YNH_APP_ARG_IS_PUBLIC +#language=$YNH_APP_ARG_LANGUAGE +#password=$YNH_APP_ARG_PASSWORD + +### If it's a multi-instance app, meaning it can be installed several times independently +### The id of the app as stated in the manifest is available as $YNH_APP_ID +### The instance number is available as $YNH_APP_INSTANCE_NUMBER (equals "1", "2", ...) +### The app instance name is available as $YNH_APP_INSTANCE_NAME +### - the first time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample +### - the second time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample__2 +### - ynhexample__{N} for the subsequent installations, with N=3,4, ... +### The app instance name is probably what interests you most, since this is +### guaranteed to be unique. This is a good unique identifier to define installation path, +### db names, ... +app=$YNH_APP_INSTANCE_NAME + +#================================================= +# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS +#================================================= +### About --weight and --time +### ynh_script_progression will show to your final users the progression of each scripts. +### In order to do that, --weight will represent the relative time of execution compared to the other steps in the script. +### --time is a packager option, it will show you the execution time since the previous call. +### This option should be removed before releasing your app. +### Use the execution time, given by --time, to estimate the weight of a step. +### A common way to do it is to set a weight equal to the execution time in second +1. +### The execution time is given for the duration since the previous call. So the weight should be applied to this previous call. +ynh_script_progression --message="Validating installation parameters..." --time --weight=1 + +### If the app uses nginx as web server (written in HTML/PHP in most cases), the final path should be "/var/www/$app". +### If the app provides an internal web server (or uses another application server such as uwsgi), the final path should be "/opt/yunohost/$app" +final_path=/var/www/$app +test ! -e "$final_path" || ynh_die --message="This path already contains a folder" + +# Register (book) web path +ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url + +#================================================= +# STORE SETTINGS FROM MANIFEST +#================================================= +ynh_script_progression --message="Storing installation settings..." --time --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=admin --value=$admin +ynh_app_setting_set --app=$app --key=is_public --value=$is_public +#ynh_app_setting_set --app=$app --key=language --value=$language + +#================================================= +# STANDARD MODIFICATIONS +#================================================= +# FIND AND OPEN A PORT +#================================================= +#ynh_script_progression --message="Configuring firewall..." --time --weight=1 + +### Use these lines if you have to open a port for the application +### `ynh_find_port` will find the first available port starting from the given port. +### If you're not using these lines: +### - Remove the section "CLOSE A PORT" in the remove script + +# Find an available port +#port=$(ynh_find_port --port=8095) +#ynh_app_setting_set --app=$app --key=port --value=$port + +# Optional: Expose this port publicly +# (N.B. : you only need to do this if the app actually needs to expose the port publicly. +# If you do this and the app doesn't actually need you are CREATING SECURITY HOLES IN THE SERVER !) + +# Open the port +# ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port + +#================================================= +# INSTALL DEPENDENCIES +#================================================= +ynh_script_progression --message="Installing dependencies..." --time --weight=1 + +### `ynh_install_app_dependencies` allows you to add any "apt" dependencies to the package. +### Those deb packages will be installed as dependencies of this package. +### If you're not using this helper: +### - Remove the section "REMOVE DEPENDENCIES" in the remove script +### - Remove the variable "pkg_dependencies" in _common.sh +### - As well as the section "REINSTALL DEPENDENCIES" in the restore script +### - And the section "UPGRADE DEPENDENCIES" in the upgrade script + +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# CREATE A MYSQL DATABASE +#================================================= +#ynh_script_progression --message="Creating a MySQL database..." --time --weight=1 + +### Use these lines if you need a database for the application. +### `ynh_mysql_setup_db` will create a database, an associated user and a ramdom password. +### The password will be stored as 'mysqlpwd' into the app settings, +### and will be available as $db_pwd +### If you're not using these lines: +### - Remove the section "BACKUP THE MYSQL DATABASE" in the backup script +### - Remove also the section "REMOVE THE MYSQL DATABASE" in the remove script +### - As well as the section "RESTORE THE MYSQL DATABASE" in the restore script + +#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_mysql_setup_db --db_user=$db_user --db_name=$db_name + +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= +ynh_script_progression --message="Setting up source files..." --time --weight=1 + +### `ynh_setup_source` is used to install an app from a zip or tar.gz file, +### downloaded from an upstream source, like a git repository. +### `ynh_setup_source` use the file conf/app.src + +ynh_app_setting_set --app=$app --key=final_path --value=$final_path +# Download, check integrity, uncompress and patch the source from app.src +ynh_setup_source --dest_dir="$final_path" + +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Configuring nginx web server..." --time --weight=1 + +### `ynh_add_nginx_config` will use the file conf/nginx.conf + +# Create a dedicated nginx config +ynh_add_nginx_config + +#================================================= +# CREATE DEDICATED USER +#================================================= +#ynh_script_progression --message="Configuring system user..." --time --weight=1 + +# Create a system user +#ynh_system_user_create --username=$app + +#================================================= +# PHP-FPM CONFIGURATION +#================================================= +#ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 + +### `ynh_add_fpm_config` is used to set up a PHP config. +### You can remove it if your app doesn't use PHP. +### `ynh_add_fpm_config` will use the files conf/php-fpm.conf +### If you're not using these lines: +### - You can remove these files in conf/. +### - Remove the section "BACKUP THE PHP-FPM CONFIGURATION" in the backup script +### - Remove also the section "REMOVE PHP-FPM CONFIGURATION" in the remove script +### - As well as the section "RESTORE THE PHP-FPM CONFIGURATION" in the restore script +### With the reload at the end of the script. +### - And the section "PHP-FPM CONFIGURATION" in the upgrade script + +# Create a dedicated php-fpm config +#ynh_add_fpm_config + +#================================================= +# SPECIFIC SETUP +#================================================= +# ... +#================================================= + +#================================================= +# SETUP SYSTEMD +#================================================= +#ynh_script_progression --message="Configuring a systemd service..." --time --weight=1 + +### `ynh_systemd_config` is used to configure a systemd script for an app. +### It can be used for apps that use sysvinit (with adaptation) or systemd. +### Have a look at the app to be sure this app needs a systemd script. +### `ynh_systemd_config` will use the file conf/systemd.service +### If you're not using these lines: +### - You can remove those files in conf/. +### - Remove the section "BACKUP SYSTEMD" in the backup script +### - Remove also the section "STOP AND REMOVE SERVICE" in the remove script +### - As well as the section "RESTORE SYSTEMD" in the restore script +### - And the section "SETUP SYSTEMD" in the upgrade script + +# Create a dedicated systemd config +#ynh_add_systemd_config + +#================================================= +# SETUP APPLICATION WITH CURL +#================================================= + +### Use these lines only if the app installation needs to be finalized through +### web forms. We generally don't want to ask the final user, +### so we're going to use curl to automatically fill the fields and submit the +### forms. + +# Set right permissions for curl install +#chown -R $app: $final_path + +# Set the app as temporarily public for curl call +#ynh_script_progression --message="Configuring SSOwat..." --time --weight=1 +#ynh_app_setting_set --app=$app --key=skipped_uris --value="/" +# Reload SSOwat config +#yunohost app ssowatconf + +# Reload Nginx +#ynh_systemd_action --service_name=nginx --action=reload + +# Installation with curl +#ynh_script_progression --message="Finalizing installation..." --time --weight=1 +#ynh_local_curl "/INSTALL_PATH" "key1=value1" "key2=value2" "key3=value3" + +# Remove the public access +#if [ $is_public -eq 0 ] +#then +# ynh_app_setting_delete --app=$app --key=skipped_uris +#fi + +#================================================= +# MODIFY A CONFIG FILE +#================================================= + +### `ynh_replace_string` is used to replace a string in a file. +### (It's compatible with sed regular expressions syntax) + +#ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/CONFIG_FILE" + +#================================================= +# STORE THE CONFIG FILE CHECKSUM +#================================================= + +### `ynh_store_file_checksum` is used to store the checksum of a file. +### That way, during the upgrade script, by using `ynh_backup_if_checksum_is_different`, +### you can make a backup of this file before modifying it again if the admin had modified it. + +# Calculate and store the config file checksum into the app settings +ynh_store_file_checksum --file="$final_path/CONFIG_FILE" + +#================================================= +# GENERIC FINALIZATION +#================================================= +# SECURE FILES AND DIRECTORIES +#================================================= + +### For security reason, any app should set the permissions to root: before anything else. +### Then, if write authorization is needed, any access should be given only to directories +### that really need such authorization. + +# Set permissions to app files +chown -R root: $final_path + +#================================================= +# SETUP LOGROTATE +#================================================= +#ynh_script_progression --message="Configuring log rotation..." --time --weight=1 + +### `ynh_use_logrotate` is used to configure a logrotate configuration for the logs of this app. +### Use this helper only if there is effectively a log file for this app. +### If you're not using this helper: +### - Remove the section "BACKUP LOGROTATE" in the backup script +### - Remove also the section "REMOVE LOGROTATE CONFIGURATION" in the remove script +### - As well as the section "RESTORE THE LOGROTATE CONFIGURATION" in the restore script +### - And the section "SETUP LOGROTATE" in the upgrade script + +# Use logrotate to manage application logfile(s) +#ynh_use_logrotate + +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +#================================================= + +### `yunohost service add` integrates a service in YunoHost. It then gets +### displayed in the admin interface and through the others `yunohost service` commands. +### (N.B. : this line only makes sense if the app adds a service to the system!) +### If you're not using these lines: +### - You can remove these files in conf/. +### - Remove the section "REMOVE SERVICE FROM ADMIN PANEL" in the remove script +### - As well as the section "ADVERTISE SERVICE IN ADMIN PANEL" in the restore script + +#yunohost service add $app --description "A short description of the app" --log "/var/log/$app/$app.log" + +### With YunoHost 3.8 you will then be able to: +### - specify a list of ports that needs to be publicly exposed (c.f. --needs_exposed_ports) +### which will then be checked by YunoHost's diagnosis system +### - specify a custom command to check the status of the service (c.f. --test_status) +### though it's only needed for weird cases where 'systemctl status' doesn't do a good job +### - specify a custom command to check / validate the configuration of the service (c.f. --test_conf) +### for example, the command to check the configuration of nginx is "nginx -t" + +#================================================= +# START SYSTEMD SERVICE +#================================================= +#ynh_script_progression --message="Starting a systemd service..." --time --weight=1 + +### `ynh_systemd_action` is used to start a systemd service for an app. +### Only needed if you have configure a systemd service +### If you're not using these lines: +### - Remove the section "STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the backup script +### - As well as the section "START SYSTEMD SERVICE" in the restore script +### - As well as the section"STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the upgrade script +### - And the section "STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the change_url script + +# Start a systemd service +#ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" + +#================================================= +# SETUP FAIL2BAN +#================================================= +#ynh_script_progression --message="Configuring fail2ban..." --time --weight=1 + +# Create a dedicated fail2ban config +#ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" + +#================================================= +# SETUP SSOWAT +#================================================= +ynh_script_progression --message="Configuring SSOwat..." --time --weight=1 + +# Make app public if necessary +if [ $is_public -eq 1 ] +then + # unprotected_uris allows SSO credentials to be passed anyway. + ynh_app_setting_set --app=$app --key=unprotected_uris --value="/" +fi + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Installation of $app completed" --time --last diff --git a/scripts/remove b/scripts/remove new file mode 100644 index 0000000..5491ccb --- /dev/null +++ b/scripts/remove @@ -0,0 +1,141 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." --time --weight=1 + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +#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) + +#================================================= +# STANDARD REMOVE +#================================================= +# REMOVE SERVICE INTEGRATION IN YUNOHOST +#================================================= + +# Remove the service from the list of services known by Yunohost (added from `yunohost service add`) +#if ynh_exec_warn_less yunohost service status $app >/dev/null +#then +# ynh_script_progression --message="Removing $app service..." --time --weight=1 +# yunohost service remove $app +#fi + +#================================================= +# STOP AND REMOVE SERVICE +#================================================= +#ynh_script_progression --message="Stopping and removing the systemd service..." --time --weight=1 + +# Remove the dedicated systemd config +#ynh_remove_systemd_config + +#================================================= +# REMOVE THE MYSQL DATABASE +#================================================= +#ynh_script_progression --message="Removing the MySQL database..." --time --weight=1 + +# Remove a database if it exists, along with the associated user +#ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name + +#================================================= +# REMOVE DEPENDENCIES +#================================================= +ynh_script_progression --message="Removing dependencies..." --time --weight=1 + +# Remove metapackage and its dependencies +ynh_remove_app_dependencies + +#================================================= +# REMOVE APP MAIN DIR +#================================================= +ynh_script_progression --message="Removing app main directory..." --time --weight=1 + +# Remove the app directory securely +ynh_secure_remove --file="$final_path" + +#================================================= +# REMOVE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Removing nginx web server configuration..." --time --weight=1 + +# Remove the dedicated nginx config +ynh_remove_nginx_config + +#================================================= +# REMOVE PHP-FPM CONFIGURATION +#================================================= +#ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 + +# Remove the dedicated php-fpm config +#ynh_remove_fpm_config + +#================================================= +# REMOVE LOGROTATE CONFIGURATION +#================================================= +#ynh_script_progression --message="Removing logrotate configuration..." --time --weight=1 + +# Remove the app-specific logrotate config +#ynh_remove_logrotate + +#================================================= +# CLOSE A PORT +#================================================= + +#if yunohost firewall list | grep -q "\- $port$" +#then +# ynh_script_progression --message="Closing port $port..." +# ynh_exec_warn_less yunohost firewall disallow TCP $port +#fi + +#================================================= +# REMOVE FAIL2BAN CONFIGURATION +#================================================= +#ynh_script_progression --message="Removing fail2ban configuration..." --time --weight=1 + +# Remove the dedicated fail2ban config +#ynh_remove_fail2ban_config + +#================================================= +# SPECIFIC REMOVE +#================================================= +# REMOVE THE CRON FILE +#================================================= + +# Remove a cron file +#ynh_secure_remove --file="/etc/cron.d/$app" + +# Remove a directory securely +#ynh_secure_remove --file="/etc/$app/" + +# Remove the log files +#ynh_secure_remove --file="/var/log/$app/" + +#================================================= +# GENERIC FINALIZATION +#================================================= +# REMOVE DEDICATED USER +#================================================= +#ynh_script_progression --message="Removing the dedicated system user..." --time --weight=1 + +# Delete a system user +#ynh_system_user_delete --username=$app + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Removal of $app completed" --time --last diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..ffeaa2d --- /dev/null +++ b/scripts/restore @@ -0,0 +1,158 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +#Keep this path for calling _common.sh inside the execution's context of backup and restore scripts +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + #### Remove this function if there's nothing to clean before calling the remove script. + true +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading settings..." --time --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) +#db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#db_user=$db_name + +#================================================= +# CHECK IF THE APP CAN BE RESTORED +#================================================= +ynh_script_progression --message="Validating restoration parameters..." --time --weight=1 + +ynh_webpath_available --domain=$domain --path_url=$path_url \ + || ynh_die --message="Path not available: ${domain}${path_url}" +test ! -d $final_path \ + || ynh_die --message="There is already a directory: $final_path " + +#================================================= +# STANDARD RESTORATION STEPS +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= + +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..." --time --weight=1 + +ynh_restore_file --origin_path="$final_path" + +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app + +#================================================= +# RESTORE USER RIGHTS +#================================================= + +# Restore permissions on app files +chown -R root: $final_path + +#================================================= +# RESTORE THE PHP-FPM CONFIGURATION +#================================================= + +#ynh_restore_file --origin_path="/etc/php/7.0/fpm/pool.d/$app.conf" + +#================================================= +# RESTORE FAIL2BAN CONFIGURATION +#================================================= +#ynh_script_progression --message="Restoring the fail2ban configuration..." --time --weight=1 + +#ynh_restore_file "/etc/fail2ban/jail.d/$app.conf" +#ynh_restore_file "/etc/fail2ban/filter.d/$app.conf" +#ynh_systemd_action --action=restart --service_name=fail2ban + +#================================================= +# SPECIFIC RESTORATION +#================================================= +# REINSTALL DEPENDENCIES +#================================================= +ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 + +# Define and install dependencies +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# RESTORE THE MYSQL DATABASE +#================================================= +#ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1 + +#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 + +#================================================= +# RESTORE SYSTEMD +#================================================= +ynh_script_progression --message="Restoring the systemd configuration..." --time --weight=1 + +ynh_restore_file --origin_path="/etc/systemd/system/$app.service" +systemctl enable $app.service + +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +#================================================= + +yunohost service add $app --description "A short description of the app" --log "/var/log/$app/$app.log" + +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." --time --weight=1 + +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" + +#================================================= +# RESTORE THE CRON FILE +#================================================= + +ynh_restore_file --origin_path="/etc/cron.d/$app" + +#================================================= +# RESTORE THE LOGROTATE CONFIGURATION +#================================================= + +#ynh_restore_file --origin_path="/etc/logrotate.d/$app" + +#================================================= +# GENERIC FINALIZATION +#================================================= +# RELOAD NGINX AND PHP-FPM +#================================================= +ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 + +ynh_systemd_action --service_name=php7.0-fpm --action=reload +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Restoration completed for $app" --time --last diff --git a/scripts/upgrade b/scripts/upgrade new file mode 100644 index 0000000..fb96aa8 --- /dev/null +++ b/scripts/upgrade @@ -0,0 +1,222 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." --time --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) +#admin=$(ynh_app_setting_get --app=$app --key=admin) +is_public=$(ynh_app_setting_get --app=$app --key=is_public) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +#language=$(ynh_app_setting_get --app=$app --key=language) +#db_name=$(ynh_app_setting_get --app=$app --key=db_name) + +#================================================= +# CHECK VERSION +#================================================= + +### This helper will compare the version of the currently installed app and the version of the upstream package. +### $upgrade_type can have 2 different values +### - UPGRADE_APP if the upstream app version has changed +### - UPGRADE_PACKAGE if only the YunoHost package has changed +### ynh_check_app_version_changed will stop the upgrade if the app is up to date. +### UPGRADE_APP should be used to upgrade the core app only if there's an upgrade to do. +upgrade_type=$(ynh_check_app_version_changed) + +#================================================= +# ENSURE DOWNWARD COMPATIBILITY +#================================================= +ynh_script_progression --message="Ensuring downward compatibility..." --time --weight=1 + +# Fix is_public as a boolean value +if [ "$is_public" = "Yes" ]; then + ynh_app_setting_set --app=$app --key=is_public --value=1 + is_public=1 +elif [ "$is_public" = "No" ]; then + ynh_app_setting_set --app=$app --key=is_public --value=0 + is_public=0 +fi + +# If db_name doesn't exist, create it +#if [ -z "$db_name" ]; then +# db_name=$(ynh_sanitize_dbid --db_name=$app) +# ynh_app_setting_set --app=$app --key=db_name --value=$db_name +#fi + +# If final_path doesn't exist, create it +if [ -z "$final_path" ]; then + final_path=/var/www/$app + ynh_app_setting_set --app=$app --key=final_path --value=$final_path +fi + +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --time --weight=1 + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# CHECK THE PATH +#================================================= + +# Normalize the URL path syntax +# N.B. : this is for app installations before YunoHost 2.7 +# where this value might be something like /foo/ or foo/ +# instead of /foo .... +# If nobody installed your app before 2.7, then you may +# safely remove this line +path_url=$(ynh_normalize_url_path --path_url=$path_url) + +#================================================= +# STANDARD UPGRADE STEPS +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 + +ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" + +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= + +if [ "$upgrade_type" == "UPGRADE_APP" ] +then + ynh_script_progression --message="Upgrading source files..." --time --weight=1 + + # Download, check integrity, uncompress and patch the source from app.src + ynh_setup_source --dest_dir="$final_path" +fi + +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Upgrading nginx web server configuration..." --time --weight=1 + +# Create a dedicated nginx config +ynh_add_nginx_config + +#================================================= +# UPGRADE DEPENDENCIES +#================================================= +ynh_script_progression --message="Upgrading dependencies..." --time --weight=1 + +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Making sure dedicated system user exists..." --time --weight=1 + +# Create a dedicated user (if not existing) +ynh_system_user_create --username=$app + +#================================================= +# PHP-FPM CONFIGURATION +#================================================= +#ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 + +# Create a dedicated php-fpm config +#ynh_add_fpm_config + +#================================================= +# SPECIFIC UPGRADE +#================================================= +# ... +#================================================= + +#================================================= +# STORE THE CONFIG FILE CHECKSUM +#================================================= + +### Verify the checksum of a file, stored by `ynh_store_file_checksum` in the install script. +### And create a backup of this file if the checksum is different. So the file will be backed up if the admin had modified it. +ynh_backup_if_checksum_is_different --file="$final_path/CONFIG_FILE" +# Recalculate and store the checksum of the file for the next upgrade. +ynh_store_file_checksum --file="$final_path/CONFIG_FILE" + +#================================================= +# SETUP LOGROTATE +#================================================= +#ynh_script_progression --message="Upgrading logrotate configuration..." --time --weight=1 + +# Use logrotate to manage app-specific logfile(s) +#ynh_use_logrotate --non-append + +#================================================= +# SETUP SYSTEMD +#================================================= +ynh_script_progression --message="Upgrading systemd configuration..." --time --weight=1 + +# Create a dedicated systemd config +ynh_add_systemd_config + +#================================================= +# GENERIC FINALIZATION +#================================================= +# UPGRADE FAIL2BAN +#================================================= +#ynh_script_progression --message="Reconfiguring fail2ban..." --time --weight=1 + +# Create a dedicated fail2ban config +#ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" + +#================================================= +# SECURE FILES AND DIRECTORIES +#================================================= + +# Set permissions on app files +chown -R root: $final_path + +#================================================= +# SETUP SSOWAT +#================================================= +ynh_script_progression --message="Upgrading SSOwat configuration..." --time --weight=1 + +# Make app public if necessary +if [ $is_public -eq 1 ] +then + # unprotected_uris allows SSO credentials to be passed anyway + ynh_app_setting_set --app=$app --key=unprotected_uris --value="/" +fi + +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." --time --weight=1 + +ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Upgrade of $app completed" --time --last From 5a16a7239fbe2c2414ab82b32a8b0a434be5e00f Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 11:38:39 +0200 Subject: [PATCH 006/107] comment php-fpm --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index f2277ea..a237c1f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -18,7 +18,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/php7.0-fpm-__NAME__.sock; fastcgi_index index.php; include fastcgi_params; From 200cf9c7549f496945dd09d7cebbb7f9146d5ef4 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 11:44:14 +0200 Subject: [PATCH 007/107] comment systemd service --- scripts/backup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/backup b/scripts/backup index e8c2560..c641ad9 100644 --- a/scripts/backup +++ b/scripts/backup @@ -102,9 +102,9 @@ ynh_backup --src_path="/etc/systemd/system/$app.service" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +#ynh_script_progression --message="Starting a systemd service..." --time --weight=1 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +#ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" #================================================= # END OF SCRIPT From 3b7206064045bdf546acd4936352014e6b711b1c Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 11:45:42 +0200 Subject: [PATCH 008/107] comment systemd --- scripts/change_url | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/change_url b/scripts/change_url index 3f21bc8..866e139 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -72,9 +72,9 @@ fi #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 +#ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" +#ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # MODIFY URL IN NGINX CONF @@ -116,9 +116,9 @@ fi #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +#ynh_script_progression --message="Starting a systemd service..." --time --weight=1 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +#ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" #================================================= # RELOAD NGINX From 78c7aa823cc305f9f8d18dbf159ba2e6dd7c910f Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 11:46:24 +0200 Subject: [PATCH 009/107] comment systemd service --- scripts/backup | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/backup b/scripts/backup index c641ad9..035e18f 100644 --- a/scripts/backup +++ b/scripts/backup @@ -37,9 +37,9 @@ domain=$(ynh_app_setting_get --app=$app --key=domain) #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 +#ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" +#ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # BACKUP THE APP MAIN DIR @@ -89,9 +89,9 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # BACKUP SYSTEMD #================================================= -ynh_script_progression --message="Backing up systemd configuration..." --time --weight=1 +#ynh_script_progression --message="Backing up systemd configuration..." --time --weight=1 -ynh_backup --src_path="/etc/systemd/system/$app.service" +#ynh_backup --src_path="/etc/systemd/system/$app.service" #================================================= # BACKUP A CRON FILE From d59e9da4db3ed3fe2bbe194579d17db19549065b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 11:48:43 +0200 Subject: [PATCH 010/107] comment cron systemd dedicated user --- scripts/restore | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/restore b/scripts/restore index ffeaa2d..26688c5 100644 --- a/scripts/restore +++ b/scripts/restore @@ -62,10 +62,10 @@ ynh_restore_file --origin_path="$final_path" #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 +#ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 # Create the dedicated user (if not existing) -ynh_system_user_create --username=$app +#ynh_system_user_create --username=$app #================================================= # RESTORE USER RIGHTS @@ -111,10 +111,10 @@ ynh_install_app_dependencies $pkg_dependencies #================================================= # RESTORE SYSTEMD #================================================= -ynh_script_progression --message="Restoring the systemd configuration..." --time --weight=1 +#ynh_script_progression --message="Restoring the systemd configuration..." --time --weight=1 -ynh_restore_file --origin_path="/etc/systemd/system/$app.service" -systemctl enable $app.service +#ynh_restore_file --origin_path="/etc/systemd/system/$app.service" +#systemctl enable $app.service #================================================= # INTEGRATE SERVICE IN YUNOHOST @@ -125,15 +125,15 @@ yunohost service add $app --description "A short description of the app" --log " #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +#ynh_script_progression --message="Starting a systemd service..." --time --weight=1 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +#ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" #================================================= # RESTORE THE CRON FILE #================================================= -ynh_restore_file --origin_path="/etc/cron.d/$app" +#ynh_restore_file --origin_path="/etc/cron.d/$app" #================================================= # RESTORE THE LOGROTATE CONFIGURATION From af2833ce7a8dec6c841feac8e12da09d6e528829 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 11:49:49 +0200 Subject: [PATCH 011/107] comment systemd dedicated user --- scripts/upgrade | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index fb96aa8..cc8134e 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -93,9 +93,9 @@ path_url=$(ynh_normalize_url_path --path_url=$path_url) #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 +#ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" +#ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -127,10 +127,10 @@ ynh_install_app_dependencies $pkg_dependencies #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." --time --weight=1 +#ynh_script_progression --message="Making sure dedicated system user exists..." --time --weight=1 # Create a dedicated user (if not existing) -ynh_system_user_create --username=$app +#ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION @@ -167,10 +167,10 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= # SETUP SYSTEMD #================================================= -ynh_script_progression --message="Upgrading systemd configuration..." --time --weight=1 +#ynh_script_progression --message="Upgrading systemd configuration..." --time --weight=1 # Create a dedicated systemd config -ynh_add_systemd_config +#ynh_add_systemd_config #================================================= # GENERIC FINALIZATION @@ -204,9 +204,9 @@ fi #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 +#ynh_script_progression --message="Starting a systemd service..." --time --weight=1 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +#ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" #================================================= # RELOAD NGINX From 5724dd46e57f3bc799e56ca4784dff7841557340 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:04:08 +0200 Subject: [PATCH 012/107] comment dependencies --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 919a7f3..3e82e3c 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -5,7 +5,7 @@ #================================================= # dependencies used by the app -pkg_dependencies="php7.0-zip" +#pkg_dependencies="php7.0-zip deb1 deb2" #================================================= # PERSONAL HELPERS From 62e3b91012fb284ec7c41f6090722c507437abc3 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:05:55 +0200 Subject: [PATCH 013/107] comment dependencies --- scripts/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index b4e7843..ed4f061 100644 --- a/scripts/install +++ b/scripts/install @@ -101,7 +101,7 @@ ynh_app_setting_set --app=$app --key=is_public --value=$is_public #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." --time --weight=1 +#ynh_script_progression --message="Installing dependencies..." --time --weight=1 ### `ynh_install_app_dependencies` allows you to add any "apt" dependencies to the package. ### Those deb packages will be installed as dependencies of this package. @@ -111,7 +111,7 @@ ynh_script_progression --message="Installing dependencies..." --time --weight=1 ### - As well as the section "REINSTALL DEPENDENCIES" in the restore script ### - And the section "UPGRADE DEPENDENCIES" in the upgrade script -ynh_install_app_dependencies $pkg_dependencies +#ynh_install_app_dependencies $pkg_dependencies #================================================= # CREATE A MYSQL DATABASE From 45550505b655e717a558b685831df0ea9b8843ad Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:06:22 +0200 Subject: [PATCH 014/107] comment dependencies --- scripts/remove | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index 5491ccb..71b5703 100644 --- a/scripts/remove +++ b/scripts/remove @@ -54,10 +54,10 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= # REMOVE DEPENDENCIES #================================================= -ynh_script_progression --message="Removing dependencies..." --time --weight=1 +#ynh_script_progression --message="Removing dependencies..." --time --weight=1 # Remove metapackage and its dependencies -ynh_remove_app_dependencies +#ynh_remove_app_dependencies #================================================= # REMOVE APP MAIN DIR From 89b4c8d093298e6534e98cc9b7fb51408c78800a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:07:26 +0200 Subject: [PATCH 015/107] commen tdependencies reload php-fpm --- scripts/restore | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/restore b/scripts/restore index 26688c5..6a47798 100644 --- a/scripts/restore +++ b/scripts/restore @@ -94,10 +94,10 @@ chown -R root: $final_path #================================================= # REINSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 +#ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 # Define and install dependencies -ynh_install_app_dependencies $pkg_dependencies +#ynh_install_app_dependencies $pkg_dependencies #================================================= # RESTORE THE MYSQL DATABASE @@ -146,9 +146,10 @@ yunohost service add $app --description "A short description of the app" --log " #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 +#ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 -ynh_systemd_action --service_name=php7.0-fpm --action=reload +#ynh_systemd_action --service_name=php7.0-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= From 0216fc7861ad5fdec85550b91f9212ce13a2e783 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:08:08 +0200 Subject: [PATCH 016/107] comment dependencies --- scripts/upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index cc8134e..7e6bcd6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -120,9 +120,9 @@ ynh_add_nginx_config #================================================= # UPGRADE DEPENDENCIES #================================================= -ynh_script_progression --message="Upgrading dependencies..." --time --weight=1 +#ynh_script_progression --message="Upgrading dependencies..." --time --weight=1 -ynh_install_app_dependencies $pkg_dependencies +#ynh_install_app_dependencies $pkg_dependencies #================================================= # CREATE DEDICATED USER From ab331a60470607ba255f38bbb03e5aea1ab25df5 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:14:06 +0200 Subject: [PATCH 017/107] add chown user final_path --- scripts/install | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/install b/scripts/install index ed4f061..6c1102c 100644 --- a/scripts/install +++ b/scripts/install @@ -268,6 +268,8 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" ### Then, if write authorization is needed, any access should be given only to directories ### that really need such authorization. +chown -R $user: "$final_path" + # Set permissions to app files chown -R root: $final_path From fdcf419c97c78f0fee336ef7a8fe5b9546568a53 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:19:18 +0200 Subject: [PATCH 018/107] source 9.2.27 tar.gz --- conf/app.scr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index 8a63d3d..2255095 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ -SOURCE_URL=https://zwiicms.com/public/archive/ZwiiCMS-9228.zip -SOURCE_SUM=17bd792fa958fbaa4ea54dab9303d17db953613d1d0373c2940b0e325016954f +SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.tar.gz +SOURCE_SUM=ced54cb54cf8a2315ad9889c52e730357463282a11f9937af52a1a52f51672a4 SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=zip +SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 4c8feaf12e17f488c964ef82bddaf7758900244a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:21:47 +0200 Subject: [PATCH 019/107] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 384b5ac..017651f 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Overview Quick description of this app. -Shipped version: 9.2.28 +Shipped version: 9.2.27 Screenshots ![](Link to an screenshot for this app) From ebcca6b9079961bb86ff9f365af6aaeb99b9298c Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:23:26 +0200 Subject: [PATCH 020/107] Update app.scr --- conf/app.scr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index 2255095..f9c49d0 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.tar.gz -SOURCE_SUM=ced54cb54cf8a2315ad9889c52e730357463282a11f9937af52a1a52f51672a4 -SOURCE_SUM_PRG=sha256sum +SOURCE_SUM= +SOURCE_SUM_PRG= SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From a5b841e9934ad80bfc74ec6632bfd04bcda2786f Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:24:23 +0200 Subject: [PATCH 021/107] Update app.scr --- conf/app.scr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index f9c49d0..2255095 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.tar.gz -SOURCE_SUM= -SOURCE_SUM_PRG= +SOURCE_SUM=ced54cb54cf8a2315ad9889c52e730357463282a11f9937af52a1a52f51672a4 +SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 9497193050b9127cd6eeb36db49461b7026201d7 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:25:45 +0200 Subject: [PATCH 022/107] Update nginx.conf --- conf/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index a237c1f..5c843f8 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -10,12 +10,12 @@ location __PATH__/ { } ### Example PHP configuration (remove it if not used) - index index.php; + index index.html; index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file #client_max_body_size 50M; - try_files $uri $uri/ index.php; + try_files $uri $uri/ index.html; index.php; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; #fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; From e44139f8ea877a56adf35907dd7012873b03a7b4 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:27:47 +0200 Subject: [PATCH 023/107] Update nginx.conf --- conf/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 5c843f8..a237c1f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -10,12 +10,12 @@ location __PATH__/ { } ### Example PHP configuration (remove it if not used) - index index.html; index.php; + index index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file #client_max_body_size 50M; - try_files $uri $uri/ index.html; index.php; + try_files $uri $uri/ index.php; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; #fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; From be4751e3c9b57fe9526e11cf691e1c18842ed71d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:28:41 +0200 Subject: [PATCH 024/107] Update install --- scripts/install | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/install b/scripts/install index 6c1102c..ed4f061 100644 --- a/scripts/install +++ b/scripts/install @@ -268,8 +268,6 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" ### Then, if write authorization is needed, any access should be given only to directories ### that really need such authorization. -chown -R $user: "$final_path" - # Set permissions to app files chown -R root: $final_path From 2cf520a2b63a2a9f576b7f90b5c5001560205d5d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:34:26 +0200 Subject: [PATCH 025/107] Update app.scr --- conf/app.scr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index 2255095..8a63d3d 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ -SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.tar.gz -SOURCE_SUM=ced54cb54cf8a2315ad9889c52e730357463282a11f9937af52a1a52f51672a4 +SOURCE_URL=https://zwiicms.com/public/archive/ZwiiCMS-9228.zip +SOURCE_SUM=17bd792fa958fbaa4ea54dab9303d17db953613d1d0373c2940b0e325016954f SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=tar.gz +SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 30097bb151e98fa6d414da77ee637fadecd0626f Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 12:41:30 +0200 Subject: [PATCH 026/107] Update nginx.conf --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index a237c1f..7bfadfb 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -2,7 +2,7 @@ location __PATH__/ { # Path to source - alias __FINALPATH__/ ; + alias __FINALPATH__/www/ ; # Force usage of https if ($scheme = http) { From b06ad4b1a80f3e08366db3f3bd3cee6d17206412 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 14:39:17 +0200 Subject: [PATCH 027/107] Update nginx.conf --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 7bfadfb..a237c1f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -2,7 +2,7 @@ location __PATH__/ { # Path to source - alias __FINALPATH__/www/ ; + alias __FINALPATH__/ ; # Force usage of https if ($scheme = http) { From 9b970c7b0f4008f412e09071a9a25bf2592d66e0 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 14:41:52 +0200 Subject: [PATCH 028/107] Update nginx.conf --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index a237c1f..5b210e5 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -13,7 +13,7 @@ location __PATH__/ { index index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file - #client_max_body_size 50M; + client_max_body_size 50M; try_files $uri $uri/ index.php; location ~ [^/]\.php(/|$) { From caf9d9a20be9ea4d3ff838604bd02283527c5e10 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 14:43:25 +0200 Subject: [PATCH 029/107] Update app.scr --- conf/app.scr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.scr b/conf/app.scr index 8a63d3d..f421db0 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -2,5 +2,5 @@ SOURCE_URL=https://zwiicms.com/public/archive/ZwiiCMS-9228.zip SOURCE_SUM=17bd792fa958fbaa4ea54dab9303d17db953613d1d0373c2940b0e325016954f SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=true +SOURCE_IN_SUBDIR=false SOURCE_FILENAME= From f51ae6daba74055fe1501acef6e001bca46562f5 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 14:48:25 +0200 Subject: [PATCH 030/107] comment ssowat --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 5b210e5..7bff739 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -29,5 +29,5 @@ location __PATH__/ { ### End of PHP configuration part # Include SSOWAT user panel. - include conf.d/yunohost_panel.conf.inc; + #include conf.d/yunohost_panel.conf.inc; } From 50565328d42e44450a0d3b71d270569ec5665102 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 14:53:21 +0200 Subject: [PATCH 031/107] Update nginx.conf --- conf/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 7bff739..a237c1f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -13,7 +13,7 @@ location __PATH__/ { index index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file - client_max_body_size 50M; + #client_max_body_size 50M; try_files $uri $uri/ index.php; location ~ [^/]\.php(/|$) { @@ -29,5 +29,5 @@ location __PATH__/ { ### End of PHP configuration part # Include SSOWAT user panel. - #include conf.d/yunohost_panel.conf.inc; + include conf.d/yunohost_panel.conf.inc; } From 2ed6d2e645e739ea3cbc8043420b23cacb4dfc16 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 14:55:14 +0200 Subject: [PATCH 032/107] Update nginx.conf --- conf/nginx.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/nginx.conf b/conf/nginx.conf index a237c1f..7ccf550 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,4 +1,8 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; +location @handler { + rewrite ^/(.*)$ __PATH__/index.php?^$1 last; +} + location __PATH__/ { # Path to source From 3155f0c6e2db99fc4a39fb06cc6f09cdd2aabdf3 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 14:56:41 +0200 Subject: [PATCH 033/107] Update app.scr --- conf/app.scr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index f421db0..83ef37d 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ SOURCE_URL=https://zwiicms.com/public/archive/ZwiiCMS-9228.zip -SOURCE_SUM=17bd792fa958fbaa4ea54dab9303d17db953613d1d0373c2940b0e325016954f -SOURCE_SUM_PRG=sha256sum +SOURCE_SUM= +SOURCE_SUM_PRG= SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=false SOURCE_FILENAME= From 5f575d8c28169c53a54886bd9d6556bdd2828cdc Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 15:01:56 +0200 Subject: [PATCH 034/107] Update app.scr --- conf/app.scr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index 83ef37d..8a63d3d 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ SOURCE_URL=https://zwiicms.com/public/archive/ZwiiCMS-9228.zip -SOURCE_SUM= -SOURCE_SUM_PRG= +SOURCE_SUM=17bd792fa958fbaa4ea54dab9303d17db953613d1d0373c2940b0e325016954f +SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=false +SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 7ee62fb390d31f6f7f7bc3fc52c1c82a5bcf5556 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 15:11:25 +0200 Subject: [PATCH 035/107] Update app.scr --- conf/app.scr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index 8a63d3d..2255095 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ -SOURCE_URL=https://zwiicms.com/public/archive/ZwiiCMS-9228.zip -SOURCE_SUM=17bd792fa958fbaa4ea54dab9303d17db953613d1d0373c2940b0e325016954f +SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.tar.gz +SOURCE_SUM=ced54cb54cf8a2315ad9889c52e730357463282a11f9937af52a1a52f51672a4 SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=zip +SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 0b787c31d746b3d5191e87335195a95581c4e66f Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 15:13:25 +0200 Subject: [PATCH 036/107] Update app.scr --- conf/app.scr | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/app.scr b/conf/app.scr index 2255095..b55955e 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.tar.gz -SOURCE_SUM=ced54cb54cf8a2315ad9889c52e730357463282a11f9937af52a1a52f51672a4 +SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.zip +SOURCE_SUM=49d245c53f0613b5a6929c976729c0f05cd72c8611a0525b73fbf3c8b0ccf3d1 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true From 930fb95717a8ddec84578fb8fb4f4623e469a6ad Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 15:14:28 +0200 Subject: [PATCH 037/107] Update app.scr --- conf/app.scr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.scr b/conf/app.scr index b55955e..19d2d16 100644 --- a/conf/app.scr +++ b/conf/app.scr @@ -1,6 +1,6 @@ SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.zip SOURCE_SUM=49d245c53f0613b5a6929c976729c0f05cd72c8611a0525b73fbf3c8b0ccf3d1 SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=tar.gz +SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 57f2c6efa1d70e925bceb21086ce5570a8708813 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 15:54:51 +0200 Subject: [PATCH 038/107] Create src --- conf/src | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 conf/src diff --git a/conf/src b/conf/src new file mode 100644 index 0000000..19d2d16 --- /dev/null +++ b/conf/src @@ -0,0 +1,6 @@ +SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.zip +SOURCE_SUM=49d245c53f0613b5a6929c976729c0f05cd72c8611a0525b73fbf3c8b0ccf3d1 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=zip +SOURCE_IN_SUBDIR=true +SOURCE_FILENAME= From 0835e92abe149ddc39fd04898bff3c262c46c9b1 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 15:55:08 +0200 Subject: [PATCH 039/107] Delete app.scr --- conf/app.scr | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 conf/app.scr diff --git a/conf/app.scr b/conf/app.scr deleted file mode 100644 index 19d2d16..0000000 --- a/conf/app.scr +++ /dev/null @@ -1,6 +0,0 @@ -SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.zip -SOURCE_SUM=49d245c53f0613b5a6929c976729c0f05cd72c8611a0525b73fbf3c8b0ccf3d1 -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= From 138b4fb23503394ceb9ca48334e0fa121449f972 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 15:55:25 +0200 Subject: [PATCH 040/107] Update and rename src to app.src --- conf/{src => app.src} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename conf/{src => app.src} (100%) diff --git a/conf/src b/conf/app.src similarity index 100% rename from conf/src rename to conf/app.src From 46c7ec9e76a6d01ff7fc1b436150274037926c2c Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 16:11:03 +0200 Subject: [PATCH 041/107] Update nginx.conf --- conf/nginx.conf | 4 ---- 1 file changed, 4 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 7ccf550..a237c1f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,8 +1,4 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; -location @handler { - rewrite ^/(.*)$ __PATH__/index.php?^$1 last; -} - location __PATH__/ { # Path to source From d1f9c067cb329465a7b0e27627311ab516ce5210 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 16:45:25 +0200 Subject: [PATCH 042/107] Update README.md --- README.md | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 017651f..bb49c16 100644 --- a/README.md +++ b/README.md @@ -8,38 +8,45 @@ Usage of this package (REMOVE THIS SECTION BEFORE RELEASE) Add a LICENSE file for the package. Edit README.md and README_fr.md. -Example app for YunoHost +# ZwiiCMS for YunoHost + Integration level Install ZwiiCMS with YunoHost Lire ce readme en français. - This package allow you to install REPLACEBYYOURAPP quickly and simply on a YunoHost server. - If you don't have YunoHost, please see here to know how to install and enjoy it. - + > *This package allow you to install ZwiiCMS quickly and simply on a YunoHost server. +If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* + Overview -Quick description of this app. +[ZwiiCMS](https://zwiicms.com) Zwii - the simple, lightweight, database-free (Flat-File), scalable and responsive CMS! +A CMS to easily create and manage your website without any programming knowledge. + Shipped version: 9.2.27 -Screenshots -![](Link to an screenshot for this app) -Demo +## Screenshots + +![Official demo](Link to a demo site for this app) + +## Demo [Official demo](Link to a demo site for this app) -Configuration +## Configuration How to configure this app: by an admin panel, a plain file with SSH, or any other way. -Documentation + +## Documentation Official documentation: Link to the official documentation of this app YunoHost documentation: If specific documentation is needed, feel free to contribute. YunoHost specific features -Multi-users support + +## Multi-users support Are LDAP and HTTP auth supported? Can the app be used by multiple users? Supported architectures @@ -47,11 +54,11 @@ Supported architectures x86-64b - Build Status ARMv8-A - Build Status -Limitations +## Limitations Any known limitations. -Additional information +## Additional information Other information you would add about this application @@ -59,17 +66,20 @@ More information on the documentation page: https://yunohost.org/packaging_apps Links - Report a bug: https://github.com/YunoHost-Apps/zwiicms_ynh/issues + Report a bug: https://github.com/USER/zwiicms_ynh/issues App website: Link to the official website of this app Upstream app repository: Link to the official repository of the upstream app YunoHost website: https://yunohost.org/ +--- + 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. +Only if you want to use a alpha branch for coding, instead of merging directly into master. Please do your pull request to the alpha branch. -To try the testing branch, please proceed like that. +To try the alpha branch, please proceed like that. -sudo yunohost app install https://github.com/YunoHost-Apps/zwiicms_ynh/tree/testing --debug +sudo yunohost app install https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug or -sudo yunohost app upgrade REPLACEBYYOURAPP -u https://github.com/YunoHost-Apps/zwiicms_ynh/tree/testing - +sudo yunohost app upgrade zwiicms -u https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug From e5b9578dc5f2a63d338e27bb45653cdd708711e2 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 16:47:31 +0200 Subject: [PATCH 043/107] Update README.md --- README.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index bb49c16..49c8db8 100644 --- a/README.md +++ b/README.md @@ -10,18 +10,17 @@ Usage of this package (REMOVE THIS SECTION BEFORE RELEASE) # ZwiiCMS for YunoHost - -Integration level -Install ZwiiCMS with YunoHost + Integration level + Install ZwiiCMS with YunoHost Lire ce readme en français. - > *This package allow you to install ZwiiCMS quickly and simply on a YunoHost server. + > *This package allow you to install ZwiiCMS quickly and simply on a YunoHost server.* If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* Overview -[ZwiiCMS](https://zwiicms.com) Zwii - the simple, lightweight, database-free (Flat-File), scalable and responsive CMS! +[ZwiiCMS](https://zwiicms.com) - the simple, lightweight, database-free (Flat-File), scalable and responsive CMS! A CMS to easily create and manage your website without any programming knowledge. @@ -29,7 +28,7 @@ Shipped version: 9.2.27 ## Screenshots -![Official demo](Link to a demo site for this app) + ![Official demo](Link to a demo site for this app) ## Demo @@ -80,6 +79,6 @@ Only if you want to use a alpha branch for coding, instead of merging directly i To try the alpha branch, please proceed like that. -sudo yunohost app install https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug -or -sudo yunohost app upgrade zwiicms -u https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug + sudo yunohost app install https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug + or + sudo yunohost app upgrade zwiicms -u https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug From aa40b19bc4186ff6214af97f3a1e56c236e8fabf Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 18:59:36 +0200 Subject: [PATCH 044/107] Update nginx.conf --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index a237c1f..aa49b1a 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -10,7 +10,7 @@ location __PATH__/ { } ### Example PHP configuration (remove it if not used) - index index.php; + index index.html; index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file #client_max_body_size 50M; From 1e2f57a9b942e00868a510bc9ad6b7625e5a6c0b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:09:14 +0200 Subject: [PATCH 045/107] Update app.src --- conf/app.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.src b/conf/app.src index 19d2d16..4adcd49 100644 --- a/conf/app.src +++ b/conf/app.src @@ -2,5 +2,5 @@ SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.zip SOURCE_SUM=49d245c53f0613b5a6929c976729c0f05cd72c8611a0525b73fbf3c8b0ccf3d1 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=true +SOURCE_IN_SUBDIR=false SOURCE_FILENAME= From dadfbb7c51b2ffd64939895a6ffcffc44814d53b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:10:59 +0200 Subject: [PATCH 046/107] Update nginx.conf --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index aa49b1a..a237c1f 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -10,7 +10,7 @@ location __PATH__/ { } ### Example PHP configuration (remove it if not used) - index index.html; index.php; + index index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file #client_max_body_size 50M; From 17fb5b0522bd1192b02adf6137bef8962b0cda45 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:13:11 +0200 Subject: [PATCH 047/107] Update install --- scripts/install | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/install b/scripts/install index ed4f061..4ed6e45 100644 --- a/scripts/install +++ b/scripts/install @@ -268,6 +268,8 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" ### Then, if write authorization is needed, any access should be given only to directories ### that really need such authorization. +chown -R $user: $final_path/ + # Set permissions to app files chown -R root: $final_path From e78e7e71ce1ddd0ee880858741ca94b43ea964a9 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:16:25 +0200 Subject: [PATCH 048/107] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 4ed6e45..c0cf47b 100644 --- a/scripts/install +++ b/scripts/install @@ -268,7 +268,7 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" ### Then, if write authorization is needed, any access should be given only to directories ### that really need such authorization. -chown -R $user: $final_path/ +chown -R www-data: $final_path/ # Set permissions to app files chown -R root: $final_path From 9f2addd63cfed2a8e5de1b4e81f6063d51a455d6 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:18:19 +0200 Subject: [PATCH 049/107] Update install --- scripts/install | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index c0cf47b..1185638 100644 --- a/scripts/install +++ b/scripts/install @@ -268,10 +268,8 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" ### Then, if write authorization is needed, any access should be given only to directories ### that really need such authorization. -chown -R www-data: $final_path/ - # Set permissions to app files -chown -R root: $final_path +chown -R www-data: $final_path #================================================= # SETUP LOGROTATE From 62ed2692ed12ca943738aaa07ec2fd37afeaf307 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:19:49 +0200 Subject: [PATCH 050/107] Update install --- scripts/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 1185638..cecd8a2 100644 --- a/scripts/install +++ b/scripts/install @@ -256,7 +256,7 @@ ynh_add_nginx_config ### you can make a backup of this file before modifying it again if the admin had modified it. # Calculate and store the config file checksum into the app settings -ynh_store_file_checksum --file="$final_path/CONFIG_FILE" +#ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= # GENERIC FINALIZATION @@ -269,7 +269,7 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" ### that really need such authorization. # Set permissions to app files -chown -R www-data: $final_path +chown -R root: $final_path #================================================= # SETUP LOGROTATE From be0b8b20fa8c6464cfa551d3ba4780ef784b5d5a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:21:49 +0200 Subject: [PATCH 051/107] Update install --- scripts/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index cecd8a2..a37394f 100644 --- a/scripts/install +++ b/scripts/install @@ -256,7 +256,8 @@ ynh_add_nginx_config ### you can make a backup of this file before modifying it again if the admin had modified it. # Calculate and store the config file checksum into the app settings -#ynh_store_file_checksum --file="$final_path/CONFIG_FILE" +touch $final_path/CONFIG_FILE +ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= # GENERIC FINALIZATION From 6139a7682992d226838726be3481bbedea287d7b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:23:21 +0200 Subject: [PATCH 052/107] Update install --- scripts/install | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/install b/scripts/install index a37394f..ed4f061 100644 --- a/scripts/install +++ b/scripts/install @@ -256,7 +256,6 @@ ynh_add_nginx_config ### you can make a backup of this file before modifying it again if the admin had modified it. # Calculate and store the config file checksum into the app settings -touch $final_path/CONFIG_FILE ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= From cbf760ed97d6b5f8483309b5adec36fa2698cbe9 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:39:00 +0200 Subject: [PATCH 053/107] Update app.src --- conf/app.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.src b/conf/app.src index 4adcd49..19d2d16 100644 --- a/conf/app.src +++ b/conf/app.src @@ -2,5 +2,5 @@ SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.zip SOURCE_SUM=49d245c53f0613b5a6929c976729c0f05cd72c8611a0525b73fbf3c8b0ccf3d1 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=false +SOURCE_IN_SUBDIR=true SOURCE_FILENAME= From 9e3834c0781c986bacde8d01904aa1258a1299ce Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:42:27 +0200 Subject: [PATCH 054/107] Update manifest.json --- manifest.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 72a9bb0..2596aab 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,8 @@ }, "multi_instance": false, "services": [ - "nginx" + "nginx"; + "php7.0" ], "arguments": { "install" : [ From cc069597d2fa08ffdf35de2b9fe0cac23f567b5b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:43:15 +0200 Subject: [PATCH 055/107] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 2596aab..97bd6a8 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,7 @@ }, "multi_instance": false, "services": [ - "nginx"; + "nginx", "php7.0" ], "arguments": { From 430d7332ccfd0fef328a53c62db55159b9c188fd Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:44:58 +0200 Subject: [PATCH 056/107] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 97bd6a8..e64a691 100644 --- a/manifest.json +++ b/manifest.json @@ -19,7 +19,7 @@ "multi_instance": false, "services": [ "nginx", - "php7.0" + "php" ], "arguments": { "install" : [ From b5c566c4c39a19bccc937060f9717c12a6a99183 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Tue, 5 May 2020 19:45:43 +0200 Subject: [PATCH 057/107] Update manifest.json --- manifest.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index e64a691..72a9bb0 100644 --- a/manifest.json +++ b/manifest.json @@ -18,8 +18,7 @@ }, "multi_instance": false, "services": [ - "nginx", - "php" + "nginx" ], "arguments": { "install" : [ From 7e0335bcb82dd8611eebe32137d00c34a2518da9 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:33:48 +0200 Subject: [PATCH 058/107] Update manifest.json --- manifest.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 72a9bb0..02d0eae 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,8 @@ }, "multi_instance": false, "services": [ - "nginx" + "nginx", + "php7.0-fpm" ], "arguments": { "install" : [ From b4a71a5bdf2927d4c103a5cf4a6722a626812980 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:34:28 +0200 Subject: [PATCH 059/107] Update nginx.conf --- conf/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index a237c1f..9894c4a 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -13,12 +13,12 @@ location __PATH__/ { index index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file - #client_max_body_size 50M; + client_max_body_size 50M; 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/php7.0-fpm-__NAME__.sock; fastcgi_index index.php; include fastcgi_params; From 9a9dc8f8dafdec6eae67fe49ea76e39e6e7ca05b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:35:12 +0200 Subject: [PATCH 060/107] Update backup --- scripts/backup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/backup b/scripts/backup index 035e18f..c1e14da 100644 --- a/scripts/backup +++ b/scripts/backup @@ -58,9 +58,9 @@ 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..." --time --weight=1 +ynh_script_progression --message="Backing up php-fpm configuration..." --time --weight=1 -#ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" +ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" #================================================= # BACKUP THE MYSQL DATABASE From e2fea08bc5695c8b45cfcfb678a9cb900022bb2d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:36:25 +0200 Subject: [PATCH 061/107] Update install --- scripts/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index ed4f061..6831eee 100644 --- a/scripts/install +++ b/scripts/install @@ -166,7 +166,7 @@ ynh_add_nginx_config #================================================= # PHP-FPM CONFIGURATION #================================================= -#ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 +ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 ### `ynh_add_fpm_config` is used to set up a PHP config. ### You can remove it if your app doesn't use PHP. @@ -180,7 +180,7 @@ ynh_add_nginx_config ### - And the section "PHP-FPM CONFIGURATION" in the upgrade script # Create a dedicated php-fpm config -#ynh_add_fpm_config +ynh_add_fpm_config #================================================= # SPECIFIC SETUP From a0a0c3a31b908418c889a0b5c41e375e8b920f4b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:36:57 +0200 Subject: [PATCH 062/107] Update remove --- scripts/remove | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index 71b5703..58e4dfd 100644 --- a/scripts/remove +++ b/scripts/remove @@ -78,10 +78,10 @@ ynh_remove_nginx_config #================================================= # REMOVE PHP-FPM CONFIGURATION #================================================= -#ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 +ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 # Remove the dedicated php-fpm config -#ynh_remove_fpm_config +ynh_remove_fpm_config #================================================= # REMOVE LOGROTATE CONFIGURATION From 42fd79f90aafc7df988e26ed23a26ad213dc19f1 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:37:36 +0200 Subject: [PATCH 063/107] Update restore --- scripts/restore | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/restore b/scripts/restore index 6a47798..908d169 100644 --- a/scripts/restore +++ b/scripts/restore @@ -78,7 +78,7 @@ chown -R root: $final_path # 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/7.0/fpm/pool.d/$app.conf" #================================================= # RESTORE FAIL2BAN CONFIGURATION @@ -146,10 +146,9 @@ yunohost service add $app --description "A short description of the app" --log " #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -#ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 -ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 -#ynh_systemd_action --service_name=php7.0-fpm --action=reload +ynh_systemd_action --service_name=php7.0-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= From 852c0ec6b2c0ab8a62ef28dde6efddeedd5b692b Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:38:08 +0200 Subject: [PATCH 064/107] Update upgrade --- scripts/upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 7e6bcd6..f071840 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -135,10 +135,10 @@ ynh_add_nginx_config #================================================= # PHP-FPM CONFIGURATION #================================================= -#ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 +ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 # Create a dedicated php-fpm config -#ynh_add_fpm_config +ynh_add_fpm_config #================================================= # SPECIFIC UPGRADE From be60eea2d1d2156a0efb7a1636c9300cfa40c99d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:40:53 +0200 Subject: [PATCH 065/107] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 02d0eae..9e986ef 100644 --- a/manifest.json +++ b/manifest.json @@ -19,7 +19,7 @@ "multi_instance": false, "services": [ "nginx", - "php7.0-fpm" + "php7.3-fpm" ], "arguments": { "install" : [ From 9a001d55cca6ee451f5769a627f491899ba34cf8 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 11:59:45 +0200 Subject: [PATCH 066/107] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 9e986ef..02d0eae 100644 --- a/manifest.json +++ b/manifest.json @@ -19,7 +19,7 @@ "multi_instance": false, "services": [ "nginx", - "php7.3-fpm" + "php7.0-fpm" ], "arguments": { "install" : [ From 6135399560b73c0e89a5b57fe6a582c7c5b7136a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:06:51 +0200 Subject: [PATCH 067/107] Update nginx.conf --- conf/nginx.conf | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 9894c4a..7deedcc 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -10,12 +10,16 @@ location __PATH__/ { } ### Example PHP configuration (remove it if not used) - index index.php; + #index index.php; + # Default indexes and catch-all + index index.html index.php; + try_files $uri $uri/ __PATH__/index.php?$args; + # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file client_max_body_size 50M; - try_files $uri $uri/ index.php; + #try_files $uri $uri/ index.php; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; From 5688f0a854ba1ad617f017703ac082b69c0d7a8a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:10:49 +0200 Subject: [PATCH 068/107] Create _ynh_add_fpm_config --- scripts/_ynh_add_fpm_config | 132 ++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 scripts/_ynh_add_fpm_config diff --git a/scripts/_ynh_add_fpm_config b/scripts/_ynh_add_fpm_config new file mode 100644 index 0000000..8d36834 --- /dev/null +++ b/scripts/_ynh_add_fpm_config @@ -0,0 +1,132 @@ +#!/bin/bash + +# Create a dedicated php-fpm config +# +# usage 1: ynh_add_fpm_config [--phpversion=7.X] [--use_template] +# | arg: -v, --phpversion - Version of php to use. +# | arg: -t, --use_template - Use this helper in template mode. +# +# ----------------------------------------------------------------------------- +# +# usage 2: ynh_add_fpm_config [--phpversion=7.X] --usage=usage --footprint=footprint +# | arg: -v, --phpversion - Version of php to use.# +# | arg: -f, --footprint - Memory footprint of the service (low/medium/high). +# low - Less than 20Mb of ram by pool. +# medium - Between 20Mb and 40Mb of ram by pool. +# high - More than 40Mb of ram by pool. +# Or specify exactly the footprint, the load of the service as Mb by pool instead of having a standard value. +# To have this value, use the following command and stress the service. +# watch -n0.5 ps -o user,cmd,%cpu,rss -u APP +# +# | arg: -u, --usage - Expected usage of the service (low/medium/high). +# low - Personal usage, behind the sso. +# medium - Low usage, few people or/and publicly accessible. +# high - High usage, frequently visited website. +# +# Requires YunoHost version 2.7.2 or higher. +ynh_add_fpm_config () { + # Declare an array to define the options of this helper. + local legacy_args=vtuf + declare -Ar args_array=( [v]=phpversion= [t]=use_template [u]=usage= [f]=footprint= ) + local phpversion + local use_template + local usage + local footprint + # Manage arguments with getopts + ynh_handle_getopts_args "$@" + # The default behaviour is to use the template. + use_template="${use_template:-1}" + usage="${usage:-}" + footprint="${footprint:-}" + if [ -n "$usage" ] || [ -n "$footprint" ]; then + use_template=0 + fi + + # Configure PHP-FPM 7.0 by default + phpversion="${phpversion:-7.0}" + + local fpm_config_dir="/etc/php/$phpversion/fpm" + local fpm_service="php${phpversion}-fpm" + # Configure PHP-FPM 5 on Debian Jessie + if [ "$(ynh_get_debian_release)" == "jessie" ]; then + fpm_config_dir="/etc/php5/fpm" + fpm_service="php5-fpm" + fi + ynh_app_setting_set --app=$app --key=fpm_config_dir --value="$fpm_config_dir" + ynh_app_setting_set --app=$app --key=fpm_service --value="$fpm_service" + finalphpconf="$fpm_config_dir/pool.d/$app.conf" + ynh_backup_if_checksum_is_different --file="$finalphpconf" + + if [ $use_template -eq 1 ] + then + # Usage 1, use the template in ../conf/php-fpm.conf + sudo cp ../conf/php-fpm.conf "$finalphpconf" + ynh_replace_string --match_string="__NAMETOCHANGE__" --replace_string="$app" --target_file="$finalphpconf" + ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$finalphpconf" + ynh_replace_string --match_string="__USER__" --replace_string="$app" --target_file="$finalphpconf" + ynh_replace_string --match_string="__PHPVERSION__" --replace_string="$phpversion" --target_file="$finalphpconf" + + else + # Store settings + ynh_app_setting_set --app=$app --key=fpm_footprint --value=$footprint + ynh_app_setting_set --app=$app --key=fpm_usage --value=$usage + + # Usage 2, generate a php-fpm config file with ynh_get_scalable_phpfpm + ynh_get_scalable_phpfpm --usage=$usage --footprint=$footprint + + # Copy the default file + sudo cp "$fpm_config_dir/pool.d/www.conf" "$finalphpconf" + + # Replace standard variables into the default file + ynh_replace_string --match_string="^\[www\]" --replace_string="[$app]" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*listen = .*" --replace_string="listen = /var/run/php/php7.0-fpm-$app.sock" --target_file="$finalphpconf" + ynh_replace_string --match_string="^user = .*" --replace_string="user = $app" --target_file="$finalphpconf" + ynh_replace_string --match_string="^group = .*" --replace_string="group = $app" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*chdir = .*" --replace_string="chdir = $final_path" --target_file="$finalphpconf" + + # Configure fpm children + ynh_replace_string --match_string=".*pm = .*" --replace_string="pm = $php_pm" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*pm.max_children = .*" --replace_string="pm.max_children = $php_max_children" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*pm.max_requests = .*" --replace_string="pm.max_requests = 500" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*request_terminate_timeout = .*" --replace_string="request_terminate_timeout = 1d" --target_file="$finalphpconf" + if [ "$php_pm" = "dynamic" ] + then + ynh_replace_string --match_string=".*pm.start_servers = .*" --replace_string="pm.start_servers = $php_start_servers" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*pm.min_spare_servers = .*" --replace_string="pm.min_spare_servers = $php_min_spare_servers" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*pm.max_spare_servers = .*" --replace_string="pm.max_spare_servers = $php_max_spare_servers" --target_file="$finalphpconf" + elif [ "$php_pm" = "ondemand" ] + then + ynh_replace_string --match_string=".*pm.process_idle_timeout = .*" --replace_string="pm.process_idle_timeout = 10s" --target_file="$finalphpconf" + fi + + # Comment unused parameters + if [ "$php_pm" != "dynamic" ] + then + ynh_replace_string --match_string=".*\(pm.start_servers = .*\)" --replace_string=";\1" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*\(pm.min_spare_servers = .*\)" --replace_string=";\1" --target_file="$finalphpconf" + ynh_replace_string --match_string=".*\(pm.max_spare_servers = .*\)" --replace_string=";\1" --target_file="$finalphpconf" + fi + if [ "$php_pm" != "ondemand" ] + then + ynh_replace_string --match_string=".*\(pm.process_idle_timeout = .*\)" --replace_string=";\1" --target_file="$finalphpconf" + fi + + # Concatene the extra config. + if [ -e ../conf/extra_php-fpm.conf ]; then + cat ../conf/extra_php-fpm.conf >> "$finalphpconf" + fi + fi + sudo chown root: "$finalphpconf" + ynh_store_file_checksum --file="$finalphpconf" + + if [ -e "../conf/php-fpm.ini" ] + then + echo "Packagers ! Please do not use a separate php ini file, merge your directives in the pool file instead." >&2 + finalphpini="$fpm_config_dir/conf.d/20-$app.ini" + ynh_backup_if_checksum_is_different "$finalphpini" + sudo cp ../conf/php-fpm.ini "$finalphpini" + sudo chown root: "$finalphpini" + ynh_store_file_checksum "$finalphpini" + fi + ynh_systemd_action --service_name=$fpm_service --action=reload +} From 0d657901d2ca11527c7aef5901e8d84230e22655 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:15:54 +0200 Subject: [PATCH 069/107] Update install --- scripts/install | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/install b/scripts/install index 6831eee..e9207c0 100644 --- a/scripts/install +++ b/scripts/install @@ -8,6 +8,7 @@ source _common.sh source /usr/share/yunohost/helpers +source _ynh_add_fpm_config #================================================= # MANAGE SCRIPT FAILURE @@ -245,6 +246,7 @@ ynh_add_fpm_config ### `ynh_replace_string` is used to replace a string in a file. ### (It's compatible with sed regular expressions syntax) +mkdir -p "$final_path/www" #ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/CONFIG_FILE" #================================================= From 8f3c18d2b2df850ada5fc71da736df451ce72a58 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:17:32 +0200 Subject: [PATCH 070/107] Update install --- scripts/install | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/install b/scripts/install index e9207c0..6831eee 100644 --- a/scripts/install +++ b/scripts/install @@ -8,7 +8,6 @@ source _common.sh source /usr/share/yunohost/helpers -source _ynh_add_fpm_config #================================================= # MANAGE SCRIPT FAILURE @@ -246,7 +245,6 @@ ynh_add_fpm_config ### `ynh_replace_string` is used to replace a string in a file. ### (It's compatible with sed regular expressions syntax) -mkdir -p "$final_path/www" #ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/CONFIG_FILE" #================================================= From 504543fbbabc90dda56f60e363dfacae76e9bef0 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:18:02 +0200 Subject: [PATCH 071/107] Delete _ynh_add_fpm_config --- scripts/_ynh_add_fpm_config | 132 ------------------------------------ 1 file changed, 132 deletions(-) delete mode 100644 scripts/_ynh_add_fpm_config diff --git a/scripts/_ynh_add_fpm_config b/scripts/_ynh_add_fpm_config deleted file mode 100644 index 8d36834..0000000 --- a/scripts/_ynh_add_fpm_config +++ /dev/null @@ -1,132 +0,0 @@ -#!/bin/bash - -# Create a dedicated php-fpm config -# -# usage 1: ynh_add_fpm_config [--phpversion=7.X] [--use_template] -# | arg: -v, --phpversion - Version of php to use. -# | arg: -t, --use_template - Use this helper in template mode. -# -# ----------------------------------------------------------------------------- -# -# usage 2: ynh_add_fpm_config [--phpversion=7.X] --usage=usage --footprint=footprint -# | arg: -v, --phpversion - Version of php to use.# -# | arg: -f, --footprint - Memory footprint of the service (low/medium/high). -# low - Less than 20Mb of ram by pool. -# medium - Between 20Mb and 40Mb of ram by pool. -# high - More than 40Mb of ram by pool. -# Or specify exactly the footprint, the load of the service as Mb by pool instead of having a standard value. -# To have this value, use the following command and stress the service. -# watch -n0.5 ps -o user,cmd,%cpu,rss -u APP -# -# | arg: -u, --usage - Expected usage of the service (low/medium/high). -# low - Personal usage, behind the sso. -# medium - Low usage, few people or/and publicly accessible. -# high - High usage, frequently visited website. -# -# Requires YunoHost version 2.7.2 or higher. -ynh_add_fpm_config () { - # Declare an array to define the options of this helper. - local legacy_args=vtuf - declare -Ar args_array=( [v]=phpversion= [t]=use_template [u]=usage= [f]=footprint= ) - local phpversion - local use_template - local usage - local footprint - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - # The default behaviour is to use the template. - use_template="${use_template:-1}" - usage="${usage:-}" - footprint="${footprint:-}" - if [ -n "$usage" ] || [ -n "$footprint" ]; then - use_template=0 - fi - - # Configure PHP-FPM 7.0 by default - phpversion="${phpversion:-7.0}" - - local fpm_config_dir="/etc/php/$phpversion/fpm" - local fpm_service="php${phpversion}-fpm" - # Configure PHP-FPM 5 on Debian Jessie - if [ "$(ynh_get_debian_release)" == "jessie" ]; then - fpm_config_dir="/etc/php5/fpm" - fpm_service="php5-fpm" - fi - ynh_app_setting_set --app=$app --key=fpm_config_dir --value="$fpm_config_dir" - ynh_app_setting_set --app=$app --key=fpm_service --value="$fpm_service" - finalphpconf="$fpm_config_dir/pool.d/$app.conf" - ynh_backup_if_checksum_is_different --file="$finalphpconf" - - if [ $use_template -eq 1 ] - then - # Usage 1, use the template in ../conf/php-fpm.conf - sudo cp ../conf/php-fpm.conf "$finalphpconf" - ynh_replace_string --match_string="__NAMETOCHANGE__" --replace_string="$app" --target_file="$finalphpconf" - ynh_replace_string --match_string="__FINALPATH__" --replace_string="$final_path" --target_file="$finalphpconf" - ynh_replace_string --match_string="__USER__" --replace_string="$app" --target_file="$finalphpconf" - ynh_replace_string --match_string="__PHPVERSION__" --replace_string="$phpversion" --target_file="$finalphpconf" - - else - # Store settings - ynh_app_setting_set --app=$app --key=fpm_footprint --value=$footprint - ynh_app_setting_set --app=$app --key=fpm_usage --value=$usage - - # Usage 2, generate a php-fpm config file with ynh_get_scalable_phpfpm - ynh_get_scalable_phpfpm --usage=$usage --footprint=$footprint - - # Copy the default file - sudo cp "$fpm_config_dir/pool.d/www.conf" "$finalphpconf" - - # Replace standard variables into the default file - ynh_replace_string --match_string="^\[www\]" --replace_string="[$app]" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*listen = .*" --replace_string="listen = /var/run/php/php7.0-fpm-$app.sock" --target_file="$finalphpconf" - ynh_replace_string --match_string="^user = .*" --replace_string="user = $app" --target_file="$finalphpconf" - ynh_replace_string --match_string="^group = .*" --replace_string="group = $app" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*chdir = .*" --replace_string="chdir = $final_path" --target_file="$finalphpconf" - - # Configure fpm children - ynh_replace_string --match_string=".*pm = .*" --replace_string="pm = $php_pm" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*pm.max_children = .*" --replace_string="pm.max_children = $php_max_children" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*pm.max_requests = .*" --replace_string="pm.max_requests = 500" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*request_terminate_timeout = .*" --replace_string="request_terminate_timeout = 1d" --target_file="$finalphpconf" - if [ "$php_pm" = "dynamic" ] - then - ynh_replace_string --match_string=".*pm.start_servers = .*" --replace_string="pm.start_servers = $php_start_servers" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*pm.min_spare_servers = .*" --replace_string="pm.min_spare_servers = $php_min_spare_servers" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*pm.max_spare_servers = .*" --replace_string="pm.max_spare_servers = $php_max_spare_servers" --target_file="$finalphpconf" - elif [ "$php_pm" = "ondemand" ] - then - ynh_replace_string --match_string=".*pm.process_idle_timeout = .*" --replace_string="pm.process_idle_timeout = 10s" --target_file="$finalphpconf" - fi - - # Comment unused parameters - if [ "$php_pm" != "dynamic" ] - then - ynh_replace_string --match_string=".*\(pm.start_servers = .*\)" --replace_string=";\1" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*\(pm.min_spare_servers = .*\)" --replace_string=";\1" --target_file="$finalphpconf" - ynh_replace_string --match_string=".*\(pm.max_spare_servers = .*\)" --replace_string=";\1" --target_file="$finalphpconf" - fi - if [ "$php_pm" != "ondemand" ] - then - ynh_replace_string --match_string=".*\(pm.process_idle_timeout = .*\)" --replace_string=";\1" --target_file="$finalphpconf" - fi - - # Concatene the extra config. - if [ -e ../conf/extra_php-fpm.conf ]; then - cat ../conf/extra_php-fpm.conf >> "$finalphpconf" - fi - fi - sudo chown root: "$finalphpconf" - ynh_store_file_checksum --file="$finalphpconf" - - if [ -e "../conf/php-fpm.ini" ] - then - echo "Packagers ! Please do not use a separate php ini file, merge your directives in the pool file instead." >&2 - finalphpini="$fpm_config_dir/conf.d/20-$app.ini" - ynh_backup_if_checksum_is_different "$finalphpini" - sudo cp ../conf/php-fpm.ini "$finalphpini" - sudo chown root: "$finalphpini" - ynh_store_file_checksum "$finalphpini" - fi - ynh_systemd_action --service_name=$fpm_service --action=reload -} From be6514eb90d4aba27062e4b05161438a2c860691 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:20:35 +0200 Subject: [PATCH 072/107] Update nginx.conf --- conf/nginx.conf | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 7deedcc..9dfcbb0 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -10,16 +10,13 @@ location __PATH__/ { } ### Example PHP configuration (remove it if not used) - #index index.php; - - # Default indexes and catch-all - index index.html index.php; - try_files $uri $uri/ __PATH__/index.php?$args; + index index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file client_max_body_size 50M; #try_files $uri $uri/ index.php; + try_files $uri $uri/ __PATH__/index.php?$args; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; From eedf0cc6b113d271df6d224bfdad3077c30db99c Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:21:55 +0200 Subject: [PATCH 073/107] Update nginx.conf --- conf/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 9dfcbb0..e1d04eb 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -13,13 +13,13 @@ location __PATH__/ { index index.php; # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file - client_max_body_size 50M; + #client_max_body_size 50M; #try_files $uri $uri/ index.php; try_files $uri $uri/ __PATH__/index.php?$args; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; - fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; + #fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; fastcgi_index index.php; include fastcgi_params; From f1876d8b599b3e478dcfcca222760c65ca99bd39 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:22:19 +0200 Subject: [PATCH 074/107] Update manifest.json --- manifest.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index 02d0eae..72a9bb0 100644 --- a/manifest.json +++ b/manifest.json @@ -18,8 +18,7 @@ }, "multi_instance": false, "services": [ - "nginx", - "php7.0-fpm" + "nginx" ], "arguments": { "install" : [ From 7dd6ed554feb473cf75f43d3e87b75f4e7234567 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:23:03 +0200 Subject: [PATCH 075/107] Update install --- scripts/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 6831eee..ed4f061 100644 --- a/scripts/install +++ b/scripts/install @@ -166,7 +166,7 @@ ynh_add_nginx_config #================================================= # PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 +#ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 ### `ynh_add_fpm_config` is used to set up a PHP config. ### You can remove it if your app doesn't use PHP. @@ -180,7 +180,7 @@ ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 ### - And the section "PHP-FPM CONFIGURATION" in the upgrade script # Create a dedicated php-fpm config -ynh_add_fpm_config +#ynh_add_fpm_config #================================================= # SPECIFIC SETUP From 58b40be7e222c66dd0744ed9c0a37d7221780ce2 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:23:24 +0200 Subject: [PATCH 076/107] Update remove --- scripts/remove | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index 58e4dfd..71b5703 100644 --- a/scripts/remove +++ b/scripts/remove @@ -78,10 +78,10 @@ ynh_remove_nginx_config #================================================= # REMOVE PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 +#ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 # Remove the dedicated php-fpm config -ynh_remove_fpm_config +#ynh_remove_fpm_config #================================================= # REMOVE LOGROTATE CONFIGURATION From 57323b66b826598cc62063ee77fb3d7567f850dd Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:24:35 +0200 Subject: [PATCH 077/107] Update backup --- scripts/backup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/backup b/scripts/backup index c1e14da..035e18f 100644 --- a/scripts/backup +++ b/scripts/backup @@ -58,9 +58,9 @@ 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..." --time --weight=1 +#ynh_script_progression --message="Backing up php-fpm configuration..." --time --weight=1 -ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" +#ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" #================================================= # BACKUP THE MYSQL DATABASE From ec2d5539a8fde44519e3fab49d6bb7805c6b5fe0 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:25:45 +0200 Subject: [PATCH 078/107] Update restore --- scripts/restore | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/restore b/scripts/restore index 908d169..6a47798 100644 --- a/scripts/restore +++ b/scripts/restore @@ -78,7 +78,7 @@ chown -R root: $final_path # 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/7.0/fpm/pool.d/$app.conf" #================================================= # RESTORE FAIL2BAN CONFIGURATION @@ -146,9 +146,10 @@ yunohost service add $app --description "A short description of the app" --log " #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 +#ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 -ynh_systemd_action --service_name=php7.0-fpm --action=reload +#ynh_systemd_action --service_name=php7.0-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= From 2546e0e602b632444a536cb484edee4ce750898d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 12:26:31 +0200 Subject: [PATCH 079/107] Update upgrade --- scripts/upgrade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index f071840..7e6bcd6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -135,10 +135,10 @@ ynh_add_nginx_config #================================================= # PHP-FPM CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 +#ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 # Create a dedicated php-fpm config -ynh_add_fpm_config +#ynh_add_fpm_config #================================================= # SPECIFIC UPGRADE From 7f6949178075ca2fd76269e9c1e602cb345d6ff7 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Thu, 7 May 2020 13:33:50 +0200 Subject: [PATCH 080/107] add php fpm --- conf/nginx.conf | 2 +- conf/php-fpm.conf | 431 ++++++++++++++++++++++++++++++++++++++++++++++ scripts/backup | 4 +- scripts/install | 12 +- scripts/remove | 8 +- scripts/restore | 13 +- scripts/upgrade | 14 +- 7 files changed, 457 insertions(+), 27 deletions(-) create mode 100644 conf/php-fpm.conf diff --git a/conf/nginx.conf b/conf/nginx.conf index e1d04eb..ced0c2c 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -19,7 +19,7 @@ location __PATH__/ { try_files $uri $uri/ __PATH__/index.php?$args; location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; - #fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; + fastcgi_pass unix:/var/run/php/php7.0-fpm-__NAME__.sock; fastcgi_index index.php; include fastcgi_params; diff --git a/conf/php-fpm.conf b/conf/php-fpm.conf new file mode 100644 index 0000000..8163d02 --- /dev/null +++ b/conf/php-fpm.conf @@ -0,0 +1,431 @@ + +; Start a new pool named 'www'. +; the variable $pool can be used in any directive and will be replaced by the +; pool name ('www' here) +[__NAMETOCHANGE__] + +; Per pool prefix +; It only applies on the following directives: +; - 'access.log' +; - 'slowlog' +; - 'listen' (unixsocket) +; - 'chroot' +; - 'chdir' +; - 'php_values' +; - 'php_admin_values' +; When not set, the global prefix (or /usr) applies instead. +; Note: This directive can also be relative to the global prefix. +; Default Value: none +;prefix = /path/to/pools/$pool + +; Unix user/group of processes +; Note: The user is mandatory. If the group is not set, the default user's group +; will be used. +user = __USER__ +group = __USER__ + +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on +; a specific port; +; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses +; (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 + +; Set listen(2) backlog. +; Default Value: 511 (-1 on FreeBSD and OpenBSD) +;listen.backlog = 511 + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. +; Default Values: user and group are set as the running user +; mode is set to 0660 +listen.owner = www-data +listen.group = www-data +;listen.mode = 0660 +; When POSIX Access Control Lists are supported you can set them using +; these options, value is a comma separated list of user/group names. +; When set, listen.owner and listen.group are ignored +;listen.acl_users = +;listen.acl_groups = + +; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. +; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original +; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address +; must be separated by a comma. If this value is left blank, connections will be +; accepted from any ip address. +; Default Value: any +;listen.allowed_clients = 127.0.0.1 + +; Specify the nice(2) priority to apply to the pool processes (only if set) +; The value can vary from -19 (highest priority) to 20 (lower priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool processes will inherit the master process priority +; unless it specified otherwise +; Default Value: no set +; process.priority = -19 + +; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user +; or group is differrent than the master process user. It allows to create process +; core dump and ptrace the process for the pool user. +; Default Value: no +; process.dumpable = yes + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static - a fixed number (pm.max_children) of child processes; +; dynamic - the number of child processes are set dynamically based on the +; following directives. With this process management, there will be +; always at least 1 children. +; pm.max_children - the maximum number of children that can +; be alive at the same time. +; pm.start_servers - the number of children created on startup. +; pm.min_spare_servers - the minimum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is less than this +; number then some children will be created. +; pm.max_spare_servers - the maximum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is greater than this +; number then some children will be killed. +; ondemand - no children are created at startup. Children will be forked when +; new requests will connect. The following parameter are used: +; pm.max_children - the maximum number of children that +; can be alive at the same time. +; pm.process_idle_timeout - The number of seconds after which +; an idle process will be killed. +; Note: This value is mandatory. +pm = dynamic + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. +; This value sets the limit on the number of simultaneous requests that will be +; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. +; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP +; CGI. The below defaults are based on a server without much resources. Don't +; forget to tweak pm.* to fit your needs. +; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' +; Note: This value is mandatory. +pm.max_children = 5 + +; The number of child processes created on startup. +; Note: Used only when pm is set to 'dynamic' +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +pm.start_servers = 2 + +; The desired minimum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.min_spare_servers = 1 + +; The desired maximum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.max_spare_servers = 3 + +; The number of seconds after which an idle process will be killed. +; Note: Used only when pm is set to 'ondemand' +; Default Value: 10s +;pm.process_idle_timeout = 10s; + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +;pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. It shows the following informations: +; pool - the name of the pool; +; process manager - static, dynamic or ondemand; +; start time - the date and time FPM has started; +; start since - number of seconds since FPM has started; +; accepted conn - the number of request accepted by the pool; +; listen queue - the number of request in the queue of pending +; connections (see backlog in listen(2)); +; max listen queue - the maximum number of requests in the queue +; of pending connections since FPM has started; +; listen queue len - the size of the socket queue of pending connections; +; idle processes - the number of idle processes; +; active processes - the number of active processes; +; total processes - the number of idle + active processes; +; max active processes - the maximum number of active processes since FPM +; has started; +; max children reached - number of times, the process limit has been reached, +; when pm tries to start more children (works only for +; pm 'dynamic' and 'ondemand'); +; Value are updated in real time. +; Example output: +; pool: www +; process manager: static +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 62636 +; accepted conn: 190460 +; listen queue: 0 +; max listen queue: 1 +; listen queue len: 42 +; idle processes: 4 +; active processes: 11 +; total processes: 15 +; max active processes: 12 +; max children reached: 0 +; +; By default the status page output is formatted as text/plain. Passing either +; 'html', 'xml' or 'json' in the query string will return the corresponding +; output syntax. Example: +; http://www.foo.bar/status +; http://www.foo.bar/status?json +; http://www.foo.bar/status?html +; http://www.foo.bar/status?xml +; +; By default the status page only outputs short status. Passing 'full' in the +; query string will also return status for each pool process. +; Example: +; http://www.foo.bar/status?full +; http://www.foo.bar/status?json&full +; http://www.foo.bar/status?html&full +; http://www.foo.bar/status?xml&full +; The Full status returns for each process: +; pid - the PID of the process; +; state - the state of the process (Idle, Running, ...); +; start time - the date and time the process has started; +; start since - the number of seconds since the process has started; +; requests - the number of requests the process has served; +; request duration - the duration in µs of the requests; +; request method - the request method (GET, POST, ...); +; request URI - the request URI with the query string; +; content length - the content length of the request (only with POST); +; user - the user (PHP_AUTH_USER) (or '-' if not set); +; script - the main script called (or '-' if not set); +; last request cpu - the %cpu the last request consumed +; it's always 0 if the process is not in Idle state +; because CPU calculation is done when the request +; processing has terminated; +; last request memory - the max amount of memory the last request consumed +; it's always 0 if the process is not in Idle state +; because memory calculation is done when the request +; processing has terminated; +; If the process is in Idle state, then informations are related to the +; last request the process has served. Otherwise informations are related to +; the current request being served. +; Example output: +; ************************ +; pid: 31330 +; state: Running +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 63087 +; requests: 12808 +; request duration: 1250261 +; request method: GET +; request URI: /test_mem.php?N=10000 +; content length: 0 +; user: - +; script: /home/fat/web/docs/php/test_mem.php +; last request cpu: 0.00 +; last request memory: 0 +; +; Note: There is a real-time FPM status monitoring sample web page available +; It's available in: /usr/share/php/7.0/fpm/status.html +; +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;pm.status_path = /status + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;ping.path = /ping + +; This directive may be used to customize the response of a ping request. The +; response is formatted as text/plain with a 200 response code. +; Default Value: pong +;ping.response = pong + +; The access log file +; Default: not set +;access.log = log/$pool.access.log + +; The access log format. +; The following syntax is allowed +; %%: the '%' character +; %C: %CPU used by the request +; it can accept the following format: +; - %{user}C for user CPU only +; - %{system}C for system CPU only +; - %{total}C for user + system CPU (default) +; %d: time taken to serve the request +; it can accept the following format: +; - %{seconds}d (default) +; - %{miliseconds}d +; - %{mili}d +; - %{microseconds}d +; - %{micro}d +; %e: an environment variable (same as $_ENV or $_SERVER) +; it must be associated with embraces to specify the name of the env +; variable. Some exemples: +; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e +; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e +; %f: script filename +; %l: content-length of the request (for POST request only) +; %m: request method +; %M: peak of memory allocated by PHP +; it can accept the following format: +; - %{bytes}M (default) +; - %{kilobytes}M +; - %{kilo}M +; - %{megabytes}M +; - %{mega}M +; %n: pool name +; %o: output header +; it must be associated with embraces to specify the name of the header: +; - %{Content-Type}o +; - %{X-Powered-By}o +; - %{Transfert-Encoding}o +; - .... +; %p: PID of the child that serviced the request +; %P: PID of the parent of the child that serviced the request +; %q: the query string +; %Q: the '?' character if query string exists +; %r: the request URI (without the query string, see %q and %Q) +; %R: remote IP address +; %s: status (response code) +; %t: server time the request was received +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %T: time the log has been written (the request has finished) +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %u: remote user +; +; Default: "%R - %u %t \"%m %r\" %s" +;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +;slowlog = log/$pool.log.slow + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +request_terminate_timeout = 1d + +; Set open file descriptor rlimit. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Chroot to this directory at the start. This value must be defined as an +; absolute path. When this value is not set, chroot is not used. +; Note: you can prefix with '$prefix' to chroot to the pool prefix or one +; of its subdirectories. If the pool prefix is not set, the global prefix +; will be used instead. +; Note: chrooting is a great security feature and should be used whenever +; possible. However, all PHP paths will be relative to the chroot +; (error_log, sessions.save_path, ...). +; Default Value: not set +;chroot = + +; Chdir to this directory at the start. +; Note: relative path can be used. +; Default Value: current directory or / when chroot +chdir = __FINALPATH__ + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Note: on highloaded environement, this can cause some delay in the page +; process time (several ms). +; Default Value: no +;catch_workers_output = yes + +; Clear environment in FPM workers +; Prevents arbitrary environment variables from reaching FPM worker processes +; by clearing the environment in workers before env vars specified in this +; pool configuration are added. +; Setting to "no" will make all environment variables available to PHP code +; via getenv(), $_ENV and $_SERVER. +; Default Value: yes +;clear_env = no + +; Limits the extensions of the main script FPM will allow to parse. This can +; prevent configuration mistakes on the web server side. You should only limit +; FPM to .php extensions to prevent malicious users to use other extensions to +; execute php code. +; Note: set an empty value to allow all extensions. +; Default Value: .php +;security.limit_extensions = .php .php3 .php4 .php5 .php7 + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +;env[HOSTNAME] = $HOSTNAME +;env[PATH] = /usr/local/bin:/usr/bin:/bin +;env[TMP] = /tmp +;env[TMPDIR] = /tmp +;env[TEMP] = /tmp + +; Additional php.ini defines, specific to this pool of workers. These settings +; overwrite the values previously defined in the php.ini. The directives are the +; same as the PHP SAPI: +; php_value/php_flag - you can set classic ini defines which can +; be overwritten from PHP call 'ini_set'. +; php_admin_value/php_admin_flag - these directives won't be overwritten by +; PHP call 'ini_set' +; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. + +; Defining 'extension' will load the corresponding shared extension from +; extension_dir. Defining 'disable_functions' or 'disable_classes' will not +; overwrite previously defined php.ini values, but will append the new value +; instead. + +; Note: path INI options can be relative and will be expanded with the prefix +; (pool, global or /usr) + +; Default Value: nothing is defined by default except the values in php.ini and +; specified at startup with the -d argument +;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com +;php_flag[display_errors] = off +;php_admin_value[error_log] = /var/log/fpm-php.www.log +;php_admin_flag[log_errors] = on +;php_admin_value[memory_limit] = 32M + +; Common values to change to increase file upload limit +; php_admin_value[upload_max_filesize] = 50M +; php_admin_value[post_max_size] = 50M +; php_admin_flag[mail.add_x_header] = Off + +; Other common parameters +; php_admin_value[max_execution_time] = 600 +; php_admin_value[max_input_time] = 300 +; php_admin_value[memory_limit] = 256M +; php_admin_flag[short_open_tag] = On diff --git a/scripts/backup b/scripts/backup index 035e18f..c1e14da 100644 --- a/scripts/backup +++ b/scripts/backup @@ -58,9 +58,9 @@ 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..." --time --weight=1 +ynh_script_progression --message="Backing up php-fpm configuration..." --time --weight=1 -#ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" +ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" #================================================= # BACKUP THE MYSQL DATABASE diff --git a/scripts/install b/scripts/install index ed4f061..ef9306f 100644 --- a/scripts/install +++ b/scripts/install @@ -158,15 +158,15 @@ ynh_add_nginx_config #================================================= # CREATE DEDICATED USER #================================================= -#ynh_script_progression --message="Configuring system user..." --time --weight=1 +ynh_script_progression --message="Configuring system user..." --time --weight=1 # Create a system user -#ynh_system_user_create --username=$app +ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION #================================================= -#ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 +ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 ### `ynh_add_fpm_config` is used to set up a PHP config. ### You can remove it if your app doesn't use PHP. @@ -180,7 +180,7 @@ ynh_add_nginx_config ### - And the section "PHP-FPM CONFIGURATION" in the upgrade script # Create a dedicated php-fpm config -#ynh_add_fpm_config +ynh_add_fpm_config #================================================= # SPECIFIC SETUP @@ -256,7 +256,7 @@ ynh_add_nginx_config ### you can make a backup of this file before modifying it again if the admin had modified it. # Calculate and store the config file checksum into the app settings -ynh_store_file_checksum --file="$final_path/CONFIG_FILE" +#ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= # GENERIC FINALIZATION @@ -269,7 +269,7 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" ### that really need such authorization. # Set permissions to app files -chown -R root: $final_path +chown -R $app: $final_path #================================================= # SETUP LOGROTATE diff --git a/scripts/remove b/scripts/remove index 71b5703..1f534e8 100644 --- a/scripts/remove +++ b/scripts/remove @@ -78,10 +78,10 @@ ynh_remove_nginx_config #================================================= # REMOVE PHP-FPM CONFIGURATION #================================================= -#ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 +ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 # Remove the dedicated php-fpm config -#ynh_remove_fpm_config +ynh_remove_fpm_config #================================================= # REMOVE LOGROTATE CONFIGURATION @@ -129,10 +129,10 @@ ynh_remove_nginx_config #================================================= # REMOVE DEDICATED USER #================================================= -#ynh_script_progression --message="Removing the dedicated system user..." --time --weight=1 +ynh_script_progression --message="Removing the dedicated system user..." --time --weight=1 # Delete a system user -#ynh_system_user_delete --username=$app +ynh_system_user_delete --username=$app #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 6a47798..453c8c9 100644 --- a/scripts/restore +++ b/scripts/restore @@ -62,23 +62,23 @@ ynh_restore_file --origin_path="$final_path" #================================================= # RECREATE THE DEDICATED USER #================================================= -#ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 +ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1 # Create the dedicated user (if not existing) -#ynh_system_user_create --username=$app +ynh_system_user_create --username=$app #================================================= # RESTORE USER RIGHTS #================================================= # Restore permissions on app files -chown -R root: $final_path +chown -R $app: $final_path #================================================= # 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/7.0/fpm/pool.d/$app.conf" #================================================= # RESTORE FAIL2BAN CONFIGURATION @@ -146,10 +146,9 @@ yunohost service add $app --description "A short description of the app" --log " #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -#ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 -ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 -#ynh_systemd_action --service_name=php7.0-fpm --action=reload +ynh_systemd_action --service_name=php7.0-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 7e6bcd6..43a1cdf 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -127,18 +127,18 @@ ynh_add_nginx_config #================================================= # CREATE DEDICATED USER #================================================= -#ynh_script_progression --message="Making sure dedicated system user exists..." --time --weight=1 +ynh_script_progression --message="Making sure dedicated system user exists..." --time --weight=1 # Create a dedicated user (if not existing) -#ynh_system_user_create --username=$app +ynh_system_user_create --username=$app #================================================= # PHP-FPM CONFIGURATION #================================================= -#ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 +ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 # Create a dedicated php-fpm config -#ynh_add_fpm_config +ynh_add_fpm_config #================================================= # SPECIFIC UPGRADE @@ -152,9 +152,9 @@ ynh_add_nginx_config ### Verify the checksum of a file, stored by `ynh_store_file_checksum` in the install script. ### And create a backup of this file if the checksum is different. So the file will be backed up if the admin had modified it. -ynh_backup_if_checksum_is_different --file="$final_path/CONFIG_FILE" +#ynh_backup_if_checksum_is_different --file="$final_path/CONFIG_FILE" # Recalculate and store the checksum of the file for the next upgrade. -ynh_store_file_checksum --file="$final_path/CONFIG_FILE" +#ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= # SETUP LOGROTATE @@ -187,7 +187,7 @@ ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= # Set permissions on app files -chown -R root: $final_path +chown -R $app: $final_path #================================================= # SETUP SSOWAT From 5d5b03b2c66321244c9de0c4a2ab93c99225ec44 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 18:28:08 +0200 Subject: [PATCH 081/107] Update install --- scripts/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index ef9306f..b8b1632 100644 --- a/scripts/install +++ b/scripts/install @@ -269,7 +269,8 @@ ynh_add_fpm_config ### that really need such authorization. # Set permissions to app files -chown -R $app: $final_path +#chown -R $app: $final_path +chown -R root:www-data: $final_path #================================================= # SETUP LOGROTATE From b9d257eb5e3856266ca58435a114c3b2ca5f751d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 18:31:18 +0200 Subject: [PATCH 082/107] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index b8b1632..b5f0427 100644 --- a/scripts/install +++ b/scripts/install @@ -270,7 +270,7 @@ ynh_add_fpm_config # Set permissions to app files #chown -R $app: $final_path -chown -R root:www-data: $final_path +chown -R root:www-data $final_path #================================================= # SETUP LOGROTATE From 600d5059ef2743a18c7ff0f918516ec599dfd09c Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 18:33:27 +0200 Subject: [PATCH 083/107] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index b5f0427..a45091d 100644 --- a/scripts/install +++ b/scripts/install @@ -270,7 +270,7 @@ ynh_add_fpm_config # Set permissions to app files #chown -R $app: $final_path -chown -R root:www-data $final_path +chown -R www-data: $final_path #================================================= # SETUP LOGROTATE From 07401e939e1a90de6b4c69a7261b87a7393c590e Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 18:35:35 +0200 Subject: [PATCH 084/107] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index a45091d..c384b42 100644 --- a/scripts/install +++ b/scripts/install @@ -270,7 +270,7 @@ ynh_add_fpm_config # Set permissions to app files #chown -R $app: $final_path -chown -R www-data: $final_path +chown -R $app:www-data $final_path #================================================= # SETUP LOGROTATE From 15962bd72a4ee6a851cc33481d7ef112cd956059 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 18:39:39 +0200 Subject: [PATCH 085/107] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index c384b42..aa67fec 100644 --- a/scripts/install +++ b/scripts/install @@ -270,7 +270,7 @@ ynh_add_fpm_config # Set permissions to app files #chown -R $app: $final_path -chown -R $app:www-data $final_path +chown -R root:$app $final_path #================================================= # SETUP LOGROTATE From 4f005269d0e0b507f796c52e01b2cad66c67e8fa Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 18:42:05 +0200 Subject: [PATCH 086/107] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index aa67fec..2f4dda5 100644 --- a/scripts/install +++ b/scripts/install @@ -270,7 +270,7 @@ ynh_add_fpm_config # Set permissions to app files #chown -R $app: $final_path -chown -R root:$app $final_path +chown -R www-data:$app $final_path #================================================= # SETUP LOGROTATE From 70e22555866db80ffeabf56728c032b47a3fc44d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 7 May 2020 18:44:12 +0200 Subject: [PATCH 087/107] Update install --- scripts/install | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 2f4dda5..ef9306f 100644 --- a/scripts/install +++ b/scripts/install @@ -269,8 +269,7 @@ ynh_add_fpm_config ### that really need such authorization. # Set permissions to app files -#chown -R $app: $final_path -chown -R www-data:$app $final_path +chown -R $app: $final_path #================================================= # SETUP LOGROTATE From b28e78da56cdf2c14a2d784c8d58d41bd4ce3258 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Fri, 8 May 2020 13:15:25 +0200 Subject: [PATCH 088/107] add fail2ban --- scripts/backup | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/backup b/scripts/backup index c1e14da..adc3612 100644 --- a/scripts/backup +++ b/scripts/backup @@ -74,8 +74,8 @@ ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" #================================================= #ynh_script_progression --message="Backing up fail2ban configuration..." --time --weight=1 -#ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" -#ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" +ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" +ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" #================================================= # SPECIFIC BACKUP From 985a88aed5b7449823172dee054532245cf827da Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Fri, 8 May 2020 13:18:37 +0200 Subject: [PATCH 089/107] add fail2ban --- scripts/install | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index ef9306f..1c8aed9 100644 --- a/scripts/install +++ b/scripts/install @@ -328,11 +328,18 @@ chown -R $app: $final_path #================================================= # SETUP FAIL2BAN #================================================= -#ynh_script_progression --message="Configuring fail2ban..." --time --weight=1 +ynh_script_progression --message="Configuring fail2ban..." --time --weight=1 + +# Create the log file is not already existing during install +mkdir -p "/var/www/$app/var/logs/" +touch "/var/www/$app/var/logs/prod.log" +chown $app: "/var/www/$app/var/logs/prod.log" # Create a dedicated fail2ban config #ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" +ynh_add_fail2ban_config --logpath="/var/www/$app/var/logs/prod.log" --failregex='app.ERROR: Authentication failure for user "([\w]+)?", from IP ""' --max_retry=5 + #================================================= # SETUP SSOWAT #================================================= From caaee5a02e5f784f8611f3c277985ce50dc2a4b8 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Fri, 8 May 2020 13:19:51 +0200 Subject: [PATCH 090/107] add fail2ban --- scripts/remove | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index 1f534e8..f39d108 100644 --- a/scripts/remove +++ b/scripts/remove @@ -104,10 +104,10 @@ ynh_remove_fpm_config #================================================= # REMOVE FAIL2BAN CONFIGURATION #================================================= -#ynh_script_progression --message="Removing fail2ban configuration..." --time --weight=1 +ynh_script_progression --message="Removing fail2ban configuration..." --time --weight=1 # Remove the dedicated fail2ban config -#ynh_remove_fail2ban_config +ynh_remove_fail2ban_config #================================================= # SPECIFIC REMOVE From 379ac91f7c9ee7f941fb67f6da2d0d74a87c132a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Fri, 8 May 2020 13:22:18 +0200 Subject: [PATCH 091/107] add fail2ban --- scripts/restore | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/restore b/scripts/restore index 453c8c9..229decb 100644 --- a/scripts/restore +++ b/scripts/restore @@ -83,11 +83,12 @@ ynh_restore_file --origin_path="/etc/php/7.0/fpm/pool.d/$app.conf" #================================================= # RESTORE FAIL2BAN CONFIGURATION #================================================= -#ynh_script_progression --message="Restoring the fail2ban configuration..." --time --weight=1 +ynh_script_progression --message="Restoring the fail2ban configuration..." --time --weight=1 -#ynh_restore_file "/etc/fail2ban/jail.d/$app.conf" -#ynh_restore_file "/etc/fail2ban/filter.d/$app.conf" +ynh_restore_file "/etc/fail2ban/jail.d/$app.conf" +ynh_restore_file "/etc/fail2ban/filter.d/$app.conf" #ynh_systemd_action --action=restart --service_name=fail2ban +ynh_systemd_action --action=reload --service_name=fail2ban # Reload instead of restart for better performance #================================================= # SPECIFIC RESTORATION From e093669a3b55425df52939b09e876cbcb6034808 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 18:58:50 +0200 Subject: [PATCH 092/107] php7.0-zip --- manifest.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 72a9bb0..3866ae2 100644 --- a/manifest.json +++ b/manifest.json @@ -18,7 +18,8 @@ }, "multi_instance": false, "services": [ - "nginx" + "nginx", + "php7.0-zip" ], "arguments": { "install" : [ From 2a49ea1f2f96d968abc1075d9296db0caa0677e2 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 18:59:18 +0200 Subject: [PATCH 093/107] php7.0-zip --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 3e82e3c..919a7f3 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -5,7 +5,7 @@ #================================================= # dependencies used by the app -#pkg_dependencies="php7.0-zip deb1 deb2" +pkg_dependencies="php7.0-zip" #================================================= # PERSONAL HELPERS From b88dc8bec3216e28375ccd0dc91bec7964e349cb Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 19:01:16 +0200 Subject: [PATCH 094/107] php7.0-zip --- scripts/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 1c8aed9..470b23a 100644 --- a/scripts/install +++ b/scripts/install @@ -101,7 +101,7 @@ ynh_app_setting_set --app=$app --key=is_public --value=$is_public #================================================= # INSTALL DEPENDENCIES #================================================= -#ynh_script_progression --message="Installing dependencies..." --time --weight=1 +ynh_script_progression --message="Installing dependencies..." --time --weight=1 ### `ynh_install_app_dependencies` allows you to add any "apt" dependencies to the package. ### Those deb packages will be installed as dependencies of this package. @@ -111,7 +111,7 @@ ynh_app_setting_set --app=$app --key=is_public --value=$is_public ### - As well as the section "REINSTALL DEPENDENCIES" in the restore script ### - And the section "UPGRADE DEPENDENCIES" in the upgrade script -#ynh_install_app_dependencies $pkg_dependencies +ynh_install_app_dependencies $pkg_dependencies #================================================= # CREATE A MYSQL DATABASE From 3f89cf7c374791f6971ba70b3b74b7044307dfa6 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 19:01:44 +0200 Subject: [PATCH 095/107] php7.0-zip --- scripts/remove | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index f39d108..a45027b 100644 --- a/scripts/remove +++ b/scripts/remove @@ -54,10 +54,10 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= # REMOVE DEPENDENCIES #================================================= -#ynh_script_progression --message="Removing dependencies..." --time --weight=1 +ynh_script_progression --message="Removing dependencies..." --time --weight=1 # Remove metapackage and its dependencies -#ynh_remove_app_dependencies +ynh_remove_app_dependencies #================================================= # REMOVE APP MAIN DIR From 59a9449942598b4e18d9c3f45ce3ef9965df449d Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 19:02:14 +0200 Subject: [PATCH 096/107] php7.0-zip --- scripts/restore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/restore b/scripts/restore index 229decb..abb28ac 100644 --- a/scripts/restore +++ b/scripts/restore @@ -95,10 +95,10 @@ ynh_systemd_action --action=reload --service_name=fail2ban # Reload instead of r #================================================= # REINSTALL DEPENDENCIES #================================================= -#ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 +ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 # Define and install dependencies -#ynh_install_app_dependencies $pkg_dependencies +ynh_install_app_dependencies $pkg_dependencies #================================================= # RESTORE THE MYSQL DATABASE From 6ca22ba8148efd66d586d4540332b7141868a516 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 19:03:13 +0200 Subject: [PATCH 097/107] php7.0-zip and fail2ban --- scripts/upgrade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/upgrade b/scripts/upgrade index 43a1cdf..dcb3b8d 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -120,9 +120,9 @@ ynh_add_nginx_config #================================================= # UPGRADE DEPENDENCIES #================================================= -#ynh_script_progression --message="Upgrading dependencies..." --time --weight=1 +ynh_script_progression --message="Upgrading dependencies..." --time --weight=1 -#ynh_install_app_dependencies $pkg_dependencies +ynh_install_app_dependencies $pkg_dependencies #================================================= # CREATE DEDICATED USER @@ -177,10 +177,10 @@ ynh_add_fpm_config #================================================= # UPGRADE FAIL2BAN #================================================= -#ynh_script_progression --message="Reconfiguring fail2ban..." --time --weight=1 +ynh_script_progression --message="Reconfiguring fail2ban..." --time --weight=1 # Create a dedicated fail2ban config -#ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" +ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" #================================================= # SECURE FILES AND DIRECTORIES From 41ae6fafa57e610566aa485822068d5953d085bc Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 19:04:55 +0200 Subject: [PATCH 098/107] fail2ban --- scripts/backup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/backup b/scripts/backup index adc3612..7d36902 100644 --- a/scripts/backup +++ b/scripts/backup @@ -72,7 +72,7 @@ ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" #================================================= # BACKUP FAIL2BAN CONFIGURATION #================================================= -#ynh_script_progression --message="Backing up fail2ban configuration..." --time --weight=1 +ynh_script_progression --message="Backing up fail2ban configuration..." --time --weight=1 ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" From 43ee10ed5268bb6b3859ee5f2aca8a61a0dffd43 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Thu, 14 May 2020 19:07:16 +0200 Subject: [PATCH 099/107] v9.2.28 --- conf/app.src | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/app.src b/conf/app.src index 19d2d16..f5188d7 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.27.zip -SOURCE_SUM=49d245c53f0613b5a6929c976729c0f05cd72c8611a0525b73fbf3c8b0ccf3d1 +SOURCE_URL=https://github.com/fredtempez/ZwiiCMS/archive/9.2.28.zip +SOURCE_SUM=d0b9af9c7fca43cca25daa304cffa8838a997bd989ff216fd05ef81221b42364 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=true From 940bb88d74f68923be9593d0d03bfd56b068f463 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Mon, 18 May 2020 18:30:03 +0200 Subject: [PATCH 100/107] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 3866ae2..b09f68d 100644 --- a/manifest.json +++ b/manifest.json @@ -8,7 +8,7 @@ }, "version": "9.2.28~ynh1", "url": "https://zwiicms.com", - "license": "GPL-v3.0", + "license": "GPL-3.0", "maintainer": { "name": "pp-r", "email": "ppr@ppr.ynh.fr" From 74559a7379a09b4df3b87d94fcc5624400515a6c Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Mon, 18 May 2020 18:35:22 +0200 Subject: [PATCH 101/107] php7.0-zip is not a service --- manifest.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index b09f68d..2ac1056 100644 --- a/manifest.json +++ b/manifest.json @@ -18,8 +18,7 @@ }, "multi_instance": false, "services": [ - "nginx", - "php7.0-zip" + "nginx" ], "arguments": { "install" : [ From 908aacf18143b2d453beddea2c69218f7b4dab69 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Sun, 24 May 2020 11:45:20 +0200 Subject: [PATCH 102/107] Update README.md --- README.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/README.md b/README.md index 49c8db8..d7173ac 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,3 @@ -Usage of this package (REMOVE THIS SECTION BEFORE RELEASE) - - Copy this app before working on it. - Edit conf/nginx.conf file to match application prerequisites. - Edit manifest.json with application specific information. - Edit the install, upgrade, remove, backup, and restore scripts. - Using the script helpers documentation. - Add a LICENSE file for the package. - Edit README.md and README_fr.md. - # ZwiiCMS for YunoHost Integration level From fa6d22d7d6bb772e876f16bfd22152135af34074 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Sun, 24 May 2020 11:59:12 +0200 Subject: [PATCH 103/107] Create README_fr --- README_fr | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 README_fr diff --git a/README_fr b/README_fr new file mode 100644 index 0000000..8f2db33 --- /dev/null +++ b/README_fr @@ -0,0 +1,74 @@ +# ZwiiCMS for YunoHost + + Integration level + Install ZwiiCMS with YunoHost + +Lire ce readme en français. + + > *Ce paquet vous permet d'installer ZwiiCMS rapidement et simplement sur un serveur YunoHost.* +Si vous n'avez pas YunoHost, veuillez consulter [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* + +Overview + +[ZwiiCMS](https://zwiicms.com) - le CMS simple, léger, sans base de données (Flat-File), évolutif et réactif ! +Un CMS pour créer et gérer facilement votre site web sans aucune connaissance en programmation. + + +Version: 9.2.27 + +## Captures d'écran + + ![Official demo](https://zwiicms.com/portfolio) + +## Demo + + [Official demo](https://zwiicms.com/demo-live) + +## Configuration + +Comment configurer cette application : via le panneau d'administration, un simple fichier avec SSH, ou tout autre moyen. + +## Documentation + + Documentation officielle : Lien vers la documentation officielle de cette application + La documentation de YunoHost : Si une documentation spécifique est nécessaire, n'hésitez pas à y contribuer. + +Caractéristiques spécifiques de YunoHost + +## Support multi-utilisateurs + +LDAP et HTTP sont-ils pris en charge ? L'application peut-elle être utilisée par plusieurs utilisateurs ? +Architectures prises en charge + + x86-64b - Statut du paquet + ARMv8-A - Statut du paquet + +## Restrictions + + Pas de restriction connue. + +## Informations supplémentaires + + Autres informations que vous pourriez ajouter au sujet de cette demande + +Plus d'informations sur la page de documentation : +https://yunohost.org/packaging_apps +Liens + + Signaler un bug : https://github.com/USER/zwiicms_ynh/issues + Site web de l'application : https://zwiicms.com/ + Dépôt d'applications en amont : https://github.com/fredtempez/ZwiiCMS + Site web de YunoHost : https://yunohost.org/ + +--- + +Informations sur les développeurs +---------------- + +Seulement si vous voulez utiliser la branche testing plutôt que la banche stable (master). + +Pour essayer la branche testing, veuillez procéder ainsi : + + sudo yunohost app install https://github.com/pp-r/zwiicms_ynh/tree/testing --debug + or + sudo yunohost app upgrade zwiicms -u https://github.com/pp-r/zwiicms_ynh/tree/testing --debug From c0c5dd0de704790f2b8931380f5aff290994c2e2 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Sun, 24 May 2020 12:02:05 +0200 Subject: [PATCH 104/107] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d7173ac..67e7686 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Integration level Install ZwiiCMS with YunoHost -Lire ce readme en français. +Lire ce readme en français : https://github.com/pp-r/zwiicms_ynh/blob/alpha/README_fr. > *This package allow you to install ZwiiCMS quickly and simply on a YunoHost server.* If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* @@ -18,11 +18,11 @@ Shipped version: 9.2.27 ## Screenshots - ![Official demo](Link to a demo site for this app) + ![Official demo](https://zwiicms.com/portfolio) ## Demo - [Official demo](Link to a demo site for this app) + [Official demo](https://zwiicms.com/demo-live) ## Configuration @@ -56,8 +56,8 @@ https://yunohost.org/packaging_apps Links Report a bug: https://github.com/USER/zwiicms_ynh/issues - App website: Link to the official website of this app - Upstream app repository: Link to the official repository of the upstream app + App website: https://zwiicms.com/ + Upstream app repository: https://github.com/fredtempez/ZwiiCMS YunoHost website: https://yunohost.org/ --- From 65754f769a4f203fc0162f0708a9a7fa1ee22649 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Sun, 24 May 2020 12:02:43 +0200 Subject: [PATCH 105/107] Update README_fr --- README_fr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README_fr b/README_fr index 8f2db33..27d75d7 100644 --- a/README_fr +++ b/README_fr @@ -65,10 +65,10 @@ Liens Informations sur les développeurs ---------------- -Seulement si vous voulez utiliser la branche testing plutôt que la banche stable (master). +Seulement si vous voulez utiliser la branche alpha plutôt que la banche stable (master). Pour essayer la branche testing, veuillez procéder ainsi : - sudo yunohost app install https://github.com/pp-r/zwiicms_ynh/tree/testing --debug + sudo yunohost app install https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug or - sudo yunohost app upgrade zwiicms -u https://github.com/pp-r/zwiicms_ynh/tree/testing --debug + sudo yunohost app upgrade zwiicms -u https://github.com/pp-r/zwiicms_ynh/tree/alpha --debug From e786b175fb571c2aee52a84d7328b8c2b0be884a Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Sun, 24 May 2020 12:03:14 +0200 Subject: [PATCH 106/107] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 67e7686..f0e8294 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Overview A CMS to easily create and manage your website without any programming knowledge. -Shipped version: 9.2.27 +Shipped version: 9.2.28 ## Screenshots From 3c3748fbd7d27e1bfd162073bdfeff0f28aeabc9 Mon Sep 17 00:00:00 2001 From: pp-r <64266134+pp-r@users.noreply.github.com> Date: Sun, 24 May 2020 12:03:29 +0200 Subject: [PATCH 107/107] Update README_fr --- README_fr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_fr b/README_fr index 27d75d7..8f656c3 100644 --- a/README_fr +++ b/README_fr @@ -14,7 +14,7 @@ Overview Un CMS pour créer et gérer facilement votre site web sans aucune connaissance en programmation. -Version: 9.2.27 +Version: 9.2.28 ## Captures d'écran