86 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
	
| #!/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 squirrelmail conf files.
 | |
| # ----------------------------------------------------------------------
 | |
| 
 | |
| if [ "$1" = "templates" ]
 | |
| then
 | |
|     echo "Installing Squirrelmail Templates ..."
 | |
|     cp -f /etc/alternc/templates/squirrelmail/avelsieve-config.php /etc/alternc/templates/squirrelmail/apache.conf /etc/squirrelmail/
 | |
| 
 | |
|     LOGIN="2000_squirrel"
 | |
|     PASSWORD="`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..10)'`"
 | |
| 
 | |
|     # Add new variables to the sed script ...
 | |
|     SED_SCRIPT="/tmp/alternc-squirrelmail.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"
 | |
| 
 | |
|     cat > $SED_SCRIPT <<EOF
 | |
| s\\%%ALTERNC_LOC%%\\$ALTERNC_LOC\\;
 | |
| s\\%%dbhost%%\\$MYSQL_HOST\\;
 | |
| s\\%%dbname%%\\$MYSQL_DATABASE\\;
 | |
| s\\%%squirrelmail-login%%\\$LOGIN\\;
 | |
| s\\%%squirrelmail-password%%\\$PASSWORD\\;
 | |
| EOF
 | |
| 
 | |
|     file="etc/squirrelmail/alternc-changepass.conf"
 | |
|     TEMPLATE="$TEMPLATE_DIR/${file##etc/}"
 | |
|     echo -n " $file"
 | |
|     if [ -f "$TEMPLATE" ]; then
 | |
|         sed -f "$SED_SCRIPT" < $TEMPLATE > /$file
 | |
|     fi
 | |
|     rm -f $SED_SCRIPT
 | |
| 
 | |
|     echo "    Done"
 | |
| 
 | |
|     . /usr/lib/alternc/functions.sh
 | |
| 
 | |
|     echo "giving write access to squirrelmail 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 squirrelmail domaintype"
 | |
|     mysql_query "INSERT IGNORE INTO domaines_type (name ,description ,target ,entry ,compatibility ,enable ,only_dns ,need_dns ,advanced )VALUES ('squirrelmail','Squirrelmail Webmail access', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'txt', 'ALL', '0', '0', '0');"
 | |
|     echo "    Done"
 | |
| 
 | |
|     echo "Migrating old webmail domaine type to squirrelmail one:"
 | |
|     # migration of the "webmail" hosts to "squirrelmail" hosts:
 | |
|     mysql_query "INSERT IGNORE INTO sub_domaines (compte, domaine, sub, valeur, type, web_action, web_result, enable) SELECT compte, domaine, sub, valeur,'squirrelmail', 'UPDATE',0, enable FROM sub_domaines WHERE type='webmail' AND web_action='OK';"
 | |
|     mysql_query "UPDATE sub_domaines SET web_action='DELETE' WHERE type='webmail' AND web_action='OK';"
 | |
|     echo "    Done"
 | |
| 
 | |
|     echo "Deconfiguring javascript-common alias"
 | |
|     rm -f /etc/apache2/conf.d/javascript-common.conf
 | |
|     # just in case 
 | |
|     sed -i -e "s/^Alias \/javascript/# Do not uncomment, commented by AlternC to prevent a global alias\n#Alias \/javascript/" /etc/javascript-common/javascript-common.conf
 | |
|     echo "    Done"
 | |
| fi
 | |
| 
 | |
| 
 |