#!/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 ..." LOGIN="0000_roundcube" PASSWORD="`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..10)'`" DESKEY="`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..24)'`" # " # 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" CONFIG_FILES="etc/roundcube/config.inc.php etc/roundcube/plugins/password/config.inc.php" cat > $SED_SCRIPT < /$file fi done 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: 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';" echo " Done" fi if [ "$1" = "end" ]; then # Roundcube vhosts run as www-data instead of alternc-roundcube now. # Ensure the configuration is owned by the appropriate user. chown www-data:root /etc/roundcube/config.inc.php chown www-data:nogroup /var/lib/roundcube/temp fi