1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/friendica_ynh.git synced 2024-09-03 18:36:14 +02:00

Upgraded to 2018.09 (#12)

* Updated to version 2018.09 (#11)

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Upgrade to 2018.09

* Fixed ldap plugin in 2018.09

* Removed name from ldap configuration

* Updation from previous version fix

* Updation from previous version fix

* Updation from previous version fix

* Put commenting at right palce
This commit is contained in:
anmol26s 2018-09-28 22:00:45 +05:30 committed by GitHub
parent faf3b2b707
commit f31d1016be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 147 additions and 41 deletions

View file

@ -6,7 +6,7 @@
[Friendica](http://friendi.ca/) integration for YunoHost<br> [Friendica](http://friendi.ca/) integration for YunoHost<br>
**Version:2018.05**<br><br> **Version:2018.09**<br><br>
Current snapshot in *sources*: Current snapshot in *sources*:

21
conf/addon.ini.php Normal file
View file

@ -0,0 +1,21 @@
<?php return <<<INI
; Copy this configuration file to addon.ini.php and edit it if you want to configure addons, see below example for the twitter addon
;[twitter]
;consumerkey = localhost
;consumersecret = mysqlusername
[system]
addon = ldapauth
[ldapauth]
ldap_server = 'localhost'
ldap_searchdn = 'ou=users,dc=yunohost,dc=org'
ldap_userattr = 'uid'
ldap_autocreateaccount = 'true'
ldap_autocreateaccount_emailattribute = 'mail'
INI;
// Keep this line

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/friendica/friendica-addons/archive/2018.05.zip SOURCE_URL=https://github.com/friendica/friendica-addons/archive/2018.09.zip
SOURCE_SUM=e00143e9302b25b01886deac5302d326 SOURCE_SUM=9a9e4702419e369ffc7ecfd8fb5b5f97
SOURCE_SUM_PRG=md5sum SOURCE_SUM_PRG=md5sum
SOURCE_FORMAT=zip SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/friendica/friendica/archive/2018.05.zip SOURCE_URL=https://github.com/friendica/friendica/archive/2018.09.zip
SOURCE_SUM=9b5497423ca7ce4b581fa97ca12f412d SOURCE_SUM=f127463d2c6c1c593b1f1ae5ea80dcf3
SOURCE_SUM_PRG=md5sum SOURCE_SUM_PRG=md5sum
SOURCE_FORMAT=zip SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true

41
conf/local.ini.php Normal file
View file

@ -0,0 +1,41 @@
<?php return <<<INI
; If automatic system installation fails:
; Copy this file to local.ini.php
; Why local.ini.php? Because it contains sensitive information which could
; give somebody complete control of your database. Apache's default
; configuration will interpret any .php file as a script and won't show the values
; Then set the following for your MySQL installation
[database]
hostname = localhost
username = mysqlusername
password = mysqlpassword
database = mysqldatabasename
charset = utf8mb4
; ****************************************************************
; The configuration below will be overruled by the admin panel.
; Changes made below will only have an effect if the database does
; not contain any configuration for the friendica system.
; ****************************************************************
[config]
admin_email =
sitename = Friendica Social Network
register_policy = REGISTER_OPEN
register_text =
[system]
default_timezone = UTC
language = en
INI;
// Keep this line

View file

@ -8,7 +8,7 @@
}, },
"url": "http://friendi.ca", "url": "http://friendi.ca",
"license": "free", "license": "free",
"version": "2018.05", "version": "2018.09",
"maintainer": { "maintainer": {
"name": "Anmol Sharma", "name": "Anmol Sharma",
"email": "anmol@datamol.org" "email": "anmol@datamol.org"

View file

@ -12,3 +12,37 @@ ynh_delete_file_checksum () {
local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_' local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_'
ynh_app_setting_delete $app $checksum_setting_name ynh_app_setting_delete $app $checksum_setting_name
} }
# =============================================================================
# COMMON ROUNDCUBE FUNCTIONS
# =============================================================================
# Execute a composer command from a given directory
# usage: composer_exec workdir COMMAND [ARG ...]
exec_composer() {
local workdir=$1
shift 1
COMPOSER_HOME="${workdir}/.composer" \
php "${workdir}/composer.phar" $@ \
-d "${workdir}" --quiet --no-interaction
}
# Install and initialize Composer in the given directory
# usage: init_composer destdir
init_composer() {
local destdir=$1
# install composer
curl -sS https://getcomposer.org/installer \
| COMPOSER_HOME="${destdir}/.composer" \
php -- --quiet --install-dir="$destdir" \
|| ynh_die "Unable to install Composer"
# install composer.json
cp "${destdir}/composer.json-dist" "${destdir}/composer.json"
# update dependencies to create composer.lock
exec_composer "$destdir" install --no-dev \
|| ynh_die "Unable to update Roundcube core dependencies"
}

View file

@ -89,6 +89,7 @@ ynh_mysql_setup_db $db_name $db_name
ynh_app_setting_set $app final_path $final_path ynh_app_setting_set $app final_path $final_path
# Download, check integrity, uncompress and patch the source from app.src # Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source "$final_path" ynh_setup_source "$final_path"
cp -f "$final_path/.htaccess-dist" "$final_path/.htaccess"
# 2 - Addons # 2 - Addons
sudo mkdir $final_path/addon sudo mkdir $final_path/addon
@ -103,20 +104,20 @@ ynh_add_nginx_config
# configure friendica # configure friendica
sudo cp "../conf/htconfig.php" "/var/www/$app/.htconfig.php" sudo cp -f "/var/www/$app/config/local-sample.ini.php" "/var/www/$app/config/local.ini.php"
ynh_replace_string "your.mysqlhost.com" "localhost" "$final_path/.htconfig.php" ynh_replace_string "your.mysqlhost.com" "localhost" "$final_path/config/local.ini.php"
ynh_replace_string "mysqlusername" "$db_name" "$final_path/.htconfig.php" ynh_replace_string "mysqlusername" "$db_name" "$final_path/config/local.ini.php"
ynh_replace_string "mysqldatabasename" "$db_name" "$final_path/.htconfig.php" ynh_replace_string "mysqldatabasename" "$db_name" "$final_path/config/local.ini.php"
ynh_replace_string "mysqlpassword" "$db_pwd" "$final_path/.htconfig.php" ynh_replace_string "mysqlpassword" "$db_pwd" "$final_path/config/local.ini.php"
ynh_replace_string "__ADMIN_EMAIL__" "$admin_mail" "$final_path/.htconfig.php" ynh_replace_string "admin_email =" "admin_email = $admin_mail" "$final_path/config/local.ini.php"
ynh_replace_string "die('The configuration you did manually contains some mistakes. Please have a look at your .htconfig.php file.');" "// die('The configuration you did manually contains some mistakes. Please have a look at your .htconfig.php file.');" "$final_path/.htconfig.php" ynh_replace_string "register_policy = REGISTER_OPEN" "register_policy = REGISTER_CLOSED" "$final_path/config/local.ini.php"
# init db # init db
ynh_mysql_connect_as "$db_name" "$db_pwd" "$db_name" < "$final_path/database.sql" ynh_mysql_connect_as "$db_name" "$db_pwd" "$db_name" < "$final_path/database.sql"
# addon config # addon config
sudo su -c "cat ../conf/conf.php >> $final_path/.htconfig.php" sudo cp "../conf/addon.ini.php" "$final_path/config/."
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER
@ -138,7 +139,7 @@ ynh_add_fpm_config
sudo chown -R www-data:www-data $final_path sudo chown -R www-data:www-data $final_path
# 3 - some extra folders # 3 - some extra folders
sudo mkdir -p "${final_path}/view/smarty3" sudo mkdir -p "${final_path}/view/smarty3"
sudo chmod -R 777 $final_path/view/smarty3 sudo chmod -R 775 $final_path/view/smarty3
chown -R $app: $final_path chown -R $app: $final_path
# Set up poller # Set up poller
@ -151,7 +152,7 @@ sudo cp ../conf/poller-cron /etc/cron.d/$app
#================================================= #=================================================
# Calculate and store the config file checksum into the app settings # Calculate and store the config file checksum into the app settings
ynh_store_file_checksum "$final_path/.htconfig.php" ynh_store_file_checksum "$final_path/config/local.ini.php"
# Run composer # Run composer
(cd $final_path && sudo php bin/composer.phar install) (cd $final_path && sudo php bin/composer.phar install)

View file

@ -84,7 +84,7 @@ ynh_install_app_dependencies 'php-mbstring|base-files(<<9.0)' php5-cli 'php5-ima
# set permission # set permission
sudo chmod -R 777 $final_path/view/smarty3 chmod -R 775 $final_path/view/smarty3
#================================================= #=================================================
# RESTORE THE CRON FILE # RESTORE THE CRON FILE

View file

@ -18,6 +18,9 @@ app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get $app domain) domain=$(ynh_app_setting_get $app domain)
path_url=$(ynh_app_setting_get $app path) path_url=$(ynh_app_setting_get $app path)
final_path=$(ynh_app_setting_get $app final_path) final_path=$(ynh_app_setting_get $app final_path)
db_name=$(ynh_app_setting_get $app db_name)
db_pwd=$(ynh_app_setting_get $app mysqlpwd)
admin_mail=$(ynh_app_setting_get $app email)
#================================================= #=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
@ -32,21 +35,6 @@ ynh_clean_setup () {
# Exit if an error occurs during the execution of the script # Exit if an error occurs during the execution of the script
ynh_abort_if_errors ynh_abort_if_errors
# Add Dependencies
ynh_install_app_dependencies 'php-mbstring|base-files(<<9.0)' php5-cli 'php5-imagick|php-imagick' php5-gd php5-mcrypt 'php-xml|base-files(<<9.0)'
# Create a temporary directory
tmpdir="$(mktemp -d)"
# Backup the config file in the temp dir
cp -a "$final_path/.htconfig.php" "$tmpdir/.htconfig.php"
# If final_path doesn't exist, create it
if [ -z $final_path ]; then
final_path=/var/www/$app
ynh_app_setting_set $app final_path $final_path
fi
#================================================= #=================================================
# CHECK THE PATH # CHECK THE PATH
#================================================= #=================================================
@ -54,18 +42,40 @@ fi
# Normalize the URL path syntax # Normalize the URL path syntax
path_url=$(ynh_normalize_url_path $path_url) path_url=$(ynh_normalize_url_path $path_url)
# Add Dependencies
ynh_install_app_dependencies 'php-mbstring|base-files(<<9.0)' php5-cli 'php5-imagick|php-imagick' php5-gd php5-mcrypt 'php-xml|base-files(<<9.0)'
# If final_path doesn't exist, create it
if [ -z $final_path ]; then
final_path=/var/www/$app
ynh_app_setting_set $app final_path $final_path
fi
if [ -f $final_path/.htconfig.php ]; then
rm "$final_path/.htconfig.php"
fi
# Download, check integrity, uncompress and patch the source from app.src # Download, check integrity, uncompress and patch the source from app.src
ynh_setup_source "$final_path" ynh_setup_source "$final_path"
sudo cp -a "$tmpdir/.htconfig.php" "${final_path}"
sudo rm -Rf "$tmpdir" # Copy config file for correct place
cp -f "/var/www/$app/config/local-sample.ini.php" "/var/www/$app/config/local.ini.php"
# Replace strings in config file
ynh_replace_string "your.mysqlhost.com" "localhost" "$final_path/config/local.ini.php"
ynh_replace_string "mysqlusername" "$db_name" "$final_path/config/local.ini.php"
ynh_replace_string "mysqldatabasename" "$db_name" "$final_path/config/local.ini.php"
ynh_replace_string "mysqlpassword" "$db_pwd" "$final_path/config/local.ini.php"
ynh_replace_string "admin_email =" "admin_email = $admin_mail" "$final_path/config/local.ini.php"
ynh_replace_string "register_policy = REGISTER_OPEN" "register_policy = REGISTER_CLOSED" "$final_path/config/local.ini.php"
#Copy Addons #Copy Addons
sudo mkdir $final_path/addon rm -Rf "$final_path/addon"
ynh_setup_source "$final_path/addon" "addons" ynh_setup_source "$final_path/addon" "addons"
# 3 - some extra folders # 3 - some extra folders
sudo mkdir -p "${final_path}/view/smarty3" sudo chmod -R 775 $final_path/view/smarty3
sudo chmod -R 777 $final_path/view/smarty3
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER
@ -79,7 +89,6 @@ chown -R $app: $final_path
# Create a dedicated nginx config # Create a dedicated nginx config
ynh_add_nginx_config ynh_add_nginx_config
# configure friendica
#================================================= #=================================================
# PHP-FPM CONFIGURATION # PHP-FPM CONFIGURATION
@ -89,11 +98,11 @@ ynh_add_nginx_config
ynh_add_fpm_config ynh_add_fpm_config
# Verify the checksum and backup the file if it's different # Verify the checksum and backup the file if it's different
ynh_backup_if_checksum_is_different "$final_path/.htconfig.php" ynh_backup_if_checksum_is_different "$final_path/config/local.ini.php"
# Recalculate and store the config file checksum into the app settings # Recalculate and store the config file checksum into the app settings
ynh_store_file_checksum "$final_path/.htconfig.php" ynh_store_file_checksum "$final_path/config/local.ini.php"
# Set up poller # Set up cron job
ynh_replace_string "__YNH_WWW_PATH__" "$final_path" ../conf/poller-cron ynh_replace_string "__YNH_WWW_PATH__" "$final_path" ../conf/poller-cron
ynh_replace_string "__USER__" "$app" ../conf/poller-cron ynh_replace_string "__USER__" "$app" ../conf/poller-cron
sudo cp ../conf/poller-cron /etc/cron.d/$app sudo cp ../conf/poller-cron /etc/cron.d/$app