From c8b3d1af2a0819b05dcbc2528a622003d7c9653b Mon Sep 17 00:00:00 2001 From: Benjamin Sonntag Date: Thu, 3 Aug 2017 17:27:57 +0200 Subject: [PATCH] adding roundcube configuration for JESSIE + removing unused roundcube template (managesieve). --- jessie/patch.sh | 4 + jessie/roundcube-install | 90 ++++ jessie/roundcube.config.inc.php | 82 ++++ jessie/roundcube.password.config.inc.php | 401 ++++++++++++++++++ roundcube/roundcube-install | 2 +- .../plugins/managesieve/config.inc.php | 76 ---- 6 files changed, 578 insertions(+), 77 deletions(-) create mode 100644 jessie/roundcube-install create mode 100644 jessie/roundcube.config.inc.php create mode 100644 jessie/roundcube.password.config.inc.php delete mode 100644 roundcube/templates/roundcube/plugins/managesieve/config.inc.php diff --git a/jessie/patch.sh b/jessie/patch.sh index d0cc47fd..4a2c4907 100755 --- a/jessie/patch.sh +++ b/jessie/patch.sh @@ -17,3 +17,7 @@ cp bureau.conf ../etc/alternc/templates/alternc/ cp alternc.install ../install/ cp apache2.conf ../etc/alternc/templates/alternc/ cp ssl.conf ../ssl/ +cp roundcube.config.inc.php ../roundcube/templates/roundcube/config.inc.php +rm ../roundcube/templates/roundcube/main.inc.php +cp roundcube.password.config.inc.php ../roundcube/templates/roundcube/plugins/password/config.inc.php +cp roundcube-install ./roundcube/ \ No newline at end of file diff --git a/jessie/roundcube-install b/jessie/roundcube-install new file mode 100644 index 00000000..99ea7bb8 --- /dev/null +++ b/jessie/roundcube-install @@ -0,0 +1,90 @@ +#!/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 ..." +# cp -f /etc/alternc/templates/roundcube/avelsieve-config.php /etc/alternc/templates/roundcube/apache.conf /etc/roundcube/ +# cp -f /etc/alternc/templates/javascript-common/javascript-common.conf /etc/javascript-common/ + + 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" + + 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 + diff --git a/jessie/roundcube.config.inc.php b/jessie/roundcube.config.inc.php new file mode 100644 index 00000000..02cd3986 --- /dev/null +++ b/jessie/roundcube.config.inc.php @@ -0,0 +1,82 @@ + /dev/null'; + + +// XMail Driver options +// --------------------- +$config['xmail_host'] = 'localhost'; +$config['xmail_user'] = 'YourXmailControlUser'; +$config['xmail_pass'] = 'YourXmailControlPass'; +$config['xmail_port'] = 6017; + + +// hMail Driver options +// ----------------------- +// Remote hMailServer configuration +// true: HMailserver is on a remote box (php.ini: com.allow_dcom = true) +// false: Hmailserver is on same box as PHP +$config['hmailserver_remote_dcom'] = false; +// Windows credentials +$config['hmailserver_server'] = array( + 'Server' => 'localhost', // hostname or ip address + 'Username' => 'administrator', // windows username + 'Password' => 'password' // windows user password +); + + +// Virtualmin Driver options +// ------------------------- +// Username format: +// 0: username@domain +// 1: username%domain +// 2: username.domain +// 3: domain.username +// 4: username-domain +// 5: domain-username +// 6: username_domain +// 7: domain_username +$config['password_virtualmin_format'] = 0; + + +// pw_usermod Driver options +// -------------------------- +// Use comma delimited exlist to disable password change for users +// Add the following line to visudo to tighten security: +// www ALL=NOPASSWORD: /usr/sbin/pw +$config['password_pw_usermod_cmd'] = 'sudo /usr/sbin/pw usermod -h 0 -n'; + + +// DBMail Driver options +// ------------------- +// Additional arguments for the dbmail-users call +$config['password_dbmail_args'] = '-p sha512'; + + +// Expect Driver options +// --------------------- +// Location of expect binary +$config['password_expect_bin'] = '/usr/bin/expect'; + +// Location of expect script (see helpers/passwd-expect) +$config['password_expect_script'] = ''; + +// Arguments for the expect script. See the helpers/passwd-expect file for details. +// This is probably a good starting default: +// -telent -host localhost -output /tmp/passwd.log -log /tmp/passwd.log +$config['password_expect_params'] = ''; + + +// smb Driver options +// --------------------- +// Samba host (default: localhost) +// Supported replacement variables: +// %n - hostname ($_SERVER['SERVER_NAME']) +// %t - hostname without the first part +// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) +$config['password_smb_host'] = 'localhost'; +// Location of smbpasswd binary +$config['password_smb_cmd'] = '/usr/bin/smbpasswd'; + +// gearman driver options +// --------------------- +// Gearman host (default: localhost) +$config['password_gearman_host'] = 'localhost'; + + + +// Plesk/PPA Driver options +// -------------------- +// You need to allow RCP for IP of roundcube-server in Plesk/PPA Panel + +// Plesk RCP Host +$config['password_plesk_host'] = '10.0.0.5'; + +// Plesk RPC Username +$config['password_plesk_user'] = 'admin'; + +// Plesk RPC Password +$config['password_plesk_pass'] = 'password'; + +// Plesk RPC Port +$config['password_plesk_rpc_port'] = '8443'; + +// Plesk RPC Path +$config['password_plesk_rpc_path'] = 'enterprise/control/agent.php'; diff --git a/roundcube/roundcube-install b/roundcube/roundcube-install index 81011d12..bd6adfc7 100644 --- a/roundcube/roundcube-install +++ b/roundcube/roundcube-install @@ -39,7 +39,7 @@ then . /etc/alternc/local.sh # Configuration template location TEMPLATE_DIR="/etc/alternc/templates" - CONFIG_FILES="etc/roundcube/main.inc.php etc/roundcube/plugins/password/config.inc.php etc/roundcube/plugins/managesieve/config.inc.php" + CONFIG_FILES="etc/roundcube/main.inc.php etc/roundcube/plugins/password/config.inc.php" cat > $SED_SCRIPT </sieve -$rcmail_config['managesieve_debug'] = false; - -// Enables features described in http://wiki.kolab.org/KEP:14 -$rcmail_config['managesieve_kolab_master'] = false; - -// Script name extension used for scripts including. Dovecot uses '.sieve', -// Cyrus uses '.siv'. Doesn't matter if you have managesieve_kolab_master disabled. -$rcmail_config['managesieve_filename_extension'] = '.sieve'; - -// List of reserved script names (without extension). -// Scripts listed here will be not presented to the user. -$rcmail_config['managesieve_filename_exceptions'] = array(); - -?>