- Add install composer also localy into roundcube documentroot.

- Fix some minor error for configuring/installing a logo.
This commit is contained in:
Christoph 2017-10-11 14:51:44 +02:00
parent 971a5a3057
commit 52ffac83fe

View File

@ -28,6 +28,7 @@ conf_file="${_src_base_dir}/conf/install_roundcube.conf"
curdir=`pwd`
log_file="$(mktemp)"
tmp_dir="$(mktemp -d)"
backup_date="$(date +%Y-%m-%d-%H%M)"
@ -35,6 +36,14 @@ backup_date="$(date +%Y-%m-%d-%H%M)"
# - Functions
# -------------
clean_up() {
# Perform program exit housekeeping
rm -f "$log_file"
rm -rf "$tmp_dir"
exit $1
}
echononl(){
echo X\\c > /tmp/shprompt$$
if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then
@ -51,7 +60,7 @@ fatal(){
echo ""
echo -e "\t\033[31m\033[1mInstalllation wird abgebrochen\033[m"
echo ""
exit 1
clean_up 1
}
error(){
@ -81,6 +90,7 @@ echo_skipped() {
echo -e "\033[75G[ \033[30m\033[1mskipped\033[m ]"
}
trap clean_up SIGHUP SIGINT SIGTERM
if [ "$DB_TYPE" = "postgres" -o "$DB_TYPE" = "postgresql" -o "$DB_TYPE" = "pgsql" -o "$DB_TYPE" = "psql" ];then
@ -223,9 +233,13 @@ fi
SKIN_LOGO_PRESENT=false
if [[ -f "${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO}" ]]; then
SKIN_LOGO_PRESENT=true
SKIN_LOGO_DIR="$(dirname $SKIN_LOGO)"
SKIN_LOGO_FILE="$(basename $SKIN_LOGO)"
cp -a ${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO} /tmp/
SKIN_LOGO_DIR="$(echo "${SKIN_LOGO%/*}")"
SKIN_LOGO_FILE="$(echo "${SKIN_LOGO##*/}")"
if [[ "$(echo "${SKIN_LOGO%/*}")" = "$SKIN_LOGO" ]] ; then
cp -a "${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO}" "${tmp_dir}/"
else
cp -a "${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO_DIR}" "${tmp_dir}/"
fi
fi
# ---
@ -468,15 +482,6 @@ else
error "$(cat $log_file)"
fi
echononl "\tRemove the installer"
php -r "unlink('${_src_base_dir}/composer-setup.php');" > $log_file 2>&1
if [[ "$?" = "0" ]]; then
echo_ok
else
echo_failed
error "$(cat $log_file)"
fi
echo -e "\n\n\t\033[37m\033[1mCreate some Backups..\033[m\n"
@ -586,6 +591,24 @@ else
error "$(cat $log_file)"
fi
echononl "\tInstall composer to ${WEBSITE_BASEDIR}/roundcubemail-${ROUNDCUBE_VERSION}"
php ${_src_base_dir}/composer-setup.php --install-dir=${WEBSITE_BASEDIR}/roundcubemail-${ROUNDCUBE_VERSION} > $log_file 2>&1
if [[ "$?" = "0" ]]; then
echo_ok
else
echo_failed
error "$(cat $log_file)"
fi
echononl "\tRemove the installer"
php -r "unlink('${_src_base_dir}/composer-setup.php');" > $log_file 2>&1
if [[ "$?" = "0" ]]; then
echo_ok
else
echo_failed
error "$(cat $log_file)"
fi
echononl "\tInstall PHP dependencies.."
#/usr/local/php-${php_latest_ver}/bin/php /usr/local/bin/composer install --no-dev
@ -667,17 +690,18 @@ fi
if $SKIN_LOGO_PRESENT ; then
_failed=false
echononl "\tRestore logo '$SKIN_LOGO_FILE'"
if [[ ! -d "${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO_DIR}" ]]; then
mkdir ${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO_DIR} > $log_file 2>&1
if [[ $? -ne 0 ]]; then
_failed=true
if [[ "$(echo "${SKIN_LOGO%/*}")" = "$SKIN_LOGO" ]] ; then
cp -a "${tmp_dir}/${SKIN_LOGO}" "${WEBSITE_BASEDIR}/htdocs/" >> $log_file 2>&1
else
if [[ ! -d "${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO_DIR}" ]]; then
cp -a "${tmp_dir}/${SKIN_LOGO_DIR}" "${WEBSITE_BASEDIR}/htdocs/" >> $log_file 2>&1
else
cp -a "$(realpath "${tmp_dir}/${SKIN_LOGO_DIR}/${SKIN_LOGO_FILE}")" \
"${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO_DIR}/${SKIN_LOGO_FILE}" >> $log_file 2>&1
fi
fi
mv /tmp/$SKIN_LOGO_FILE ${WEBSITE_BASEDIR}/htdocs/${SKIN_LOGO_DIR}/ >> $log_file 2>&1
if [[ $? -ne 0 ]]; then
_failed=true
fi
if $_failed ; then
echo_failed
error $(cat $log_file)
else
@ -1506,7 +1530,7 @@ fi
info "Now browse to the intaller site and continue installation.\n$(cat <<EOF
Browse to site: http://${WEBSITE_NAME}/installer
Browse to site: \033[1mhttps://${WEBSITE_NAME}/installer\033[m
Maybe you want to change some values as follows
@ -1560,7 +1584,7 @@ else
warn "Abort by user request - Answer as not 'YES'"
echo ""
rm -f $log_file
exit 1
clean_up 1
fi
echo -e "\n\n\t\033[37m\033[1mSome additional configuration ..\033[m\n"
@ -1615,14 +1639,14 @@ cat <<EOF >>$WEBSITE_BASEDIR/roundcubemail-${ROUNDCUBE_VERSION}/config/config.in
// SYSTEM
// ----------------------------------
// THIS OPTION WILL ALLOW THE INSTALLER TO RUN AND CAN EXPOSE SENSITIVE CONFIG DATA.
// ONLY ENABLE IT IF YOU'RE REALLY SURE WHAT YOU'RE DOING!
\$config['enable_installer'] = false;
// Allow browser-autocompletion on login form.
// 0 - disabled, 1 - username and host only, 2 - username, host, password
\$config['login_autocomplete'] = 1;
// Path to a local mime magic database file for PHPs finfo extension.
// Set to null if the default path should be used.
\$config['mime_magic'] = '/usr/share/misc/magic';
// ----------------------------------
// USER PREFERENCES
@ -2988,6 +3012,5 @@ else
fi
echo ""
rm -rf $log_file
exit
clean_up 0