From d94e61a7b627381715751fb6cb6c0cecf7ece3f9 Mon Sep 17 00:00:00 2001 From: Template builder Date: Sun, 5 Jul 2015 16:27:08 -0400 Subject: Creating template --- .openshift/README.md | 5 +++++ .openshift/action_hooks/README.md | 3 +++ .openshift/cron/README.cron | 27 +++++++++++++++++++++++++++ .openshift/cron/daily/.gitignore | 0 .openshift/cron/hourly/.gitignore | 0 .openshift/cron/minutely/.gitignore | 0 .openshift/cron/monthly/.gitignore | 0 .openshift/cron/weekly/README | 16 ++++++++++++++++ .openshift/cron/weekly/chrono.dat | 1 + .openshift/cron/weekly/chronograph | 3 +++ .openshift/cron/weekly/jobs.allow | 12 ++++++++++++ .openshift/cron/weekly/jobs.deny | 7 +++++++ .openshift/markers/README.md | 4 ++++ .openshift/pear.txt | 0 14 files changed, 78 insertions(+) create mode 100644 .openshift/README.md create mode 100644 .openshift/action_hooks/README.md create mode 100644 .openshift/cron/README.cron create mode 100644 .openshift/cron/daily/.gitignore create mode 100644 .openshift/cron/hourly/.gitignore create mode 100644 .openshift/cron/minutely/.gitignore create mode 100644 .openshift/cron/monthly/.gitignore create mode 100644 .openshift/cron/weekly/README create mode 100644 .openshift/cron/weekly/chrono.dat create mode 100755 .openshift/cron/weekly/chronograph create mode 100644 .openshift/cron/weekly/jobs.allow create mode 100644 .openshift/cron/weekly/jobs.deny create mode 100644 .openshift/markers/README.md create mode 100644 .openshift/pear.txt (limited to '.openshift') diff --git a/.openshift/README.md b/.openshift/README.md new file mode 100644 index 000000000..68061ca57 --- /dev/null +++ b/.openshift/README.md @@ -0,0 +1,5 @@ +The OpenShift `php` cartridge documentation can be found at: +http://openshift.github.io/documentation/oo_cartridge_guide.html#php + +For information about .openshift directory, consult the documentation: +http://openshift.github.io/documentation/oo_user_guide.html#the-openshift-directory diff --git a/.openshift/action_hooks/README.md b/.openshift/action_hooks/README.md new file mode 100644 index 000000000..541319581 --- /dev/null +++ b/.openshift/action_hooks/README.md @@ -0,0 +1,3 @@ +For information about action hooks, consult the documentation: + +http://openshift.github.io/documentation/oo_user_guide.html#action-hooks diff --git a/.openshift/cron/README.cron b/.openshift/cron/README.cron new file mode 100644 index 000000000..ac77f7872 --- /dev/null +++ b/.openshift/cron/README.cron @@ -0,0 +1,27 @@ +Run scripts or jobs on a periodic basis +======================================= +Any scripts or jobs added to the minutely, hourly, daily, weekly or monthly +directories will be run on a scheduled basis (frequency is as indicated by the +name of the directory) using run-parts. + +run-parts ignores any files that are hidden or dotfiles (.*) or backup +files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} + +The presence of two specially named files jobs.deny and jobs.allow controls +how run-parts executes your scripts/jobs. + jobs.deny ===> Prevents specific scripts or jobs from being executed. + jobs.allow ===> Only execute the named scripts or jobs (all other/non-named + scripts that exist in this directory are ignored). + +The principles of jobs.deny and jobs.allow are the same as those of cron.deny +and cron.allow and are described in detail at: + http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-Automating_System_Tasks.html#s2-autotasks-cron-access + +See: man crontab or above link for more details and see the the weekly/ + directory for an example. + +PLEASE NOTE: The Cron cartridge must be installed in order to run the configured jobs. + +For more information about cron, consult the documentation: +http://openshift.github.io/documentation/oo_cartridge_guide.html#cron +http://openshift.github.io/documentation/oo_user_guide.html#cron diff --git a/.openshift/cron/daily/.gitignore b/.openshift/cron/daily/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/.openshift/cron/hourly/.gitignore b/.openshift/cron/hourly/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/.openshift/cron/minutely/.gitignore b/.openshift/cron/minutely/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/.openshift/cron/monthly/.gitignore b/.openshift/cron/monthly/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/.openshift/cron/weekly/README b/.openshift/cron/weekly/README new file mode 100644 index 000000000..7c3e659fe --- /dev/null +++ b/.openshift/cron/weekly/README @@ -0,0 +1,16 @@ +Run scripts or jobs on a weekly basis +===================================== +Any scripts or jobs added to this directory will be run on a scheduled basis +(weekly) using run-parts. + +run-parts ignores any files that are hidden or dotfiles (.*) or backup +files (*~ or *,) or named *.{rpmsave,rpmorig,rpmnew,swp,cfsaved} and handles +the files named jobs.deny and jobs.allow specially. + +In this specific example, the chronograph script is the only script or job file +executed on a weekly basis (due to white-listing it in jobs.allow). And the +README and chrono.dat file are ignored either as a result of being black-listed +in jobs.deny or because they are NOT white-listed in the jobs.allow file. + +For more details, please see ../README.cron file. + diff --git a/.openshift/cron/weekly/chrono.dat b/.openshift/cron/weekly/chrono.dat new file mode 100644 index 000000000..fc4abb87c --- /dev/null +++ b/.openshift/cron/weekly/chrono.dat @@ -0,0 +1 @@ +Time And Relative D...n In Execution (Open)Shift! diff --git a/.openshift/cron/weekly/chronograph b/.openshift/cron/weekly/chronograph new file mode 100755 index 000000000..61de949f4 --- /dev/null +++ b/.openshift/cron/weekly/chronograph @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "`date`: `cat $(dirname \"$0\")/chrono.dat`" diff --git a/.openshift/cron/weekly/jobs.allow b/.openshift/cron/weekly/jobs.allow new file mode 100644 index 000000000..8d32abc70 --- /dev/null +++ b/.openshift/cron/weekly/jobs.allow @@ -0,0 +1,12 @@ +# +# Script or job files listed in here (one entry per line) will be +# executed on a weekly-basis. +# +# Example: The chronograph script will be executed weekly but the README +# and chrono.dat files in this directory will be ignored. +# +# The README file is actually ignored due to the entry in the +# jobs.deny which is checked before jobs.allow (this file). +# +chronograph + diff --git a/.openshift/cron/weekly/jobs.deny b/.openshift/cron/weekly/jobs.deny new file mode 100644 index 000000000..73c945008 --- /dev/null +++ b/.openshift/cron/weekly/jobs.deny @@ -0,0 +1,7 @@ +# +# Any script or job files listed in here (one entry per line) will NOT be +# executed (read as ignored by run-parts). +# + +README + diff --git a/.openshift/markers/README.md b/.openshift/markers/README.md new file mode 100644 index 000000000..8daca526c --- /dev/null +++ b/.openshift/markers/README.md @@ -0,0 +1,4 @@ +For information about markers, consult the documentation: + +http://openshift.github.io/documentation/oo_user_guide.html#markers +http://openshift.github.io/documentation/oo_cartridge_guide.html#php-markers diff --git a/.openshift/pear.txt b/.openshift/pear.txt new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3 From b51bcba26398a90f9d29d7ced2615a88040a6aac Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Sun, 5 Jul 2015 23:38:10 +0200 Subject: Added cron script to exexute poller every 5 minutes --- .openshift/cron/minutely/poller | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 .openshift/cron/minutely/poller (limited to '.openshift') diff --git a/.openshift/cron/minutely/poller b/.openshift/cron/minutely/poller new file mode 100755 index 000000000..e1ebdb751 --- /dev/null +++ b/.openshift/cron/minutely/poller @@ -0,0 +1,10 @@ +#!/bin/bash +if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then + touch $OPENSHIFT_DATA_DIR/last_run +fi +if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +4) ]]; then #run every 5 mins + rm -f $OPENSHIFT_DATA_DIR/last_run + touch $OPENSHIFT_DATA_DIR/last_run + # The command(s) that you want to run every 5 minutes +cd /var/lib/openshift/55999305e0b8cd838f000053/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php +fi -- cgit v1.2.3 From fad9594b31629c697bf7ddab9e01d92f4868e605 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Tue, 1 Sep 2015 18:44:37 +0200 Subject: Added openshift-hubzilla-deploy to .openshift/action_hooks/deploy --- .openshift/action_hooks/deploy | 110 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100755 .openshift/action_hooks/deploy (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy new file mode 100755 index 000000000..b7f095ccd --- /dev/null +++ b/.openshift/action_hooks/deploy @@ -0,0 +1,110 @@ +#!/bin/bash +# This deploy hook gets executed after dependencies are resolved and the +# build hook has been run but before the application has been started back +# up again. This script gets executed directly, so it could be python, php, +# ruby, etc. + +# Bash help: http://www.panix.com/~elflord/unix/bash-tute.html + +# For information about action hooks supported by OpenShift, consult the documentation: +# http://openshift.github.io/documentation/oo_user_guide.html#the-openshift-directory + +#### + +# Hubzilla specific deploy script + +# Place this file in /.openshift/action_hooks/ (The .openshift folder will be in the root of your repo) +# The file name should be "deploy" such that you have: +# .openshift/action_hooks/deploy + +# Conventions: Vars in curley braces have the slash after implied so no need to add it. +# e.g. ${OPENSHIFT_REPO_DIR}php/foobar = /repo/php/foobar +# See all OpenShift vars here: +# https://www.openshift.com/developers/openshift-environment-variables + +# HME - NOTE - leftover from original openshift-drupal-deploy +# In config.php you can leverage the enviroment variables like this: +# // Define env vars. +# if (array_key_exists('OPENSHIFT_APP_NAME', $_SERVER)) { +# $src = $_SERVER; +# } else { +# $src = $_ENV; +# } +# +# $conf["file_private_path"] = $src['OPENSHIFT_DATA_DIR'] . "private"; +# $conf["file_temporary_path"] = $src['OPENSHIFT_DATA_DIR'] . "tmp"; + + +#### + +# Start Deploy + +echo "Starting Deploy..." + +# Let's create the Hubzilla files directory in the Openshift data folder ($OPENSHIFT_DATA_DIR). + +echo "Check for the files directory called store, if not created - create it" + +if [ ! -d ${OPENSHIFT_DATA_DIR}store ]; then +mkdir -p ${OPENSHIFT_DATA_DIR}"store/[data]/smarty3" +echo "Done creating files directory" + +else + +echo "The files directory called store already exists" + +fi + +#### + +# Set permissions on the files directory. + +echo "Now chmod 777 -R files" + +chmod -R 777 ${OPENSHIFT_DATA_DIR}store + +echo "chmod done, permissions set to 777" + +#### + +# Symlink our files folder to the repo. + +# Note the "php" directory below seems to be the best way to serve OpenShift files. +# This is good as that allows us for directories one level above such as tmp and private + +echo "Create sym links for writeable directories" + +ln -sf ${OPENSHIFT_DATA_DIR}store ${OPENSHIFT_REPO_DIR}store + +echo "Files sym links created" + +#### + +# Copy config.php from the repo, rename it and place it in the data directory. +# if it's there already, skip it. + +if [ ! -f ${OPENSHIFT_DATA_DIR}config.php ]; + +then + +cp ${OPENSHIFT_REPO_DIR}config.php ${OPENSHIFT_DATA_DIR}config.php + +echo "config.php copied." + +else + +echo "Looks like the config.php file is already there, we won't overwrite it." + +fi + +#### + +# symlink the config.php file. + +echo "Create sym link for config.php" + +ln -sf ${OPENSHIFT_DATA_DIR}config.php ${OPENSHIFT_REPO_DIR}config.php + +echo "config.php symlink created" + +#### -- cgit v1.2.3 From 5cb2fa598172e8848cdb2b9f0101bff7ac97a1e1 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Tue, 1 Sep 2015 19:25:41 +0200 Subject: Fixed deploy script --- .openshift/action_hooks/deploy | 45 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index b7f095ccd..fb3136f32 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -80,31 +80,60 @@ echo "Files sym links created" #### -# Copy config.php from the repo, rename it and place it in the data directory. +# Copy .htconfig.php from the repo, rename it and place it in the data directory. # if it's there already, skip it. if [ ! -f ${OPENSHIFT_DATA_DIR}config.php ]; then -cp ${OPENSHIFT_REPO_DIR}config.php ${OPENSHIFT_DATA_DIR}config.php +cp ${OPENSHIFT_REPO_DIR}.htconfig.php ${OPENSHIFT_DATA_DIR}.htconfig.php -echo "config.php copied." +echo ".htconfig.php copied." else -echo "Looks like the config.php file is already there, we won't overwrite it." +echo "Looks like the .htconfig.php file is already there, we won't overwrite it." fi #### -# symlink the config.php file. +# symlink the .htconfig.php file. -echo "Create sym link for config.php" +echo "Create sym link for .htconfig.php" -ln -sf ${OPENSHIFT_DATA_DIR}config.php ${OPENSHIFT_REPO_DIR}config.php +ln -sf ${OPENSHIFT_DATA_DIR}.htconfig.php ${OPENSHIFT_REPO_DIR}.htconfig.php -echo "config.php symlink created" +echo ".htconfig.php symlink created" #### +# Copy .htaccess from the repo, rename it and place it in the data directory. +# if it's there already, skip it. + +if [ ! -f ${OPENSHIFT_DATA_DIR}.htaccess ]; + +then + +cp ${OPENSHIFT_REPO_DIR}.htaccess ${OPENSHIFT_DATA_DIR}.htaccess + +echo ".htaccess copied." + +else + +echo "Looks like the .htaccess file is already there, we won't overwrite it." + +fi + +#### + +# symlink the .htaccess file. + +echo "Create sym link for .htaccess" + +ln -sf ${OPENSHIFT_DATA_DIR}.htaccess ${OPENSHIFT_REPO_DIR}.htaccess + +echo ".htaccess symlink created" + +#### + -- cgit v1.2.3 From 365d690d7d32926b1fb4b1e4b7150dce70343f38 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Tue, 1 Sep 2015 20:46:14 +0200 Subject: Fix filename --- .openshift/action_hooks/deploy | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index fb3136f32..51e0f6d94 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -83,7 +83,7 @@ echo "Files sym links created" # Copy .htconfig.php from the repo, rename it and place it in the data directory. # if it's there already, skip it. -if [ ! -f ${OPENSHIFT_DATA_DIR}config.php ]; +if [ ! -f ${OPENSHIFT_DATA_DIR}.htconfig.php ]; then @@ -136,4 +136,3 @@ ln -sf ${OPENSHIFT_DATA_DIR}.htaccess ${OPENSHIFT_REPO_DIR}.htaccess echo ".htaccess symlink created" #### - -- cgit v1.2.3 From 1a05696a84808a7877fe52846110da77ef245c47 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Fri, 4 Sep 2015 20:05:15 +0200 Subject: Updating OpenShift deploy script --- .openshift/action_hooks/deploy | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index 51e0f6d94..688871d72 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -136,3 +136,27 @@ ln -sf ${OPENSHIFT_DATA_DIR}.htaccess ${OPENSHIFT_REPO_DIR}.htaccess echo ".htaccess symlink created" #### + +echo "Check for the poller at .openshift/cron/minutely/poller , if not created - create it" + +if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller ]; then +printf '%s\n' '#!/bin/bash' 'if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then' ' touch $OPENSHIFT_DATA_DIR/last_run' 'fi' 'if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +4) ]]; then #run every 5 mins' ' rm -f $OPENSHIFT_DATA_DIR/last_run' ' touch $OPENSHIFT_DATA_DIR/last_run' ' # The command(s) that you want to run every 5 minutes' 'cd /var/lib/openshift/${OPENSHIFT_APP_UUID}/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php' 'fi' >${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller +echo "Done creating file .openshift/cron/minutely/poller" + +else + +echo "The poller already exists" + +fi + +#### + +# Set permissions on the poller script to make it executable. + +echo "Now chmod 777 -R poller" + +chmod -R 777 ${OPENSHIFT_REPO}.openshift/cron/minutely/poller + +echo "chmod done, permissions set to 777 on poller script." + +#### -- cgit v1.2.3 From 2f73d24ab134391c3b3a69d5cbfede42e028b5ed Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Fri, 4 Sep 2015 21:42:27 +0200 Subject: Removed old poller --- .openshift/cron/minutely/poller | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100755 .openshift/cron/minutely/poller (limited to '.openshift') diff --git a/.openshift/cron/minutely/poller b/.openshift/cron/minutely/poller deleted file mode 100755 index e1ebdb751..000000000 --- a/.openshift/cron/minutely/poller +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then - touch $OPENSHIFT_DATA_DIR/last_run -fi -if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +4) ]]; then #run every 5 mins - rm -f $OPENSHIFT_DATA_DIR/last_run - touch $OPENSHIFT_DATA_DIR/last_run - # The command(s) that you want to run every 5 minutes -cd /var/lib/openshift/55999305e0b8cd838f000053/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php -fi -- cgit v1.2.3 From 438cb1d7e0f1518dd35a3a377dfd9a9fd885f80c Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Fri, 18 Sep 2015 18:51:03 +0200 Subject: Added hot_deploy to deploy script --- .openshift/action_hooks/deploy | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index 688871d72..d6ba6940d 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -160,3 +160,19 @@ chmod -R 777 ${OPENSHIFT_REPO}.openshift/cron/minutely/poller echo "chmod done, permissions set to 777 on poller script." #### + +echo "Check for the hot deploy marker at .openshift/markers/hot_deploy , if not created - create it" + +if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy ]; then + +touch ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy + +echo "Done creating file .openshift/cron/minutely/poller" + +else + +echo "The hot deploy marker already exists" + +fi + +#### -- cgit v1.2.3 From 525a0478b00cbfde53fa8d7a91c04c92cb85e8b5 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Fri, 18 Sep 2015 18:55:56 +0200 Subject: Added hot_deploy to deploy script - fixed echo --- .openshift/action_hooks/deploy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index d6ba6940d..29b3ab9c7 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -167,7 +167,7 @@ if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy ]; then touch ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy -echo "Done creating file .openshift/cron/minutely/poller" +echo "Done creating file .openshift/markers/hot_deploy" else -- cgit v1.2.3 From 1bd1050160efd88483a50c3a2a239e2160048924 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Fri, 18 Sep 2015 18:58:43 +0200 Subject: Added hot_deploy directly to .openshift/makers/hot_deploy --- .openshift/markers/hot_deploy | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .openshift/markers/hot_deploy (limited to '.openshift') diff --git a/.openshift/markers/hot_deploy b/.openshift/markers/hot_deploy new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3 From 4f6506657208ebf3eadce3109d1bcd8407c7bdaf Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Sun, 20 Sep 2015 23:06:25 +0200 Subject: Removed hot_deploy --- .openshift/markers/hot_deploy | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .openshift/markers/hot_deploy (limited to '.openshift') diff --git a/.openshift/markers/hot_deploy b/.openshift/markers/hot_deploy deleted file mode 100644 index e69de29bb..000000000 -- cgit v1.2.3 From 68ea1d02897cde5d9588c12489b4c8a1508c522d Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Thu, 1 Oct 2015 21:59:12 +0200 Subject: Changed deploy script - removed hot_deploy and changed poller to every 10 minutes rather than 5 minutes. --- .openshift/action_hooks/deploy | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index 29b3ab9c7..7b746ece1 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -140,7 +140,7 @@ echo ".htaccess symlink created" echo "Check for the poller at .openshift/cron/minutely/poller , if not created - create it" if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller ]; then -printf '%s\n' '#!/bin/bash' 'if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then' ' touch $OPENSHIFT_DATA_DIR/last_run' 'fi' 'if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +4) ]]; then #run every 5 mins' ' rm -f $OPENSHIFT_DATA_DIR/last_run' ' touch $OPENSHIFT_DATA_DIR/last_run' ' # The command(s) that you want to run every 5 minutes' 'cd /var/lib/openshift/${OPENSHIFT_APP_UUID}/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php' 'fi' >${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller +printf '%s\n' '#!/bin/bash' 'if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then' ' touch $OPENSHIFT_DATA_DIR/last_run' 'fi' 'if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +9) ]]; then #run every 10 mins' ' rm -f $OPENSHIFT_DATA_DIR/last_run' ' touch $OPENSHIFT_DATA_DIR/last_run' ' # The command(s) that you want to run every 5 minutes' 'cd /var/lib/openshift/${OPENSHIFT_APP_UUID}/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php' 'fi' >${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller echo "Done creating file .openshift/cron/minutely/poller" else @@ -161,17 +161,17 @@ echo "chmod done, permissions set to 777 on poller script." #### -echo "Check for the hot deploy marker at .openshift/markers/hot_deploy , if not created - create it" +### echo "Check for the hot deploy marker at .openshift/markers/hot_deploy , if not created - create it" -if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy ]; then +### if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy ]; then -touch ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy +### touch ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy -echo "Done creating file .openshift/markers/hot_deploy" +### echo "Done creating file .openshift/markers/hot_deploy" -else +### else -echo "The hot deploy marker already exists" +### echo "The hot deploy marker already exists" fi -- cgit v1.2.3 From f64acadd58d4aab4a93a1f128f8d4e702869016a Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Thu, 1 Oct 2015 22:03:12 +0200 Subject: Small fix to deploy --- .openshift/action_hooks/deploy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index 7b746ece1..f97772902 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -173,6 +173,6 @@ echo "chmod done, permissions set to 777 on poller script." ### echo "The hot deploy marker already exists" -fi +### fi #### -- cgit v1.2.3 From f23f8f7f5df4f0a7b03c688a911bfdadbff0951b Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Thu, 1 Oct 2015 22:08:38 +0200 Subject: Small fix to deploy --- .openshift/action_hooks/deploy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index f97772902..1256cc0c1 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -140,7 +140,7 @@ echo ".htaccess symlink created" echo "Check for the poller at .openshift/cron/minutely/poller , if not created - create it" if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller ]; then -printf '%s\n' '#!/bin/bash' 'if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then' ' touch $OPENSHIFT_DATA_DIR/last_run' 'fi' 'if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +9) ]]; then #run every 10 mins' ' rm -f $OPENSHIFT_DATA_DIR/last_run' ' touch $OPENSHIFT_DATA_DIR/last_run' ' # The command(s) that you want to run every 5 minutes' 'cd /var/lib/openshift/${OPENSHIFT_APP_UUID}/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php' 'fi' >${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller +printf '%s\n' '#!/bin/bash' 'if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then' ' touch $OPENSHIFT_DATA_DIR/last_run' 'fi' 'if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +9) ]]; then #run every 10 mins' ' rm -f $OPENSHIFT_DATA_DIR/last_run' ' touch $OPENSHIFT_DATA_DIR/last_run' ' # The command(s) that you want to run every 10 minutes' 'cd /var/lib/openshift/${OPENSHIFT_APP_UUID}/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php' 'fi' >${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller echo "Done creating file .openshift/cron/minutely/poller" else -- cgit v1.2.3 From 85962a3eb13ab76bc565b19aca2d62153f6f670b Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Fri, 9 Oct 2015 19:37:49 +0200 Subject: Updated Hubzilla on OpenShift README with HOWTO --- .openshift/README.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) (limited to '.openshift') diff --git a/.openshift/README.md b/.openshift/README.md index 68061ca57..c778b8f32 100644 --- a/.openshift/README.md +++ b/.openshift/README.md @@ -1,3 +1,84 @@ +#Hubzilla on OpenShift +You will notice a new .openshift folder when you fetch from upstream, i.e. from https://github.com/redmatrix/hubzilla.git , which contains a deploy script to set up Hubzilla on OpenShift. + +Create an account on OpenShift, then use the registration e-mail and password to create your first Hubzilla instance. Install git and RedHat's command line tools - rhc - if you have not already done so. + +``` +rhc app-create your_app_name php-5.4 mysql-5.5 cron phpmyadmin --namespace your_domain --from-code https://github.com/redmatrix/hubzilla.git -l your@email.address -p your_account_password +``` + +Make a note of the database username and password OpenShift creates for your instance, and use these at https://your_app_name-your_domain.rhcloud.com/ to complete the setup. + +NOTE: PostgreSQL is NOT support yet. + +Update +To update, consider your own workflow first. I have forked Hubzilla code into my GitHub account to be able to try things out, this remote repo is called origin. Here is how I fetch new code from upstream, merge into my local repo, then push the updated code both into origin and the remote repo called openshift. + +``` +git fetch upstream;git checkout master;git merge upstream/master;git push origin;git push openshift HEAD +``` + +##Administration +Symptoms of need for MySQL database administration are: +- you can visit your domain and see the Hubzilla frontpage, but trying to login throws you back to login. This can mean your session table is marked as crashed. +- you can login, but your channel posts are not visible. This can mean your item table is marked as crashed. +- you can login and you can see your channel posts, but apparently nobody is getting your posts, comments, likes and so on. This can mean your outq table is marked as crashed. + +###How to fix crashed tables in MySQL +Using MySQL and the MyISAM database engine can result in table indexes coming out of sync, and you have at least two options for fixing tables marked as crashed. +- Use the database username and password OpenShift creates for your instance at #^https://your_app_name-your_domain.rhcloud.com/phpmyadmin/ to login via the web into your phpMyAdmin web interface, click your database in the left column, in the right column scroll down to the bottom of the list of tables and click the checkbox for marking all tables, then select Check tables from the drop down menu. This will check the tables for problems, and you can then checkmark only those tables with problems, and select Repair table from the same drop down menu at the bottom. +- You can login to your instance with SSH - see OpenShift for details - then + +``` +cd mysql/data/your_database +myisamchk -r *.MYI +``` + +or if you get + +``` +Can't create new tempfile +``` + +check your OpenShift's gear quota with + +``` +quota -gus +``` + +and if you are short on space, then locally (not SSH) do + +``` +rhc app-tidy your_app_name -l your_login -p your_password +``` + +to have rhc delete temporary files and OpenShift logs to free space first, then check the size of your local repo dir and execute + +``` +git gc +``` + +against it and check the size again, and then to minimize your remote repo connect via SSH to your application gear and execute the same command against it by changing to the remote repo directory - your repo should be in + +``` +~/git/your_app_name.git +``` + +(if not, do find -size +1M to find it), then do + +``` +cd ~/mysql/data/yourdatabase +myisamchk -r -v -f*.MYI +``` + +and hopefully your database tables are now okay. + +##NOTES +Note 1: definitely DO turn off feeds and discovery by default if you are on the Free or Bronze plan on OpenShift with a single 1Gb gear by visiting https://your-app-name.rhcloud.com/admin/site when logged in as administrator of your Hubzilla site. +Note 2: DO add the above defaults into the deploy script. +Note 3: DO add git gc to the deploy script to clean up git. +Note 4: MAYBE DO add myisamchk - only checking? to the end of the deploy script. + The OpenShift `php` cartridge documentation can be found at: http://openshift.github.io/documentation/oo_cartridge_guide.html#php -- cgit v1.2.3 From ea34e4bad8463c60497f34127632697d63f9b836 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Sat, 10 Oct 2015 14:45:57 +0200 Subject: Updated README for Hubzilla on OpenShift --- .openshift/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.openshift') diff --git a/.openshift/README.md b/.openshift/README.md index c778b8f32..3ed5fd595 100644 --- a/.openshift/README.md +++ b/.openshift/README.md @@ -9,7 +9,7 @@ rhc app-create your_app_name php-5.4 mysql-5.5 cron phpmyadmin --namespace your_ Make a note of the database username and password OpenShift creates for your instance, and use these at https://your_app_name-your_domain.rhcloud.com/ to complete the setup. -NOTE: PostgreSQL is NOT support yet. +NOTE: PostgreSQL is NOT supported by the deploy script yet. Update To update, consider your own workflow first. I have forked Hubzilla code into my GitHub account to be able to try things out, this remote repo is called origin. Here is how I fetch new code from upstream, merge into my local repo, then push the updated code both into origin and the remote repo called openshift. @@ -26,7 +26,7 @@ Symptoms of need for MySQL database administration are: ###How to fix crashed tables in MySQL Using MySQL and the MyISAM database engine can result in table indexes coming out of sync, and you have at least two options for fixing tables marked as crashed. -- Use the database username and password OpenShift creates for your instance at #^https://your_app_name-your_domain.rhcloud.com/phpmyadmin/ to login via the web into your phpMyAdmin web interface, click your database in the left column, in the right column scroll down to the bottom of the list of tables and click the checkbox for marking all tables, then select Check tables from the drop down menu. This will check the tables for problems, and you can then checkmark only those tables with problems, and select Repair table from the same drop down menu at the bottom. +- Use the database username and password OpenShift creates for your instance at https://your_app_name-your_domain.rhcloud.com/phpmyadmin/ to login via the web into your phpMyAdmin web interface, click your database in the left column, in the right column scroll down to the bottom of the list of tables and click the checkbox for marking all tables, then select Check tables from the drop down menu. This will check the tables for problems, and you can then checkmark only those tables with problems, and select Repair table from the same drop down menu at the bottom. - You can login to your instance with SSH - see OpenShift for details - then ``` -- cgit v1.2.3 From df45374041a9c955eb2ff49ba07959813360c057 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Sun, 11 Oct 2015 14:32:01 +0200 Subject: Updated Hubzilla on OpenShift HOWTO with use of logging --- .openshift/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to '.openshift') diff --git a/.openshift/README.md b/.openshift/README.md index 3ed5fd595..535b9bdd1 100644 --- a/.openshift/README.md +++ b/.openshift/README.md @@ -24,6 +24,14 @@ Symptoms of need for MySQL database administration are: - you can login, but your channel posts are not visible. This can mean your item table is marked as crashed. - you can login and you can see your channel posts, but apparently nobody is getting your posts, comments, likes and so on. This can mean your outq table is marked as crashed. +You can check your OpenShift logs by doing + +``` +rhc tail -a your_app_name -n your_domain -l your@email.address -p your_account_password +``` + +and you might be able to confirm the above suspicions about crashed tables, or other problems you need to fix. + ###How to fix crashed tables in MySQL Using MySQL and the MyISAM database engine can result in table indexes coming out of sync, and you have at least two options for fixing tables marked as crashed. - Use the database username and password OpenShift creates for your instance at https://your_app_name-your_domain.rhcloud.com/phpmyadmin/ to login via the web into your phpMyAdmin web interface, click your database in the left column, in the right column scroll down to the bottom of the list of tables and click the checkbox for marking all tables, then select Check tables from the drop down menu. This will check the tables for problems, and you can then checkmark only those tables with problems, and select Repair table from the same drop down menu at the bottom. -- cgit v1.2.3 From fc4b1693f9596f0ab97903489ce3fb677dd2b969 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Sun, 18 Oct 2015 18:40:55 +0200 Subject: Added config settings sensible for Hubzilla on OpenShift --- .openshift/action_hooks/deploy | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index 1256cc0c1..d85f5a50c 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -155,7 +155,7 @@ fi echo "Now chmod 777 -R poller" -chmod -R 777 ${OPENSHIFT_REPO}.openshift/cron/minutely/poller +chmod -R 777 ${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller echo "chmod done, permissions set to 777 on poller script." @@ -176,3 +176,10 @@ echo "chmod done, permissions set to 777 on poller script." ### fi #### + +# Hubzilla configuration - changes to default settings +# to make Hubzilla on OpenShift a more pleasant experience +cd {$OPENSHIFT_REPO_DIR} +util/config system expire_delivery_reports 3 +util/config system feed_contacts 0 +util/config system disable_discover_tab 1 -- cgit v1.2.3 From ea8364eba57899dab477ef0acaf52d6485254ad7 Mon Sep 17 00:00:00 2001 From: Haakon Meland Eriksen Date: Sun, 18 Oct 2015 18:51:29 +0200 Subject: Added config settings sensible for Hubzilla on OpenShift - fixes --- .openshift/action_hooks/deploy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.openshift') diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy index d85f5a50c..dafde2d69 100755 --- a/.openshift/action_hooks/deploy +++ b/.openshift/action_hooks/deploy @@ -179,7 +179,7 @@ echo "chmod done, permissions set to 777 on poller script." # Hubzilla configuration - changes to default settings # to make Hubzilla on OpenShift a more pleasant experience -cd {$OPENSHIFT_REPO_DIR} +cd ${OPENSHIFT_REPO_DIR} util/config system expire_delivery_reports 3 util/config system feed_contacts 0 util/config system disable_discover_tab 1 -- cgit v1.2.3