2012-10-16 21:13:15 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# AlternC - Web Hosting System
|
|
|
|
# Copyright (C) 2000-2012 by the AlternC Development Team.
|
|
|
|
# https://alternc.org/
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# LICENSE
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License (GPL)
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
|
|
|
# of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# To read the license please visit http://www.gnu.org/copyleft/gpl.html
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
# Purpose of file: Install roundcube conf files.
|
|
|
|
# ----------------------------------------------------------------------
|
|
|
|
|
|
|
|
if [ "$1" = "templates" ]
|
|
|
|
then
|
|
|
|
echo "Installing Roundcube Templates ..."
|
|
|
|
|
2014-03-27 15:04:30 +00:00
|
|
|
LOGIN="0000_roundcube"
|
2012-10-16 21:13:15 +00:00
|
|
|
PASSWORD="`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..10)'`"
|
2012-10-29 17:19:23 +00:00
|
|
|
DESKEY="`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..24)'`"
|
2018-06-24 14:50:08 +00:00
|
|
|
# "
|
2012-10-16 21:13:15 +00:00
|
|
|
# Add new variables to the sed script ...
|
|
|
|
SED_SCRIPT="/tmp/alternc-roundcube.sedscript"
|
|
|
|
# cf alternc.install for more explanations on this horror :
|
|
|
|
eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_USER/;s/password/MYSQL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my.cnf`
|
|
|
|
. /etc/alternc/local.sh
|
|
|
|
# Configuration template location
|
|
|
|
TEMPLATE_DIR="/etc/alternc/templates"
|
2018-06-21 15:29:42 +00:00
|
|
|
CONFIG_FILES="etc/roundcube/config.inc.php etc/roundcube/plugins/password/config.inc.php"
|
2012-10-16 21:13:15 +00:00
|
|
|
|
|
|
|
cat > $SED_SCRIPT <<EOF
|
|
|
|
s\\%%ALTERNC_LOC%%\\$ALTERNC_LOC\\;
|
|
|
|
s\\%%dbhost%%\\$MYSQL_HOST\\;
|
|
|
|
s\\%%dbname%%\\$MYSQL_DATABASE\\;
|
|
|
|
s\\%%roundcube-login%%\\$LOGIN\\;
|
|
|
|
s\\%%roundcube-password%%\\$PASSWORD\\;
|
2012-10-29 17:19:23 +00:00
|
|
|
s\\%%deskey%%\\$DESKEY\\;
|
2012-10-16 21:13:15 +00:00
|
|
|
EOF
|
|
|
|
for file in $CONFIG_FILES; do
|
|
|
|
TEMPLATE="$TEMPLATE_DIR/${file##etc/}"
|
|
|
|
echo -n " $file"
|
|
|
|
if [ -f "$TEMPLATE" ]; then
|
2012-12-06 10:10:33 +00:00
|
|
|
sed -f "$SED_SCRIPT" < $TEMPLATE > /$file
|
2012-10-16 21:13:15 +00:00
|
|
|
fi
|
|
|
|
done
|
2012-12-05 14:32:31 +00:00
|
|
|
|
2012-10-16 21:13:15 +00:00
|
|
|
rm -f $SED_SCRIPT
|
|
|
|
|
|
|
|
echo " Done"
|
|
|
|
|
|
|
|
. /usr/lib/alternc/functions.sh
|
|
|
|
|
|
|
|
echo "giving write access to roundcube to the email password ..."
|
|
|
|
# now database host user and password are mysql root account values ;)
|
|
|
|
mysql_query "GRANT UPDATE (password) ON ${database}.address TO '${LOGIN}'@'${MYSQL_CLIENT}' IDENTIFIED BY '${PASSWORD}';"
|
|
|
|
mysql_query "GRANT SELECT ON ${database}.address TO '${LOGIN}'@'${MYSQL_CLIENT}';"
|
|
|
|
mysql_query "GRANT SELECT ON ${database}.domaines TO '${LOGIN}'@'${MYSQL_CLIENT}';"
|
|
|
|
echo " Done"
|
|
|
|
|
|
|
|
echo "Setting roundcube domaintype"
|
|
|
|
mysql_query "INSERT IGNORE INTO domaines_type (name ,description ,target ,entry ,compatibility ,enable ,only_dns ,need_dns ,advanced )VALUES ('roundcube','Roundcube Webmail access', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'txt', 'ALL', '0', '0', '0');"
|
|
|
|
echo " Done"
|
|
|
|
|
|
|
|
echo "Migrating old webmail domaine type to roundcube one:"
|
|
|
|
# migration of the "webmail" hosts to "roundcube" hosts:
|
2014-10-01 16:38:10 +00:00
|
|
|
mysql_query "INSERT IGNORE INTO sub_domaines (compte, domaine, sub, valeur, type, web_action, web_result, enable) SELECT compte, domaine, sub, valeur,'roundcube', 'UPDATE',0, enable FROM sub_domaines WHERE type='WEBMAIL';"
|
|
|
|
mysql_query "UPDATE sub_domaines SET web_action='DELETE' WHERE type='WEBMAIL';"
|
2012-10-16 21:13:15 +00:00
|
|
|
echo " Done"
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
2013-04-12 13:59:30 +00:00
|
|
|
if [ "$1" = "end" ]; then
|
2018-06-24 13:20:23 +00:00
|
|
|
# This is necessary because upgrading roundcube from 7.1 to 7.2 changes this setting
|
|
|
|
chown alternc-roundcube:root /etc/roundcube/config.inc.php
|
2018-05-14 08:02:44 +00:00
|
|
|
# In case owner is reset to www-data
|
|
|
|
chown alternc-roundcube:nogroup /var/lib/roundcube/temp
|
2013-04-12 13:59:30 +00:00
|
|
|
fi
|
|
|
|
|