diff --git a/jessie/alternc-roundcube.postinst b/jessie/alternc-roundcube.postinst
index 0d99169d..5c54e746 100644
--- a/jessie/alternc-roundcube.postinst
+++ b/jessie/alternc-roundcube.postinst
@@ -1,49 +1,19 @@
-#!/bin/bash
-
-set -e
-
-# Source debconf library.
-. /usr/share/debconf/confmodule
-
-CONFIGFILE="/etc/alternc/local.sh"
-LOGROTATE="/etc/logrotate.d/roundcube-core"
-
-case "$1" in
- configure)
-
- # add alternc-roundcube user for php-itk special rights
- if ! getent passwd alternc-roundcube; then
- useradd -g nogroup -u 1996 alternc-roundcube -d /usr/share/roundcube
- fi
-
- # removed from 3.1 & 3.2 :
- dpkg-statoverride --list /var/lib/roundcube/temp >/dev/null &&
- dpkg-statoverride --remove /var/lib/roundcube/temp
- chown -R www-data:root /var/lib/roundcube/temp
- chmod -R 750 /var/lib/roundcube/temp
-
- dpkg-statoverride --list /etc/roundcube/debian-db.php >/dev/null &&
- dpkg-statoverride --remove /etc/roundcube/debian-db.php
- chown -R www-data:root /etc/roundcube/debian-db.php
- chmod -R 460 /etc/roundcube/debian-db.php
-
- dpkg-statoverride --list /etc/roundcube/config.inc.php >/dev/null &&
- dpkg-statoverride --remove /etc/roundcube/config.inc.php
- chown -R www-data:root /etc/roundcube/config.inc.php
- chmod -R 460 /etc/roundcube/config.inc.php
-
- dpkg-statoverride --list /var/log/roundcube >/dev/null &&
- dpkg-statoverride --remove /var/log/roundcube
- chown -R www-data:root /var/log/roundcube
- chmod -R 750 /var/log/roundcube
-
- echo "**********************************************"
- echo "* ALTERNC-ROUNDCUBE: *"
- echo "* Please run alternc.install to fully deploy *"
- echo "**********************************************"
- ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-#DEBHELPER#
+diff --git a/debian/alternc-roundcube.postinst b/debian/alternc-roundcube.postinst
+index 0d99169d..6dfe23c9 100644
+--- a/debian/alternc-roundcube.postinst
++++ b/debian/alternc-roundcube.postinst
+@@ -27,10 +27,10 @@ case "$1" in
+ chown -R www-data:root /etc/roundcube/debian-db.php
+ chmod -R 460 /etc/roundcube/debian-db.php
+
+- dpkg-statoverride --list /etc/roundcube/config.inc.php >/dev/null &&
+- dpkg-statoverride --remove /etc/roundcube/config.inc.php
+- chown -R www-data:root /etc/roundcube/config.inc.php
+- chmod -R 460 /etc/roundcube/config.inc.php
++ dpkg-statoverride --list /etc/roundcube/main.inc.php >/dev/null &&
++ dpkg-statoverride --remove /etc/roundcube/main.inc.php
++ chown -R www-data:root /etc/roundcube/main.inc.php
++ chmod -R 460 /etc/roundcube/main.inc.php
+
+ dpkg-statoverride --list /var/log/roundcube >/dev/null &&
+ dpkg-statoverride --remove /var/log/roundcube
diff --git a/jessie/alternc-ssl.install.php b/jessie/alternc-ssl.install.php
index ba568910..9d524944 100644
--- a/jessie/alternc-ssl.install.php
+++ b/jessie/alternc-ssl.install.php
@@ -1,67 +1,39 @@
-#!/usr/bin/php
-query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('vhost-ssl', 'Locally hosted forcing HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 0);");
-
- $db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('vhost-mixssl', 'Locally hosted HTTP and HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 1);");
-
- $db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('panel-ssl', 'HTTPS AlternC panel access', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'txt,mx,mx2,defmx,defmx2', 'ALL', 0, 0, 1);");
-
- $db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('url-ssl', 'URL redirection, HTTP & HTTPS', 'URL', '%SUB% IN A @@PUBLIC_IP@@', 'txt,mx,mx2,defmx,defmx2', 'ALL', 0, 0, 1);");
-
- $db->query("SELECT * FROM domaines_type WHERE name='roundcube';");
- if ($db->next_record()) {
- $db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('roundcube-ssl', 'HTTPS Roundcube Webmail', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'mx,mx2,defmx,defmx2,txt', 'ALL', 0, 0, 1);");
- } else {
- $db->query("DELETE FROM domaines_type WHERE name='roundcube-ssl';");
- $db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='roundcube-ssl';");
- }
-
- $db->query("SELECT * FROM domaines_type WHERE name='squirrelmail';");
- if ($db->next_record()) {
- $db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('squirrelmail-ssl', 'HTTPS Squirrelmail Webmail', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'mx,mx2,defmx,defmx2,txt', 'ALL', 0, 0, 1);");
- } else {
- $db->query("DELETE FROM domaines_type WHERE name='squirrelmail-ssl';");
- $db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='squirrelmail-ssl';");
- }
-
- $db->query("SELECT * FROM domaines_type WHERE name='php52';");
- if ($db->next_record()) {
- $db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('php52-ssl', 'php52 forcing HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 0);");
- $db->query("INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, enable, only_dns, need_dns, advanced ) VALUES
- ('php52-mixssl', 'php52 HTTP and HTTPS', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'vhost,url,txt,defmx,defmx2,mx,mx2', 'ALL', 0, 0, 0);");
- } else {
- $db->query("DELETE FROM domaines_type WHERE name='php52-ssl';");
- $db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='php52-ssl';");
- $db->query("DELETE FROM domaines_type WHERE name='php52-mixssl';");
- $db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='php52-mixssl';");
- }
-
-} // before-reload
+diff --git a/ssl/alternc-ssl.install.php b/ssl/alternc-ssl.install.php
+index ba568910..041eef80 100644
+--- a/ssl/alternc-ssl.install.php
++++ b/ssl/alternc-ssl.install.php
+@@ -9,7 +9,9 @@ if ($argv[1] == "templates") {
+ // install ssl.conf
+ echo "[alternc-ssl] Installing ssl.conf template\n";
+ copy("/etc/alternc/templates/apache2/mods-available/ssl.conf","/etc/apache2/mods-available/ssl.conf");
+- mkdir("/var/run/alternc-ssl");
++ if (!is_dir('/var/run/alternc-ssl')) {
++ mkdir("/var/run/alternc-ssl");
++ }
+ chown("/var/run/alternc-ssl","alterncpanel");
+ chgrp("/var/run/alternc-ssl","alterncpanel");
+ // replace open_basedir line if necessary :
+@@ -64,4 +66,23 @@ if ($argv[1] == "before-reload") {
+ $db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='php52-mixssl';");
+ }
+
++ // Enable name-based virtual hosts in Apache2 :
++ $f = fopen("/etc/apache2/ports.conf", "rb");
++ if (!$f) {
++ echo "FATAL: there is no /etc/apache2/ports.conf ! I can't configure name-based virtual hosts\n";
++ } else {
++ $found = false;
++ while ($s = fgets($f, 1024)) {
++ if (preg_match(":^[^#]*NameVirtualHost.*443:", $s)) {
++ $found = true;
++ break;
++ }
++ }
++ fclose($f);
++ if (!$found) {
++ $f = fopen("/etc/apache2/ports.conf", "ab");
++ fputs($f, "\n\n NameVirtualHost *:443\n\n\n");
++ fclose($f);
++ }
++ }
+ } // before-reload
diff --git a/jessie/alternc.install b/jessie/alternc.install
index 95060b7c..16de5a72 100644
--- a/jessie/alternc.install
+++ b/jessie/alternc.install
@@ -1,666 +1,118 @@
-#!/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: Main install script, launch it anytime ;)
-# ----------------------------------------------------------------------
-
-# Somes check before start operations
-if [ `id -u` -ne 0 ]; then
- echo "must be launched as root"
- exit 1
-fi
-
-for i in $*; do
- case "$i" in
- -f|--force)
- export force=1; shift;;
- -s|--slave)
- export slave=1; shift;;
- --)
- break;;
- *)
- echo "unknown option $i"; shift;;
- esac
-done
-
-. /usr/lib/alternc/functions.sh
-
-# Lock the jobs !
-lock_jobs
-
-# hook
-run-parts --arg=startup /usr/lib/alternc/install.d
-
-#######################################################################
-# Script configuration
-#
-
-# Configuration template location
-TEMPLATE_DIR="/etc/alternc/templates"
-
-# Find needed configuration files (without the initial '/')
-# replace this one unconditionnally
-CONFIG_FILES="etc/alternc/bureau.conf etc/apache2/envvars etc/alternc/apache2.conf etc/alternc/apache_logformat.conf etc/alternc/phpmyadmin.inc.php"
-
-if [ -e /etc/bind/named.conf ]; then
- CONFIG_FILES="$CONFIG_FILES etc/bind/named.conf.options"
-fi
-if [ -d /etc/postfix ]; then
- CONFIG_FILES="$CONFIG_FILES etc/postfix/master.cf etc/postfix/myalias.cf etc/postfix/myrelay.cf
- etc/postfix/mydomain.cf etc/postfix/myrelay-domain.cf etc/postfix/mymail2mail.cf etc/postfix/mygid.cf etc/postfix/myquota.cf
- etc/postfix/myvirtual.cf etc/postfix/mytransport.cf etc/postfix/sasl/smtpd.conf
- etc/alternc/postfix/postfix.cf etc/alternc/postfix/postfix-slave.cf
- etc/opendkim.conf etc/default/opendkim"
-fi
-if [ -e /etc/proftpd/proftpd.conf ]; then
- CONFIG_FILES="$CONFIG_FILES etc/proftpd/proftpd.conf etc/proftpd/welcome.msg etc/proftpd/modules.conf"
-fi
-
-if [ -e /etc/default/saslauthd ]; then
- CONFIG_FILES="$CONFIG_FILES etc/default/saslauthd"
-fi
-
-if [ -e /etc/dovecot/dovecot.conf ]; then
- CONFIG_FILES="$CONFIG_FILES etc/dovecot/alternc-sql.conf etc/dovecot/alternc-dict-quota.conf etc/dovecot/conf.d/95_alternc.conf"
-fi
-
-INSTALLED_CONFIG_TAR="/var/lib/alternc/backups/etc-installed.tar.gz"
-
-#######################################################################
-# Look for modified configuration files
-#
-if [ -f "$INSTALLED_CONFIG_TAR" ]; then
- CHANGED="`env LANG=C tar -zdf "$INSTALLED_CONFIG_TAR" -C / 2> /dev/null |
- grep -v 'postfix/main.cf' | grep -v 'Uid differs'|grep -v 'Gid differs' |grep -v 'Mode differs' |
- sed -e 's#^\([^:]*\).*# /\1#' | sort -u`"
- if [ ! -z "$CHANGED" ]; then
- echo "The following configuration files has changed since last AlternC"
- echo "installation :"
- echo "$CHANGED"
- echo ""
- if [ "$force" = "1" ]; then
- echo "Replacing them as you requested."
- else
- echo "These configuration files should normally be modified by"
- echo "changing the template in $TEMPLATE_DIR and then calling"
- echo "$0 to perform the update."
- echo ""
- echo "Please examine the situation closely and call '$0 -f'"
- echo "if you still want to actually overwrite these files."
- exit 1
- fi
- fi
-fi
-
-# Upgrade the DATA and DB SCHEMA
-/usr/share/alternc/install/upgrade_check.sh
-# Launch upgrade of alternc modules
-run-parts --arg=upgrade /usr/lib/alternc/install.d
-
-
-#######################################################################
-# Prepare template expansions
-#
-
-chown :alterncpanel /etc/alternc/local.sh
-. /etc/alternc/local.sh
-
-# May be missing
-test -d /var/run/alternc || ( mkdir -p /var/run/alternc && chown alterncpanel:alterncpanel /var/run/alternc )
-
-# Create the target directory
-for i in "$ALTERNC_HTML" "$ALTERNC_MAIL" "$ALTERNC_LOGS" ; do
- test -d "$i" || mkdir -p "$i"
-done
-
-for i in a b c d e f g h i j k l m n o p q r s t u v w x y z _ 0 1 2 3 4 5 6 7 8 9; do
- test -d "$ALTERNC_HTML/$i" || ( mkdir -p "$ALTERNC_HTML/$i" && chown alterncpanel:alterncpanel "$ALTERNC_HTML/$i" && chmod 775 "$ALTERNC_HTML/$i" )
- test -d "$ALTERNC_MAIL/$i" || ( mkdir -p "$ALTERNC_MAIL/$i" && chown vmail:vmail "$ALTERNC_MAIL/$i" && chmod 775 "$ALTERNC_MAIL/$i" )
-done
-
-find $ALTERNC_LOGS -maxdepth 1 -type d -exec chown alterncpanel:adm {} \;
-find $ALTERNC_HTML -maxdepth 1 -type d -exec chown alterncpanel:alterncpanel {} \;
-find $ALTERNC_MAIL -maxdepth 1 -type d -exec chown vmail:vmail {} \;
-
-# Check ACL
-aclcheckfile="$ALTERNC_HTML/test-acl"
-touch "$aclcheckfile"
-setfacl -m u:root:rwx "$aclcheckfile" 2>/dev/null || ( echo "Error : ACL aren't activated on $ALTERNC_HTML . AlternC can't work without it." ; test -e "$aclcheckfile" && rm -f "$aclcheckfile" ; exit 2)
-test -e "$aclcheckfile" && rm -f "$aclcheckfile"
-
-# XXX: copy-paste from debian/config
-if [ -r /etc/alternc/my.cnf ]; then
- # make mysql configuration available as shell variables
- # to convert from .cnf to shell syntax, we:
- # * match only lines with "equal" in them (/=/)
- # * remove whitespace around the = and add a left quote operator ' (;s)
- # * add a right quote operator at the end of line (;s)
- # * convert mysql variables into our MYSQL_ naming convention (;s)
- # * print the result (;p)
- 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`
- chown root:alterncpanel /etc/alternc/my.cnf
- chmod 640 /etc/alternc/my.cnf
-fi
-
-if [ -r /etc/alternc/my_mail.cnf ]; then
- # make mysql configuration available as shell variables
- # to convert from .cnf to shell syntax, we:
- # * match only lines with "equal" in them (/=/)
- # * remove whitespace around the = and add a left quote operator ' (;s)
- # * add a right quote operator at the end of line (;s)
- # * convert mysql variables into our MYSQL_ naming convention (;s)
- # * print the result (;p)
- eval `sed -n -e "/=/{s/ *= *\"\?/='/;s/\"\?\$/'/;s/host/MYSQL_HOST/;s/user/MYSQL_MAIL_USER/;s/password/MYSQL_MAIL_PASS/;s/database/MYSQL_DATABASE/;p}" /etc/alternc/my_mail.cnf`
- chown root:alterncpanel /etc/alternc/my_mail.cnf
- chmod 640 /etc/alternc/my_mail.cnf
-fi
-
-WARNING="WARNING: Do not edit this file, edit the one in /etc/alternc/templates and launch alternc.install again."
-
-if [ "$slave" = "1" ]; then
- VERSION="`dpkg -s alternc-slave | sed -n -e 's/^Version: \(.*\)/\1/p'`"
-else
- VERSION="`dpkg -s alternc | sed -n -e 's/^Version: \(.*\)/\1/p'`"
-fi
-
-# /var/ alternc/dns/d/www.example.com
-FQDN_LETTER="`echo $FQDN | sed -e 's/.*\.\([^\.]\)[^\.]*\.[^\.]*$/\1/'`"
-if [ "$FQDN_LETTER" = "$FQDN" ]
-then
- FQDN_LETTER="_"
-fi
-
-NS2_IP=`perl -e "\\$h = (gethostbyname(\"$NS2_HOSTNAME\"))[4];
- @ip = unpack('C4', \\$h);
- print join (\".\", @ip);"`
-
-if [ -z "$MONITOR_IP" ]; then
- MONITOR_IP="127.0.0.1"
-fi
-
-PUBLIC_IP_BEGIN=$(echo $PUBLIC_IP|cut -c 1)
-
-# Secret for PhpMyAdmin sessions
-PHPMYADMIN_BLOWFISH="$(generate_string 24)"
-
-# XXX: I assume this is secure if /tmp is sticky (+t)
-# we should have a better way to deal with templating, of course.
-SED_SCRIPT="/tmp/alternc.install.sedscript"
-cat > $SED_SCRIPT < $DB_BACKUP || echo "backup of the main database failed"
-
-#######################################################################
-# Backup configuration files
-#
-BACKUP_FILE="/var/lib/alternc/backups/etc-original-`date +%Y%m%d-%H%M`.tar.gz"
-
-# Only backup what we are really going to replace
-BACKUPS=""
-for file in $CONFIG_FILES; do
- TEMPLATE="$TEMPLATE_DIR/${file##etc/}"
- if [ -f "$TEMPLATE" ]; then
- BACKUPS="$BACKUPS $file"
- fi
-done
-
-# also backup main.cf since we're doing major changes to it
-BACKUPS="$BACKUPS etc/postfix/main.cf"
-
-tar -zcf "$BACKUP_FILE" -C / $BACKUPS 2>/dev/null || true
-chmod 600 "$BACKUP_FILE"
-
-#######################################################################
-# Expand templates in the right place
-#
-echo -n "Expanding variables in configuration files:"
-for file in $CONFIG_FILES; do
- TEMPLATE="$TEMPLATE_DIR/${file##etc/}"
- echo -n " $file"
- if [ -f "$TEMPLATE" ]; then
- sed -f "$SED_SCRIPT" < $TEMPLATE > /$file
- fi
-done
-echo "."
-rm -f $SED_SCRIPT
-
-########################################################################
-# Ad-hoc fixes
-#
-
-php="`ls /usr/lib/apache*/*/*php*.so | sed -e 's/^.*libphp\(.*\)\.so$/\1/' | tail -1`"
-if [ "$php" = "7.0" ]
-then
- ln -fs /etc/alternc/alternc.ini /etc/php/$php/apache2/conf.d/alternc.ini || true
- ln -fs /etc/alternc/alternc.ini /etc/php/$php/cli/conf.d/alternc.ini || true
-else
- ln -fs /etc/alternc/alternc.ini /etc/php$php/apache2/conf.d/alternc.ini || true
- ln -fs /etc/alternc/alternc.ini /etc/php$php/cli/conf.d/alternc.ini || true
-fi
-
-if [ -x /usr/sbin/apache2 ]; then
- # hook
- run-parts --arg=apache2 /usr/lib/alternc/install.d
- a2enmod mpm_itk
-
- s=""
- # unused from AlternC 1.0, FIXME: remove it later
- if [ -L /etc/apache2/mods-enabled/vhost_alias.load ]
- then
- a2dismod vhost_alias
- s="apache2"
- fi
- if ! [ -L /etc/apache2/mods-enabled/php$php.load ]
- then
- a2enmod php$php
- fi
- if ! [ -L /etc/apache2/mods-enabled/rewrite.load ]
- then
- a2enmod rewrite
- fi
- if [ -e /etc/alternc/apache.pem ]; then
- # We enable proftpd tls module
- cat /etc/proftpd/modules.conf | sed -e 's/^#LoadModule mod_tls.c/LoadModule mod_tls.c/' > /etc/proftpd/modules.conf.alternc-new
- mv /etc/proftpd/modules.conf.alternc-new /etc/proftpd/modules.conf
- cp /etc/proftpd/modules.conf /etc/alternc/templates/proftpd/
- # We enable apache2 SSL :
- if [ ! -L /etc/apache2/mods-enabled/ssl.load ] ; then
- a2enmod ssl
- s="apache2"
- fi
- if [ ! -h /etc/apache2/conf-available/alternc-ssl.conf ] && [ -e /etc/apache2/conf-available/ ]; then
- ln -sf /etc/alternc/apache2-ssl.conf /etc/apache2/conf-available/alternc-ssl.conf
- a2enconf alternc-ssl
- s="apache2"
- fi
-
- # We enable dovecot SSL certificate instructions: (on wheezy we should use a new file in /etc/dovecot/conf.d/ )
- ( echo "# Don't change this file, it will be overwriten by alternc.install. Change ssl parameters in a file named 99_ssl.conf instead" ; echo "ssl_cert = /etc/dovecot/conf.d/96_ssl.conf
-
- else
- # We disable proftpd tls module
- cat /etc/proftpd/modules.conf | sed -e 's/^LoadModule mod_tls.c/#LoadModule mod_tls.c/' > /etc/proftpd/modules.conf.alternc-new
- mv /etc/proftpd/modules.conf.alternc-new /etc/proftpd/modules.conf
- cp /etc/proftpd/modules.conf /etc/alternc/templates/proftpd/
-
- # We disable dovecot SSL certificate instructions: (on wheezy we should remove a file in /etc/dovecot/conf.d/ )
- ( echo "# Don't change this file, it will be overwriten by alternc.install. Change ssl parameters in a file named 99_ssl.conf instead" ; echo "ssl_cert = /etc/dovecot/conf.d/96_ssl.conf
-
- echo "SSL not configured"
- echo "create a certificate in /etc/alternc/apache.pem and rerun alternc.install"
- fi
- if [ ! -h /etc/apache2/conf-available/alternc.conf ] && [ -e /etc/apache2/conf-available/ ]; then
- ln -sf /etc/alternc/apache2.conf /etc/apache2/conf-available/alternc.conf
- a2enconf alternc.conf
- s="apache2"
- fi
- if [ -e /etc/apache2/sites-enabled/000-default.conf ]; then
- a2dissite 000-default
- s="apache2"
- fi
- SERVICES="$SERVICES $s"
-fi
-
-# Manage sudoers.d include appearing in Squeeze:
-# if the "includedir" is not here, we add it ONLY IF visudo -c is happy.
-if ! grep -q "#includedir */etc/sudoers.d" /etc/sudoers ; then
- if ! cat /etc/sudoers.d/* | visudo -c -f - >/dev/null ; then
- echo -e "\033[31m**********************************************"
- echo "* *"
- echo "* ALTERNC ACTION REQUESTED *"
- echo "* *"
- echo "* SUDO is NOT configured properly *"
- echo "* check your files in /etc/sudoers.d ! *"
- echo "* then launch alternc.install again *"
- echo "* *"
- echo "**********************************************"
- echo -e "\033[0m"
- exit 1
- else
- echo "#includedir */etc/sudoers.d" >>/etc/sudoers
- fi
-fi
-
-# Copy postfix *_checks if they do not exist
-for file in body_checks header_checks; do
- if [ ! -e "/etc/postfix/$file" ]; then
- cp /usr/share/alternc/install/$file /etc/postfix
- fi
-done
-
-# Attribute the correct rights to critical postfix files
-if [ -e /etc/postfix/myalias.cf -o -e /etc/postfix/mydomain.cf -o -e /etc/postfix/mygid.cf -o -e /etc/postfix/myrelay-domain.sh -o -e /etc/postfix/myvirtual.cf -o -e /etc/postfix/myrelay.cf -o -e /etc/postfix/myquota.cf ]; then
- chown root:postfix /etc/postfix/my*
- chmod 640 /etc/postfix/my*
-fi
-
-if [ ! -f /etc/postfix/main.cf ]
-then
- echo -e "\033[31m**********************************************"
- echo "* *"
- echo "* ALTERNC ACTION REQUESTED *"
- echo "* *"
- echo "* POSTFIX is NOT configured properly *"
- echo "* launch dpkg-reconfigure -plow postfix *"
- echo "* and choose 'Internet Site' *"
- echo "* then launch alternc.install again *"
- echo "* *"
- echo "**********************************************"
- echo -e "\033[0m"
- exit 1
-fi
-
-# configure Postfix appropriatly for our needs
-if [ "$slave" = "1" ]; then
- postfix_conf=/etc/alternc/postfix/postfix-slave.cf
-else
- postfix_conf=/etc/alternc/postfix/postfix.cf
-fi
-grep -v '^\ *#' $postfix_conf |while read line ; do
- if echo "$line" | grep -qi '^smtpd_tls_dcert_file' ;then
- line_strip=`echo "$line"|tr -d '[:blank:]'`
- pattern="*="
- cert_file=${line_strip#$pattern}
- echo $cert_file
- echo $line
- echo $line_strip
- if [ -e $cert_file ];then
- postconf -e "$line"
- else
- echo -e "\033[31m*****************************************************"
- echo "* The certificate file : $cert_file does not exists *"
- echo "* If you want to be able to use SSL/TLS *"
- echo "* please go to https://alternc.com/SSL *"
- echo "* to get information on how to create a certificate *"
- echo "* Finally relaunch alternc.install *"
- echo "*****************************************************"
- echo -e "\033[0m"
- fi
- else
- postconf -e "$line"
- fi
-done
-
-# Conviguring delivery used by Postfix
-/usr/lib/alternc/alternc_add_policy_dovecot
-
-# Bug #1215: configure mydestination when $FQDN is not in
-OLDDESTINATION=`postconf mydestination | awk -F '=' '{print $2}'`
-echo "$OLDDESTINATION" | grep -q -v "$FQDN" && postconf -e "mydestination = $FQDN, $OLDDESTINATION"
-
-# Remove phpmyadmin apache2 configuration
-a2disconf phpmyadmin
-
-# Configure PHPMyAdmin
-include_str='include("/etc/alternc/phpmyadmin.inc.php")'
-pma_config='/etc/phpmyadmin/config.inc.php'
-
-# Sur une configuration vierge, inclure la configuration alternc
-if ! grep -e "${include_str/\"/\\\"}" $pma_config > /dev/null 2>&1; then
- echo "$include_str;" >> $pma_config
-fi
-
-# Le template de /etc/alternc/phpmyadmin.inc.php viens d'être réappliqué, on
-# regénére la liste des serveurs MySQL disponible dedans.
-mysql_query "select id,host,name from db_servers;" | while read id host name ; do
-echo "
-// Server #$id in db_servers
-\$i++;
-\$cfg['Servers'][\$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
-\$cfg['Servers'][\$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
-\$cfg['Servers'][\$i]['hide_db'] = 'information_schema';
-\$cfg['Servers'][\$i]['verbose'] = '$name'; // human name
-\$cfg['Servers'][\$i]['host'] = '$host'; // MySQL hostname or IP address
-" >> '/etc/alternc/phpmyadmin.inc.php'
-done
-
-# Reload incron. Useless, but who know?
-SERVICES="$SERVICES incron"
+diff --git a/install/alternc.install b/install/alternc.install
+index 95060b7c..5d92cf0c 100644
+--- a/install/alternc.install
++++ b/install/alternc.install
+@@ -279,20 +279,12 @@ rm -f $SED_SCRIPT
+ # Ad-hoc fixes
+ #
-if [ -e /etc/proftpd.conf ] ; then
- chmod 640 /etc/proftpd/proftpd.conf
-fi
-
-if [ -x /usr/sbin/locale-gen ] ; then
- touch /etc/locale.gen
- LOCALECHANGED=""
- # Add de_DE ISO-8859-1, en_US ISO-8859-1, es_ES ISO-8859-1, fr_FR ISO-8859-1 to the locales :
- if ! grep -q "^de_DE ISO-8859-1$" /etc/locale.gen ; then
- echo "de_DE ISO-8859-1" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^en_US ISO-8859-1$" /etc/locale.gen ; then
- echo "en_US ISO-8859-1" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^es_ES ISO-8859-1$" /etc/locale.gen ; then
- echo "es_ES ISO-8859-1" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^fr_FR ISO-8859-1$" /etc/locale.gen ; then
- echo "fr_FR ISO-8859-1" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^de_DE.UTF-8 UTF-8$" /etc/locale.gen ; then
- echo "de_DE.UTF-8 UTF-8" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^fr_FR.UTF-8 UTF-8$" /etc/locale.gen ; then
- echo "fr_FR.UTF-8 UTF-8" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^es_ES.UTF-8 UTF-8$" /etc/locale.gen ; then
- echo "es_ES.UTF-8 UTF-8" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^en_US.UTF-8 UTF-8$" /etc/locale.gen ; then
- echo "en_US.UTF-8 UTF-8" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^it_IT.UTF-8 UTF-8$" /etc/locale.gen ; then
- echo "it_IT.UTF-8 UTF-8" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if ! grep -q "^nl_NL.UTF-8 UTF-8$" /etc/locale.gen ; then
- echo "nl_NL.UTF-8 UTF-8" >>/etc/locale.gen
- LOCALECHANGED=1
- fi
- if [ "$LOCALECHANGED" ] ; then
- locale-gen
- fi
-fi
-
-# remaining steps are only for the master
-if [ "$slave" = "1" ]; then
- exit 0
-fi
-
-#######################################################################
-# populate alternc database with the mailname used by postfix to send mail for each vhost
-#
-# If mailname does not exist, create it. Fix #1495
-test -e "/etc/mailname" || hostname -f > "/etc/mailname"
-# Allow for all the users to view /etc/mailname
-chmod +r "/etc/mailname"
-
-#######################################################################
-# Save installed files to check them during next install
-#
-tar -zcf "$INSTALLED_CONFIG_TAR" -C / $CONFIG_FILES
-
-#######################################################################
-# Last touches
-#
-
-find $ALTERNC_HTML -maxdepth 1 -type d -exec setfacl -b -k -m d:g:alterncpanel:-wx -m d:u:alterncpanel:-wx -m u:alterncpanel:-wx -m g:alterncpanel:-wx {} \;
-
-#creating log file
-if [ ! -e "/var/log/alternc/bureau.log" ]; then
- test -d "/var/log/alternc/" || mkdir -p "/var/log/alternc/"
- touch "/var/log/alternc/bureau.log"
-fi
-
-if [ ! -e "/var/log/alternc/update_domains.log" ]; then
- test -d "/var/log/alternc/" || mkdir -p "/var/log/alternc/"
- touch "/var/log/alternc/update_domains.log"
-fi
-
-# Be sure of the owner of the logs files
-chmod 640 /var/log/alternc/bureau.log /var/log/alternc/update_domains.log
-chown alterncpanel:adm /var/log/alternc/bureau.log /var/log/alternc/update_domains.log
-
-# Creating admin user if needed
-HAS_ROOT=`mysql --defaults-file=/etc/alternc/my.cnf -e "SELECT COUNT(*) FROM membres WHERE login = 'admin' OR login = 'root' and su = 1" | tail -1`
-
-if [ "$HAS_ROOT" != "1" ]; then
- echo "Creating admin user..."
- echo ""
-
- if su - alterncpanel -s /bin/bash -c /usr/share/alternc/install/newone.php
- then
- echo "*******************************************"
- echo "* *"
- echo "* Admin account *"
- echo "* ------------ *"
- echo "* *"
- echo "* user: admin password: admin *"
- echo "* *"
- echo "* Please change this as soon as possible! *"
- echo "* *"
- echo "*******************************************"
- else
- echo "Unable to create the first AlternC account (named 'admin'). newone.php returned $?. Check your MySQL database, PHP, and the /etc/alternc/local.sh file. Also check for any error above during install."
- fi
-else
- ##UPDATE default db_server following /etc/alternc/my.cnf values
- if [ "$MYSQL_HOST" == "localhost" ]; then
- MYSQL_HOST_CLIENT="localhost"
- else
- MYSQL_HOST_CLIENT="%"
- fi
- mysql --defaults-file=/etc/alternc/my.cnf -e "UPDATE db_servers SET host='$MYSQL_HOST', login='$MYSQL_USER', password='$MYSQL_PASS', client='$MYSQL_HOST_CLIENT' WHERE name='Default';"
-fi
-
-# giving vmail user read access on dovecot sql file
-chgrp vmail /etc/dovecot/alternc-sql.conf
-chmod g+r /etc/dovecot/alternc-sql.conf
-# Override some dovecot 2.0 configuration that may have happened during dovecot postinst:
-sed -i -e 's/^ *!include/#!include/' /etc/dovecot/conf.d/10-auth.conf
-
-# Changing owner of web panel's files
-chown -R alterncpanel:alterncpanel "/usr/share/alternc/panel/"
-
-# We force the re-computing of the DNS zones, since we may have changed the IP address (see #460)
-/usr/bin/mysql --defaults-file="/etc/alternc/my.cnf" -B -e "update domaines set dns_action='UPDATE' WHERE gesdns=1;"
-
-# We ensure localhost is trusted to opendkim
-mkdir -p "/etc/opendkim/keys"
-touch /etc/opendkim/TrustedHosts /etc/opendkim/SigningTable /etc/opendkim/KeyTable
-grep -q "^127.0.0.1\$" /etc/opendkim/TrustedHosts || echo "127.0.0.1" >>/etc/opendkim/TrustedHosts
-grep -q "^localhost\$" /etc/opendkim/TrustedHosts || echo "localhost" >>/etc/opendkim/TrustedHosts
-grep -q "^$PUBLIC_IP\$" /etc/opendkim/TrustedHosts || echo "$PUBLIC_IP" >>/etc/opendkim/TrustedHosts
-
-# Add opendkim to service to restart
-SERVICES="$SERVICES opendkim bind9"
-
-# hook
-run-parts --arg=before-reload /usr/lib/alternc/install.d
-
-#######################################################################
-# Reload services
-#
-for service in postfix dovecot cron proftpd ; do
- invoke-rc.d $service force-reload || true
-done
-
-# We should restart apaches after all configuration stuff ...
-for service in $SERVICES; do
- test -x /etc/init.d/$service && invoke-rc.d $service stop || true
-done
-
-# on Jessie, apache2 does not stop/start properly due to "service" and "apache2ctl" having different behavior pid-file-wise
-killall apache2
-
-for service in $SERVICES; do
- test -x /etc/init.d/$service && invoke-rc.d $service start || true
-done
-
-echo "Fix all the permission. May be quite long..."
-echo "YOU CAN INTERUPT THIS BY USING Ctrl-c THEN y TO BYPASS THE ERROR."
-/usr/lib/alternc/fixperms.sh
-echo "Compile PO files"
-
-# TODO : includes the .MO in debian package ;)
-find /usr/share/alternc/panel/locales -maxdepth 1 -mindepth 1 -type d -name "*_*" | while read A
-do
- B="$A/LC_MESSAGES"
- cd $B
- rm -f alternc.mo alternc.po
- msgcat --use-first *.po alternc >alternc.po
- msgfmt alternc.po -o alternc.mo
-done
-
-# Fix some perms
-# Fix phpmyadmin import trac#1557
-test -d "/var/lib/phpmyadmin/tmp" && dpkg-statoverride --update --add www-data alterncpanel 0775 "/var/lib/phpmyadmin/tmp" 2>/dev/null || true
-test -f "/etc/phpmyadmin/config-db.php" && dpkg-statoverride --update --add www-data alterncpanel 0644 "/etc/phpmyadmin/config-db.php" 2>/dev/null || true
-
-# hook
-run-parts --arg=end /usr/lib/alternc/install.d
-
-# Unlock jobs !
-unlock_jobs
-
-# Rebuild all web configuration
-/usr/lib/alternc/rebuild_all_webconf.sh --force
+-php="`ls /usr/lib/apache*/*/*php*.so | sed -e 's/^.*libphp\(.*\)\.so$/\1/' | tail -1`"
+-if [ "$php" = "7.0" ]
+-then
+- ln -fs /etc/alternc/alternc.ini /etc/php/$php/apache2/conf.d/alternc.ini || true
+- ln -fs /etc/alternc/alternc.ini /etc/php/$php/cli/conf.d/alternc.ini || true
+-else
+- ln -fs /etc/alternc/alternc.ini /etc/php$php/apache2/conf.d/alternc.ini || true
+- ln -fs /etc/alternc/alternc.ini /etc/php$php/cli/conf.d/alternc.ini || true
+-fi
+-
++php="`ls /usr/lib/apache*/*/*php*.so | sed -e 's/^.*libphp\(.\)\.so$/php\1/' | tail -1`"
++ln -fs /etc/alternc/alternc.ini /etc/$php/apache2/conf.d/alternc.ini || true
++ln -fs /etc/alternc/alternc.ini /etc/$php/cli/conf.d/alternc.ini || true
+ if [ -x /usr/sbin/apache2 ]; then
+ # hook
+ run-parts --arg=apache2 /usr/lib/alternc/install.d
+- a2enmod mpm_itk
+
+ s=""
+ # unused from AlternC 1.0, FIXME: remove it later
+@@ -301,9 +293,9 @@ if [ -x /usr/sbin/apache2 ]; then
+ a2dismod vhost_alias
+ s="apache2"
+ fi
+- if ! [ -L /etc/apache2/mods-enabled/php$php.load ]
++ if ! [ -L /etc/apache2/mods-enabled/$php.load ]
+ then
+- a2enmod php$php
++ a2enmod $php
+ fi
+ if ! [ -L /etc/apache2/mods-enabled/rewrite.load ]
+ then
+@@ -319,9 +311,8 @@ if [ -x /usr/sbin/apache2 ]; then
+ a2enmod ssl
+ s="apache2"
+ fi
+- if [ ! -h /etc/apache2/conf-available/alternc-ssl.conf ] && [ -e /etc/apache2/conf-available/ ]; then
+- ln -sf /etc/alternc/apache2-ssl.conf /etc/apache2/conf-available/alternc-ssl.conf
+- a2enconf alternc-ssl
++ if [ ! -h /etc/apache2/conf.d/alternc-ssl.conf ] && [ -e /etc/apache2/conf.d/ ]; then
++ ln -sf /etc/alternc/apache2-ssl.conf /etc/apache2/conf.d/alternc-ssl.conf
+ s="apache2"
+ fi
+
+@@ -340,13 +331,12 @@ if [ -x /usr/sbin/apache2 ]; then
+ echo "SSL not configured"
+ echo "create a certificate in /etc/alternc/apache.pem and rerun alternc.install"
+ fi
+- if [ ! -h /etc/apache2/conf-available/alternc.conf ] && [ -e /etc/apache2/conf-available/ ]; then
+- ln -sf /etc/alternc/apache2.conf /etc/apache2/conf-available/alternc.conf
+- a2enconf alternc.conf
++ if [ ! -h /etc/apache2/conf.d/alternc.conf ] && [ -e /etc/apache2/conf.d/ ]; then
++ ln -sf /etc/alternc/apache2.conf /etc/apache2/conf.d/alternc.conf
+ s="apache2"
+ fi
+- if [ -e /etc/apache2/sites-enabled/000-default.conf ]; then
+- a2dissite 000-default
++ if [ -e /etc/apache2/sites-enabled/000-default ]; then
++ a2dissite default
+ s="apache2"
+ fi
+ SERVICES="$SERVICES $s"
+@@ -440,7 +430,7 @@ OLDDESTINATION=`postconf mydestination | awk -F '=' '{print $2}'`
+ echo "$OLDDESTINATION" | grep -q -v "$FQDN" && postconf -e "mydestination = $FQDN, $OLDDESTINATION"
+
+ # Remove phpmyadmin apache2 configuration
+-a2disconf phpmyadmin
++rm -f /etc/apache2/conf.d/phpmyadmin.conf || true
+
+ # Configure PHPMyAdmin
+ include_str='include("/etc/alternc/phpmyadmin.inc.php")'
+@@ -598,9 +588,6 @@ chmod g+r /etc/dovecot/alternc-sql.conf
+ # Override some dovecot 2.0 configuration that may have happened during dovecot postinst:
+ sed -i -e 's/^ *!include/#!include/' /etc/dovecot/conf.d/10-auth.conf
+
+-# Changing owner of web panel's files
+-chown -R alterncpanel:alterncpanel "/usr/share/alternc/panel/"
+-
+ # We force the re-computing of the DNS zones, since we may have changed the IP address (see #460)
+ /usr/bin/mysql --defaults-file="/etc/alternc/my.cnf" -B -e "update domaines set dns_action='UPDATE' WHERE gesdns=1;"
+
+@@ -612,7 +599,7 @@ grep -q "^localhost\$" /etc/opendkim/TrustedHosts || echo "localhost" >>/etc/ope
+ grep -q "^$PUBLIC_IP\$" /etc/opendkim/TrustedHosts || echo "$PUBLIC_IP" >>/etc/opendkim/TrustedHosts
+
+ # Add opendkim to service to restart
+-SERVICES="$SERVICES opendkim bind9"
++SERVICES="$SERVICES opendkim"
+
+ # hook
+ run-parts --arg=before-reload /usr/lib/alternc/install.d
+@@ -620,7 +607,7 @@ run-parts --arg=before-reload /usr/lib/alternc/install.d
+ #######################################################################
+ # Reload services
+ #
+-for service in postfix dovecot cron proftpd ; do
++for service in postfix bind9 apache2 dovecot cron proftpd ; do
+ invoke-rc.d $service force-reload || true
+ done
+
+@@ -628,10 +615,6 @@ done
+ for service in $SERVICES; do
+ test -x /etc/init.d/$service && invoke-rc.d $service stop || true
+ done
+-
+-# on Jessie, apache2 does not stop/start properly due to "service" and "apache2ctl" having different behavior pid-file-wise
+-killall apache2
+-
+ for service in $SERVICES; do
+ test -x /etc/init.d/$service && invoke-rc.d $service start || true
+ done
diff --git a/jessie/apache2.conf b/jessie/apache2.conf
index 0732de07..a5920e1e 100644
--- a/jessie/apache2.conf
+++ b/jessie/apache2.conf
@@ -1,81 +1,43 @@
-# AUTO GENERATED FILE
-# Modify template in /etc/alternc/templates/
-# and launch alternc.install if you want
-# to modify this file.
-#
-# This module is loaded in /etc/apache/modules, and enabled by apache-modconf
-# LoadModule vhost_alias_module /usr/lib/apache/1.3/mod_vhost_alias.so
-
-# Define the default user and group for mpm-itk
-AssignUserId www-data www-data
-
-# Deny access to the root filesystem
-
- Options +FollowSymLinks
- AllowOverride None
- Order allow,deny
- Deny from all
-
-#### End security parameters
-
-ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
-
- AllowOverride None
- Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
- Order allow,deny
- Allow from all
-
-
-
-
- Order allow,deny
- Allow from all
-
- php_admin_flag safe_mode_gid off
- php_admin_flag safe_mode off
- AddDefaultCharset UTF-8
-# open_basedir allows access to specifics directories. We need to grant access to these directories for alternc, awstats, mailman...
- php_admin_value open_basedir /usr/share/alternc-mailman/patches/:/etc/alternc/:/run/alternc:/var/run/alternc/:/usr/share/alternc/panel/:%%ALTERNC_HTML%%/:/tmp:/usr/share/php/:/var/cache/alternc-webalizer/:/etc/locale.gen:%%ALTERNC_LOGS%%:/etc/awstats/:/var/log/alternc/:/var/lib/alternc/panel/
-
-
-
-
-
- AllowOverride AuthConfig FileInfo Limit Options Indexes
- Options -Indexes +Includes -FollowSymLinks +MultiViews +SymLinksIfOwnerMatch
- Order allow,deny
- Allow from all
- php_admin_flag safe_mode_gid off
- php_admin_flag safe_mode off
- php_admin_flag enable_dl off
-
- php_admin_value disable_functions chmod,chown,chgrp,link,symlink
- php_admin_value safe_mode_exec_dir /usr/lib/alternc/safe_mode_exec_dir
- php_admin_value disable_functions chgrp,link,symlink
- php_admin_value sendmail_path /usr/lib/alternc/sendmail
-
- # Default upload_tmp_dir is /tmp . Be carefull, this value MUST be surcharged
- # by the vhost to be a directory INSIDE the home of the user. If you don't do
- # that, ACLs could be "strange" or inexistent.
- php_admin_value upload_tmp_dir /tmp
-
-
-
- AllowOverride AuthConfig Options FileInfo Limit Indexes
- Options +Indexes +Includes +FollowSymLinks +MultiViews
- Order allow,deny
- Allow from all
-
-
- AllowOverride AuthConfig Options FileInfo Limit Indexes
- Options +Indexes +Includes +FollowSymLinks +MultiViews
- Order allow,deny
- Allow from all
-
-
-
- Include /etc/alternc/bureau.conf
-
-
-# Now we include all the generated configuration
-Include /var/lib/alternc/apache-vhost/vhosts_all.conf
+diff --git a/etc/alternc/templates/alternc/apache2.conf b/etc/alternc/templates/alternc/apache2.conf
+index 0732de07..514d695d 100644
+--- a/etc/alternc/templates/alternc/apache2.conf
++++ b/etc/alternc/templates/alternc/apache2.conf
+@@ -9,9 +9,12 @@
+ # Define the default user and group for mpm-itk
+ AssignUserId www-data www-data
+
++# Logformat information
++Include /etc/alternc/apache_logformat.conf
++
+ # Deny access to the root filesystem
+
+- Options +FollowSymLinks
++ Options FollowSymLinks
+ AllowOverride None
+ Order allow,deny
+ Deny from all
+@@ -42,7 +45,7 @@ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
+
+
+ AllowOverride AuthConfig FileInfo Limit Options Indexes
+- Options -Indexes +Includes -FollowSymLinks +MultiViews +SymLinksIfOwnerMatch
++ Options Indexes Includes -FollowSymLinks MultiViews SymLinksIfOwnerMatch
+ Order allow,deny
+ Allow from all
+ php_admin_flag safe_mode_gid off
+@@ -62,13 +65,13 @@ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
+
+
+ AllowOverride AuthConfig Options FileInfo Limit Indexes
+- Options +Indexes +Includes +FollowSymLinks +MultiViews
++ Options Indexes Includes FollowSymLinks MultiViews
+ Order allow,deny
+ Allow from all
+
+
+ AllowOverride AuthConfig Options FileInfo Limit Indexes
+- Options +Indexes +Includes +FollowSymLinks +MultiViews
++ Options Indexes Includes FollowSymLinks MultiViews
+ Order allow,deny
+ Allow from all
+
diff --git a/jessie/bureau.conf b/jessie/bureau.conf
index 65bca635..208ca040 100644
--- a/jessie/bureau.conf
+++ b/jessie/bureau.conf
@@ -1,37 +1,11 @@
-
- AssignUserId alterncpanel alterncpanel
- SetEnv LOGIN "0000-panel"
-
- DocumentRoot /usr/share/alternc/panel/admin
- ServerName %%fqdn%%
-
- # Mail autoconfig
- ServerAlias autoconfig.*
- ServerAlias autodiscover.*
-
- RewriteEngine on
- RewriteRule ^/admin/(.*) /$1 [R=301,L]
-
- alias /alternc-sql /usr/share/phpmyadmin
-
- RewriteEngine On
- RewriteRule ^webmail /webmail-redirect.php [L]
-
- # Mail autoconfig
- RewriteRule ^/mail/mailautoconfig.xml$ /mailautoconfig_thunderbird.php [L]
- RewriteRule ^/mail/config-v1.1.xml$ /mailautoconfig_thunderbird.php [L]
- RewriteRule ^mail/mailautoconfig.xml$ /mailautoconfig_thunderbird.php [L]
- RewriteRule ^mail/config-v1.1.xml$ /mailautoconfig_thunderbird.php [L]
- RewriteRule ^/autodiscover/autodiscover.xml$ /mailautoconfig_outlook.php [L]
- RewriteRule ^/Autodiscover/Autodiscover.xml$ /mailautoconfig_outlook.php [L]
- RewriteRule ^/Autodiscover.xml$ mailautoconfig_outlook.php [L]
- RewriteRule ^/autodiscover.xml$ mailautoconfig_outlook.php [L]
- RewriteRule ^autodiscover/autodiscover.xml$ /mailautoconfig_outlook.php [L]
- RewriteRule ^Autodiscover/Autodiscover.xml$ /mailautoconfig_outlook.php [L]
- RewriteRule ^Autodiscover.xml$ mailautoconfig_outlook.php [L]
- RewriteRule ^autodiscover.xml$ mailautoconfig_outlook.php [L]
-
-
- # will be used to define aliases such as /javascript /webmail /squirrelmail ...
- IncludeOptional /etc/alternc/apache-panel.d/*.conf
-
+diff --git a/etc/alternc/templates/alternc/bureau.conf b/etc/alternc/templates/alternc/bureau.conf
+index 65bca635..aa7066b9 100644
+--- a/etc/alternc/templates/alternc/bureau.conf
++++ b/etc/alternc/templates/alternc/bureau.conf
+@@ -33,5 +33,5 @@
+
+
+ # will be used to define aliases such as /javascript /webmail /squirrelmail ...
+- IncludeOptional /etc/alternc/apache-panel.d/*.conf
++ Include /etc/alternc/apache-panel.d/*.conf
+
diff --git a/jessie/changelog b/jessie/changelog
new file mode 100644
index 00000000..76d43552
--- /dev/null
+++ b/jessie/changelog
@@ -0,0 +1,15 @@
+diff --git a/debian/changelog b/debian/changelog
+index 3ed86856..75cd7999 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -1,10 +1,3 @@
+-alternc (3.3.10) stable; urgency=low
+-
+- * Version identical to 3.1 for Squeeze
+- * Includes small patches / dependency for apache & dovecot 2.0 for Jessie
+-
+- -- Benjamin Sonntag Fri, 15 Jan 2016 15:26:00 +0100
+-
+ alternc (3.2.10) oldstable; urgency=low
+
+ * Version identical to 3.1 for Squeeze
diff --git a/jessie/changelog.diff b/jessie/changelog.diff
deleted file mode 100644
index 017bbc43..00000000
--- a/jessie/changelog.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- changelog 2014-06-24 13:42:50.234304438 +0200
-+++ changelog.wheezy 2014-06-24 13:43:51.978313552 +0200
-@@ -1,1 +1,8 @@
-+alternc (3.3.10) stable; urgency=low
-+
-+ * Version identical to 3.1 for Squeeze
-+ * Includes small patches / dependency for apache & dovecot 2.0 for Jessie
-+
-+ -- Benjamin Sonntag Fri, 15 Jan 2016 15:26:00 +0100
-+
- alternc (3.2.10) oldstable; urgency=low
-
- * Version identical to 3.1 for Squeeze
diff --git a/jessie/config.inc.php b/jessie/config.inc.php
new file mode 100644
index 00000000..891252d2
--- /dev/null
+++ b/jessie/config.inc.php
@@ -0,0 +1,449 @@
+diff --git a/roundcube/templates/roundcube/plugins/password/config.inc.php b/roundcube/templates/roundcube/plugins/password/config.inc.php
+index 6d49ef6e..f2741c57 100644
+--- a/roundcube/templates/roundcube/plugins/password/config.inc.php
++++ b/roundcube/templates/roundcube/plugins/password/config.inc.php
+@@ -1,56 +1,47 @@
+ /dev/null';
++$rcmail_config['password_chpasswd_cmd'] = 'sudo /usr/sbin/chpasswd 2> /dev/null';
+
+
+ // XMail Driver options
+ // ---------------------
+-$config['xmail_host'] = 'localhost';
+-$config['xmail_user'] = 'YourXmailControlUser';
+-$config['xmail_pass'] = 'YourXmailControlPass';
+-$config['xmail_port'] = 6017;
++$rcmail_config['xmail_host'] = 'localhost';
++$rcmail_config['xmail_user'] = 'YourXmailControlUser';
++$rcmail_config['xmail_pass'] = 'YourXmailControlPass';
++$rcmail_config['xmail_port'] = 6017;
+
+
+ // hMail Driver options
+@@ -312,9 +293,9 @@ $config['xmail_port'] = 6017;
+ // 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;
++$rcmail_config['hmailserver_remote_dcom'] = false;
+ // Windows credentials
+-$config['hmailserver_server'] = array(
++$rcmail_config['hmailserver_server'] = array(
+ 'Server' => 'localhost', // hostname or ip address
+ 'Username' => 'administrator', // windows username
+ 'Password' => 'password' // windows user password
+@@ -332,70 +313,6 @@ $config['hmailserver_server'] = array(
+ // 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';
++$rcmail_config['password_virtualmin_format'] = 0;
+
+-// Plesk RPC Path
+-$config['password_plesk_rpc_path'] = 'enterprise/control/agent.php';
++?>
diff --git a/jessie/control b/jessie/control
new file mode 100644
index 00000000..db7ee3d4
--- /dev/null
+++ b/jessie/control
@@ -0,0 +1,30 @@
+diff --git a/debian/control b/debian/control
+index 551f6171..ac10f87d 100644
+--- a/debian/control
++++ b/debian/control
+@@ -38,9 +38,9 @@ Depends: debianutils (>= 1.13.1)
+ , sudo
+ , adduser
+ , dnsutils
+- , dovecot-core (>=1:2.1.7)
+- , dovecot-imapd (>=1:2.1.7)
+- , dovecot-pop3d (>=1:2.1.7)
++ , dovecot-common (>=1:2.1.7)
++ , dovecot-imapd
++ , dovecot-pop3d
+ , dovecot-mysql
+ , vlogger
+ , mailutils | mailx
+@@ -126,9 +126,9 @@ Depends: debianutils (>= 1.13.1)
+ , gettext (>= 0.10.40-5)
+ , adduser
+ , sudo
+- , dovecot-core (>=1:2.1.7)
+- , dovecot-imapd (>=1:2.1.7)
+- , dovecot-pop3d (>=1:2.1.7)
++ , dovecot-common (>=1:2.1.7)
++ , dovecot-imapd
++ , dovecot-pop3d
+ , dovecot-mysql
+ , vlogger
+ , mailutils | mailx
diff --git a/jessie/control.diff b/jessie/control.diff
deleted file mode 100644
index 2b8b28ee..00000000
--- a/jessie/control.diff
+++ /dev/null
@@ -1,28 +0,0 @@
---- control.wheezy 2017-10-06 12:13:49.765062335 +0200
-+++ control 2017-10-06 12:15:52.021333089 +0200
-@@ -38,9 +38,9 @@
- , sudo
- , adduser
- , dnsutils
-- , dovecot-common (>=1:2.1.7)
-- , dovecot-imapd
-- , dovecot-pop3d
-+ , dovecot-core (>=1:2.1.7)
-+ , dovecot-imapd (>=1:2.1.7)
-+ , dovecot-pop3d (>=1:2.1.7)
- , dovecot-mysql
- , vlogger
- , mailutils | mailx
-@@ -126,9 +126,9 @@
- , gettext (>= 0.10.40-5)
- , adduser
- , sudo
-- , dovecot-common (>=1:2.1.7)
-- , dovecot-imapd
-- , dovecot-pop3d
-+ , dovecot-core (>=1:2.1.7)
-+ , dovecot-imapd (>=1:2.1.7)
-+ , dovecot-pop3d (>=1:2.1.7)
- , dovecot-mysql
- , vlogger
- , mailutils | mailx
diff --git a/jessie/main.inc.php b/jessie/main.inc.php
new file mode 100644
index 00000000..f9114d9c
--- /dev/null
+++ b/jessie/main.inc.php
@@ -0,0 +1,809 @@
+diff --git a/roundcube/templates/roundcube/main.inc.php b/roundcube/templates/roundcube/main.inc.php
+new file mode 100644
+index 00000000..97c9f6bf
+--- /dev/null
++++ b/roundcube/templates/roundcube/main.inc.php
+@@ -0,0 +1,803 @@
++/sendmail or to syslog
++$rcmail_config['smtp_log'] = true;
++
++// Log successful logins to /userlogins or to syslog
++$rcmail_config['log_logins'] = false;
++
++// Log session authentication errors to /session or to syslog
++$rcmail_config['log_session'] = false;
++
++// Log SQL queries to /sql or to syslog
++$rcmail_config['sql_debug'] = false;
++
++// Log IMAP conversation to /imap or to syslog
++$rcmail_config['imap_debug'] = false;
++
++// Log LDAP conversation to /ldap or to syslog
++$rcmail_config['ldap_debug'] = false;
++
++// Log SMTP conversation to /smtp or to syslog
++$rcmail_config['smtp_debug'] = false;
++
++// ----------------------------------
++// IMAP
++// ----------------------------------
++
++// the mail host chosen to perform the log-in
++// leave blank to show a textbox at login, give a list of hosts
++// to display a pulldown menu or set one host as string.
++// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
++// Supported replacement variables:
++// %n - http hostname ($_SERVER['SERVER_NAME'])
++// %d - domain (http hostname without the first part)
++// %s - domain name after the '@' from e-mail address provided at login screen
++// For example %n = mail.domain.tld, %d = domain.tld
++$rcmail_config['default_host'] = 'localhost';
++
++// TCP port used for IMAP connections
++$rcmail_config['default_port'] = 143;
++
++// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
++// best server supported one)
++$rcmail_config['imap_auth_type'] = null;
++
++// If you know your imap's folder delimiter, you can specify it here.
++// Otherwise it will be determined automatically
++$rcmail_config['imap_delimiter'] = null;
++
++// If IMAP server doesn't support NAMESPACE extension, but you're
++// using shared folders or personal root folder is non-empty, you'll need to
++// set these options. All can be strings or arrays of strings.
++// Folders need to be ended with directory separator, e.g. "INBOX."
++// (special directory "~" is an exception to this rule)
++// These can be used also to overwrite server's namespaces
++$rcmail_config['imap_ns_personal'] = null;
++$rcmail_config['imap_ns_other'] = null;
++$rcmail_config['imap_ns_shared'] = null;
++
++// By default IMAP capabilities are readed after connection to IMAP server
++// In some cases, e.g. when using IMAP proxy, there's a need to refresh the list
++// after login. Set to True if you've got this case.
++$rcmail_config['imap_force_caps'] = false;
++
++// By default list of subscribed folders is determined using LIST-EXTENDED
++// extension if available. Some servers (dovecot 1.x) returns wrong results
++// for shared namespaces in this case. http://trac.roundcube.net/ticket/1486225
++// Enable this option to force LSUB command usage instead.
++$rcmail_config['imap_force_lsub'] = true;
++
++// IMAP connection timeout, in seconds. Default: 0 (no limit)
++$rcmail_config['imap_timeout'] = 10;
++
++// Optional IMAP authentication identifier to be used as authorization proxy
++$rcmail_config['imap_auth_cid'] = null;
++
++// Optional IMAP authentication password to be used for imap_auth_cid
++$rcmail_config['imap_auth_pw'] = null;
++
++// Type of IMAP indexes cache. Supported values: 'db', 'apc' and 'memcache'.
++$rcmail_config['imap_cache'] = null;
++
++// Enables messages cache. Only 'db' cache is supported.
++$rcmail_config['messages_cache'] = false;
++
++
++// ----------------------------------
++// SMTP
++// ----------------------------------
++
++// SMTP server host (for sending mails).
++// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
++// If left blank, the PHP mail() function is used
++// Supported replacement variables:
++// %h - user's IMAP hostname
++// %n - http hostname ($_SERVER['SERVER_NAME'])
++// %d - domain (http hostname without the first part)
++// %z - IMAP domain (IMAP hostname without the first part)
++// For example %n = mail.domain.tld, %d = domain.tld
++$rcmail_config['smtp_server'] = 'localhost';
++
++// SMTP port (default is 25; 465 for SSL)
++$rcmail_config['smtp_port'] = 25;
++
++// SMTP username (if required) if you use %u as the username Roundcube
++// will use the current username for login
++$rcmail_config['smtp_user'] = '%u';
++
++// SMTP password (if required) if you use %p as the password Roundcube
++// will use the current user's password for login
++$rcmail_config['smtp_pass'] = '%p';
++
++// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
++// best server supported one)
++$rcmail_config['smtp_auth_type'] = '';
++
++// Optional SMTP authentication identifier to be used as authorization proxy
++$rcmail_config['smtp_auth_cid'] = null;
++
++// Optional SMTP authentication password to be used for smtp_auth_cid
++$rcmail_config['smtp_auth_pw'] = null;
++
++// SMTP HELO host
++// Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages
++// Leave this blank and you will get the server variable 'server_name' or
++// localhost if that isn't defined.
++$rcmail_config['smtp_helo_host'] = '';
++
++// SMTP connection timeout, in seconds. Default: 0 (no limit)
++$rcmail_config['smtp_timeout'] = 0;
++
++// ----------------------------------
++// 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!
++$rcmail_config['enable_installer'] = false;
++
++// use this folder to store log files (must be writeable for apache user)
++// This is used by the 'file' log driver.
++$rcmail_config['log_dir'] = 'logs/';
++
++// use this folder to store temp files (must be writeable for apache user)
++$rcmail_config['temp_dir'] = 'temp/';
++
++// lifetime of message cache
++// possible units: s, m, h, d, w
++$rcmail_config['message_cache_lifetime'] = '10d';
++
++// enforce connections over https
++// with this option enabled, all non-secure connections will be redirected.
++// set the port for the ssl connection as value of this option if it differs from the default 443
++$rcmail_config['force_https'] = false;
++
++// tell PHP that it should work as under secure connection
++// even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set)
++// e.g. when you're running Roundcube behind a https proxy
++$rcmail_config['use_https'] = false;
++
++// Allow browser-autocompletion on login form.
++// 0 - disabled, 1 - username and host only, 2 - username, host, password
++$rcmail_config['login_autocomplete'] = 2;
++
++// If users authentication is not case sensitive this must be enabled.
++// You can also use it to force conversion of logins to lower case.
++// After enabling it all user records need to be updated, e.g. with query:
++// UPDATE users SET username = LOWER(username);
++$rcmail_config['login_lc'] = false;
++
++// automatically create a new Roundcube user when log-in the first time.
++// a new user will be created once the IMAP login succeeds.
++// set to false if only registered users can use this service
++$rcmail_config['auto_create_user'] = true;
++
++// replace Roundcube logo with this image
++// specify an URL relative to the document root of this Roundcube installation
++$rcmail_config['skin_logo'] = 'skins/default/images/roundcube_alternc_logo.png';
++
++// Includes should be interpreted as PHP files
++$rcmail_config['skin_include_php'] = false;
++
++// Session lifetime in minutes
++// must be greater than 'keep_alive'/60
++$rcmail_config['session_lifetime'] = 60;
++
++// session domain: .example.org
++$rcmail_config['session_domain'] = '';
++
++// session name. Default: 'roundcube_sessid'
++$rcmail_config['session_name'] = null;
++
++// Backend to use for session storage. Can either be 'db' (default) or 'memcache'
++// If set to memcache, a list of servers need to be specified in 'memcache_hosts'
++// Make sure the Memcache extension (http://pecl.php.net/package/memcache) version >= 2.0.0 is installed
++$rcmail_config['session_storage'] = 'db';
++
++// Use these hosts for accessing memcached
++// Define any number of hosts in the form hostname:port
++$rcmail_config['memcache_hosts'] = null; // e.g. array( 'localhost:11211', '192.168.1.12:11211' );
++
++// check client IP in session athorization
++$rcmail_config['ip_check'] = false;
++
++// check referer of incoming requests
++$rcmail_config['referer_check'] = false;
++
++// X-Frame-Options HTTP header value sent to prevent from Clickjacking.
++// Possible values: sameorigin|deny. Set to false in order to disable sending them
++$rcmail_config['x_frame_options'] = 'sameorigin';
++
++// this key is used to encrypt the users imap password which is stored
++// in the session record (and the client cookie if remember password is enabled).
++// please provide a string of exactly 24 chars.
++$rcmail_config['des_key'] = '%%deskey%%';
++
++// Automatically add this domain to user names for login
++// Only for IMAP servers that require full e-mail addresses for login
++// Specify an array with 'host' => 'domain' values to support multiple hosts
++// Supported replacement variables:
++// %h - user's IMAP hostname
++// %n - http hostname ($_SERVER['SERVER_NAME'])
++// %d - domain (http hostname without the first part)
++// %z - IMAP domain (IMAP hostname without the first part)
++// For example %n = mail.domain.tld, %d = domain.tld
++$rcmail_config['username_domain'] = '';
++
++// This domain will be used to form e-mail addresses of new users
++// Specify an array with 'host' => 'domain' values to support multiple hosts
++// Supported replacement variables:
++// %h - user's IMAP hostname
++// %n - http hostname ($_SERVER['SERVER_NAME'])
++// %d - domain (http hostname without the first part)
++// %z - IMAP domain (IMAP hostname without the first part)
++// For example %n = mail.domain.tld, %d = domain.tld
++$rcmail_config['mail_domain'] = '';
++
++// Password charset.
++// Use it if your authentication backend doesn't support UTF-8.
++// Defaults to ISO-8859-1 for backward compatibility
++$rcmail_config['password_charset'] = 'ISO-8859-1';
++
++// How many seconds must pass between emails sent by a user
++$rcmail_config['sendmail_delay'] = 0;
++
++// Maximum number of recipients per message. Default: 0 (no limit)
++$rcmail_config['max_recipients'] = 0;
++
++// Maximum allowednumber of members of an address group. Default: 0 (no limit)
++// If 'max_recipients' is set this value should be less or equal
++$rcmail_config['max_group_members'] = 0;
++
++// add this user-agent to message headers when sending
++$rcmail_config['useragent'] = 'Roundcube Webmail/'.RCMAIL_VERSION;
++
++// use this name to compose page titles
++$rcmail_config['product_name'] = 'Roundcube Webmail';
++
++// try to load host-specific configuration
++// see http://trac.roundcube.net/wiki/Howto_Config for more details
++$rcmail_config['include_host_config'] = false;
++
++// path to a text file which will be added to each sent message
++// paths are relative to the Roundcube root folder
++$rcmail_config['generic_message_footer'] = '';
++
++// path to a text file which will be added to each sent HTML message
++// paths are relative to the Roundcube root folder
++$rcmail_config['generic_message_footer_html'] = '';
++
++// add a received header to outgoing mails containing the creators IP and hostname
++$rcmail_config['http_received_header'] = false;
++
++// Whether or not to encrypt the IP address and the host name
++// these could, in some circles, be considered as sensitive information;
++// however, for the administrator, these could be invaluable help
++// when tracking down issues.
++$rcmail_config['http_received_header_encrypt'] = false;
++
++// This string is used as a delimiter for message headers when sending
++// a message via mail() function. Leave empty for auto-detection
++$rcmail_config['mail_header_delimiter'] = NULL;
++
++// number of chars allowed for line when wrapping text.
++// text wrapping is done when composing/sending messages
++$rcmail_config['line_length'] = 72;
++
++// send plaintext messages as format=flowed
++$rcmail_config['send_format_flowed'] = true;
++
++// don't allow these settings to be overriden by the user
++$rcmail_config['dont_override'] = array();
++
++// Set identities access level:
++// 0 - many identities with possibility to edit all params
++// 1 - many identities with possibility to edit all params but not email address
++// 2 - one identity with possibility to edit all params
++// 3 - one identity with possibility to edit all params but not email address
++$rcmail_config['identities_level'] = 0;
++
++// Mimetypes supported by the browser.
++// attachments of these types will open in a preview window
++// either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf'
++$rcmail_config['client_mimetypes'] = null; # null == default
++
++// mime magic database
++$rcmail_config['mime_magic'] = '/usr/share/misc/magic';
++
++// path to imagemagick identify binary
++$rcmail_config['im_identify_path'] = '/usr/bin/identify';
++
++// path to imagemagick convert binary
++$rcmail_config['im_convert_path'] = '/usr/bin/convert';
++
++// maximum size of uploaded contact photos in pixel
++$rcmail_config['contact_photo_size'] = 160;
++
++// Enable DNS checking for e-mail address validation
++$rcmail_config['email_dns_check'] = true;
++
++// ----------------------------------
++// PLUGINS
++// ----------------------------------
++
++// List of active plugins (in plugins/ directory)
++$rcmail_config['plugins'] = array("managesieve","password");
++
++// ----------------------------------
++// USER INTERFACE
++// ----------------------------------
++
++// default messages sort column. Use empty value for default server's sorting,
++// or 'arrival', 'date', 'subject', 'from', 'to', 'size', 'cc'
++$rcmail_config['message_sort_col'] = '';
++
++// default messages sort order
++$rcmail_config['message_sort_order'] = 'DESC';
++
++// These cols are shown in the message list. Available cols are:
++// subject, from, to, cc, replyto, date, size, status, flag, attachment, 'priority'
++$rcmail_config['list_cols'] = array('subject', 'status', 'from', 'date', 'size', 'flag', 'attachment');
++
++// the default locale setting (leave empty for auto-detection)
++// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR
++$rcmail_config['language'] = null;
++
++// use this format for date display (date or strftime format)
++$rcmail_config['date_format'] = 'Y-m-d';
++
++// give this choice of date formats to the user to select from
++$rcmail_config['date_formats'] = array('Y-m-d', 'd-m-Y', 'Y/m/d', 'm/d/Y', 'd/m/Y', 'd.m.Y', 'j.n.Y');
++
++// use this format for time display (date or strftime format)
++$rcmail_config['time_format'] = 'H:i';
++
++// give this choice of time formats to the user to select from
++$rcmail_config['time_formats'] = array('G:i', 'H:i', 'g:i a', 'h:i A');
++
++// use this format for short date display (derived from date_format and time_format)
++$rcmail_config['date_short'] = 'D H:i';
++
++// use this format for detailed date/time formatting (derived from date_format and time_format)
++$rcmail_config['date_long'] = 'Y-m-d H:i';
++
++// store draft message is this mailbox
++// leave blank if draft messages should not be stored
++// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
++$rcmail_config['drafts_mbox'] = 'Drafts';
++
++// store spam messages in this mailbox
++// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
++$rcmail_config['junk_mbox'] = 'Junk';
++
++// store sent message is this mailbox
++// leave blank if sent messages should not be stored
++// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
++$rcmail_config['sent_mbox'] = 'Sent';
++
++// move messages to this folder when deleting them
++// leave blank if they should be deleted directly
++// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
++$rcmail_config['trash_mbox'] = 'Trash';
++
++// display these folders separately in the mailbox list.
++// these folders will also be displayed with localized names
++// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
++$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
++
++// automatically create the above listed default folders on first login
++$rcmail_config['create_default_folders'] = true;
++
++// protect the default folders from renames, deletes, and subscription changes
++$rcmail_config['protect_default_folders'] = true;
++
++// if in your system 0 quota means no limit set this option to true
++$rcmail_config['quota_zero_as_unlimited'] = true;
++
++// Make use of the built-in spell checker. It is based on GoogieSpell.
++// Since Google only accepts connections over https your PHP installatation
++// requires to be compiled with Open SSL support
++$rcmail_config['enable_spellcheck'] = true;
++
++// Enables spellchecker exceptions dictionary.
++// Setting it to 'shared' will make the dictionary shared by all users.
++$rcmail_config['spellcheck_dictionary'] = false;
++
++// Set the spell checking engine. 'googie' is the default. 'pspell' is also available,
++// but requires the Pspell extensions. When using Nox Spell Server, also set 'googie' here.
++$rcmail_config['spellcheck_engine'] = 'pspell';
++
++// For a locally installed Nox Spell Server, please specify the URI to call it.
++// Get Nox Spell Server from http://orangoo.com/labs/?page_id=72
++// Leave empty to use the Google spell checking service, what means
++// that the message content will be sent to Google in order to check spelling
++$rcmail_config['spellcheck_uri'] = '';
++
++// These languages can be selected for spell checking.
++// Configure as a PHP style hash array: array('en'=>'English', 'de'=>'Deutsch');
++// Leave empty for default set of available language.
++$rcmail_config['spellcheck_languages'] = NULL;
++
++// Makes that words with all letters capitalized will be ignored (e.g. GOOGLE)
++$rcmail_config['spellcheck_ignore_caps'] = false;
++
++// Makes that words with numbers will be ignored (e.g. g00gle)
++$rcmail_config['spellcheck_ignore_nums'] = false;
++
++// Makes that words with symbols will be ignored (e.g. g@@gle)
++$rcmail_config['spellcheck_ignore_syms'] = false;
++
++// Use this char/string to separate recipients when composing a new message
++$rcmail_config['recipients_separator'] = ',';
++
++// don't let users set pagesize to more than this value if set
++$rcmail_config['max_pagesize'] = 200;
++
++// Minimal value of user's 'keep_alive' setting (in seconds)
++// Must be less than 'session_lifetime'
++$rcmail_config['min_keep_alive'] = 60;
++
++// Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option.
++// By default refresh time is set to 1 second. You can set this value to true
++// or any integer value indicating number of seconds.
++$rcmail_config['upload_progress'] = false;
++
++// Specifies for how many seconds the Undo button will be available
++// after object delete action. Currently used with supporting address book sources.
++// Setting it to 0, disables the feature.
++$rcmail_config['undo_timeout'] = 0;
++
++// ----------------------------------
++// ADDRESSBOOK SETTINGS
++// ----------------------------------
++
++// This indicates which type of address book to use. Possible choises:
++// 'sql' (default) and 'ldap'.
++// If set to 'ldap' then it will look at using the first writable LDAP
++// address book as the primary address book and it will not display the
++// SQL address book in the 'Address Book' view.
++$rcmail_config['address_book_type'] = 'sql';
++
++// In order to enable public ldap search, configure an array like the Verisign
++// example further below. if you would like to test, simply uncomment the example.
++// Array key must contain only safe characters, ie. a-zA-Z0-9_
++$rcmail_config['ldap_public'] = array();
++
++// If you are going to use LDAP for individual address books, you will need to
++// set 'user_specific' to true and use the variables to generate the appropriate DNs to access it.
++//
++// The recommended directory structure for LDAP is to store all the address book entries
++// under the users main entry, e.g.:
++//
++// o=root
++// ou=people
++// uid=user@domain
++// mail=contact@contactdomain
++//
++// So the base_dn would be uid=%fu,ou=people,o=root
++// The bind_dn would be the same as based_dn or some super user login.
++/*
++* example config for Verisign directory
++*
++$rcmail_config['ldap_public']['Verisign'] = array(
++'name' => 'Verisign.com',
++// Replacement variables supported in host names:
++// %h - user's IMAP hostname
++// %n - http hostname ($_SERVER['SERVER_NAME'])
++// %d - domain (http hostname without the first part)
++// %z - IMAP domain (IMAP hostname without the first part)
++// For example %n = mail.domain.tld, %d = domain.tld
++'hosts' => array('directory.verisign.com'),
++'port' => 389,
++'use_tls' => false,
++'ldap_version' => 3, // using LDAPv3
++'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login.
++// %fu - The full username provided, assumes the username is an email
++// address, uses the username_domain value if not an email address.
++// %u - The username prior to the '@'.
++// %d - The domain name after the '@'.
++// %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
++// %dn - DN found by ldap search when search_filter/search_base_dn are used
++'base_dn' => '',
++'bind_dn' => '',
++'bind_pass' => '',
++// It's possible to bind for an individual address book
++// The login name is used to search for the DN to bind with
++'search_base_dn' => '',
++'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))'
++// DN and password to bind as before searching for bind DN, if anonymous search is not allowed
++'search_bind_dn' => '',
++'search_bind_pw' => '',
++// Default for %dn variable if search doesn't return DN value
++'search_dn_default' => '',
++// Optional authentication identifier to be used as SASL authorization proxy
++// bind_dn need to be empty
++'auth_cid' => '',
++// SASL authentication method (for proxy auth), e.g. DIGEST-MD5
++'auth_method' => '',
++// Indicates if the addressbook shall be hidden from the list.
++// With this option enabled you can still search/view contacts.
++'hidden' => false,
++// Indicates if the addressbook shall not list contacts but only allows searching.
++'searchonly' => false,
++// Indicates if we can write to the LDAP directory or not.
++// If writable is true then these fields need to be populated:
++// LDAP_Object_Classes, required_fields, LDAP_rdn
++'writable' => false,
++// To create a new contact these are the object classes to specify
++// (or any other classes you wish to use).
++'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
++// The RDN field that is used for new entries, this field needs
++// to be one of the search_fields, the base of base_dn is appended
++// to the RDN to insert into the LDAP directory.
++'LDAP_rdn' => 'mail',
++// The required fields needed to build a new contact as required by
++// the object classes (can include additional fields not required by the object classes).
++'required_fields' => array('cn', 'sn', 'mail'),
++'search_fields' => array('mail', 'cn'), // fields to search in
++// mapping of contact fields to directory attributes
++'fieldmap' => array(
++// Roundcube => LDAP
++'name' => 'cn',
++'surname' => 'sn',
++'firstname' => 'givenName',
++'email' => 'mail',
++'phone:home' => 'homePhone',
++'phone:work' => 'telephoneNumber',
++'phone:mobile' => 'mobile',
++'street' => 'street',
++'zipcode' => 'postalCode',
++'locality' => 'l',
++'country' => 'c',
++'organization' => 'o',
++),
++'sort' => 'cn', // The field to sort the listing by.
++'scope' => 'sub', // search mode: sub|base|list
++'filter' => '(objectClass=inetOrgPerson)', // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
++'fuzzy_search' => true, // server allows wildcard search
++'vlv' => false, // Enable Virtual List View to more efficiently fetch paginated data (if server supports it)
++'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting
++'sizelimit' => '0', // Enables you to limit the count of entries fetched. Setting this to 0 means no limit.
++'timelimit' => '0', // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.
++'referrals' => true|false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups
++
++// definition for contact groups (uncomment if no groups are supported)
++// for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above)
++// if the groups base_dn is empty, the contact base_dn is used for the groups as well
++// -> in this case, assure that groups and contacts are separated due to the concernig filters!
++'groups' => array(
++'base_dn' => '',
++'filter' => '(objectClass=groupOfNames)',
++'object_classes' => array("top", "groupOfNames"),
++'member_attr' => 'member', // name of the member attribute, e.g. uniqueMember
++'name_attr' => 'cn', // attribute to be used as group name
++),
++);
++*/
++
++// An ordered array of the ids of the addressbooks that should be searched
++// when populating address autocomplete fields server-side. ex: array('sql','Verisign');
++$rcmail_config['autocomplete_addressbooks'] = array('sql');
++
++// The minimum number of characters required to be typed in an autocomplete field
++// before address books will be searched. Most useful for LDAP directories that
++// may need to do lengthy results building given overly-broad searches
++$rcmail_config['autocomplete_min_length'] = 1;
++
++// Number of parallel autocomplete requests.
++// If there's more than one address book, n parallel (async) requests will be created,
++// where each request will search in one address book. By default (0), all address
++// books are searched in one request.
++$rcmail_config['autocomplete_threads'] = 0;
++
++// Max. numer of entries in autocomplete popup. Default: 15.
++$rcmail_config['autocomplete_max'] = 15;
++
++// show address fields in this order
++// available placeholders: {street}, {locality}, {zipcode}, {country}, {region}
++$rcmail_config['address_template'] = '{street}
{locality} {zipcode}
{country} {region}';
++
++// Matching mode for addressbook search (including autocompletion)
++// 0 - partial (*abc*), default
++// 1 - strict (abc)
++// 2 - prefix (abc*)
++// Note: For LDAP sources fuzzy_search must be enabled to use 'partial' or 'prefix' mode
++$rcmail_config['addressbook_search_mode'] = 0;
++
++// ----------------------------------
++// USER PREFERENCES
++// ----------------------------------
++
++// Use this charset as fallback for message decoding
++$rcmail_config['default_charset'] = 'UTF-8';
++
++// skin name: folder from skins/
++$rcmail_config['skin'] = 'default';
++
++// show up to X items in list view
++$rcmail_config['pagesize'] = 40;
++
++// use this timezone to display date/time
++$rcmail_config['timezone'] = 'auto';
++
++// is daylight saving On? Default: (bool)date('I');
++$rcmail_config['dst_active'] = null;
++
++// prefer displaying HTML messages
++$rcmail_config['prefer_html'] = true;
++
++// display remote inline images
++// 0 - Never, always ask
++// 1 - Ask if sender is not in address book
++// 2 - Always show inline images
++$rcmail_config['show_images'] = 0;
++
++// compose html formatted messages by default
++// 0 - never, 1 - always, 2 - on reply to HTML message only
++$rcmail_config['htmleditor'] = 0;
++
++// show pretty dates as standard
++$rcmail_config['prettydate'] = true;
++
++// save compose message every 300 seconds (5min)
++$rcmail_config['draft_autosave'] = 300;
++
++// default setting if preview pane is enabled
++$rcmail_config['preview_pane'] = true;
++
++// Mark as read when viewed in preview pane (delay in seconds)
++// Set to -1 if messages in preview pane should not be marked as read
++$rcmail_config['preview_pane_mark_read'] = -1;
++
++// Clear Trash on logout
++$rcmail_config['logout_purge'] = true;
++
++// Compact INBOX on logout
++$rcmail_config['logout_expunge'] = false;
++
++// Display attached images below the message body
++$rcmail_config['inline_images'] = true;
++
++// Encoding of long/non-ascii attachment names:
++// 0 - Full RFC 2231 compatible
++// 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default)
++// 2 - Full 2047 compatible
++$rcmail_config['mime_param_folding'] = 1;
++
++// Set true if deleted messages should not be displayed
++// This will make the application run slower
++$rcmail_config['skip_deleted'] = false;
++
++// Set true to Mark deleted messages as read as well as deleted
++// False means that a message's read status is not affected by marking it as deleted
++$rcmail_config['read_when_deleted'] = true;
++
++// Set to true to never delete messages immediately
++// Use 'Purge' to remove messages marked as deleted
++$rcmail_config['flag_for_deletion'] = false;
++
++// Default interval for keep-alive/check-recent requests (in seconds)
++// Must be greater than or equal to 'min_keep_alive' and less than 'session_lifetime'
++$rcmail_config['keep_alive'] = 60;
++
++// If true all folders will be checked for recent messages
++$rcmail_config['check_all_folders'] = true;
++
++// If true, after message delete/move, the next message will be displayed
++$rcmail_config['display_next'] = true;
++
++// 0 - Do not expand threads
++// 1 - Expand all threads automatically
++// 2 - Expand only threads with unread messages
++$rcmail_config['autoexpand_threads'] = 0;
++
++// When replying place cursor above original message (top posting)
++$rcmail_config['top_posting'] = false;
++
++// When replying strip original signature from message
++$rcmail_config['strip_existing_sig'] = true;
++
++// Show signature:
++// 0 - Never
++// 1 - Always
++// 2 - New messages only
++// 3 - Forwards and Replies only
++$rcmail_config['show_sig'] = 1;
++
++// When replying or forwarding place sender's signature above existing message
++$rcmail_config['sig_above'] = false;
++
++// Use MIME encoding (quoted-printable) for 8bit characters in message body
++$rcmail_config['force_7bit'] = false;
++
++// Defaults of the search field configuration.
++// The array can contain a per-folder list of header fields which should be considered when searching
++// The entry with key '*' stands for all folders which do not have a specific list set.
++// Please note that folder names should to be in sync with $rcmail_config['default_imap_folders']
++$rcmail_config['search_mods'] = null; // Example: array('*' => array('subject'=>1, 'from'=>1), 'Sent' => array('subject'=>1, 'to'=>1));
++
++// Defaults of the addressbook search field configuration.
++$rcmail_config['addressbook_search_mods'] = null; // Example: array('name'=>1, 'firstname'=>1, 'surname'=>1, 'email'=>1, '*'=>1);
++
++// 'Delete always'
++// This setting reflects if mail should be always deleted
++// when moving to Trash fails. This is necessary in some setups
++// when user is over quota and Trash is included in the quota.
++$rcmail_config['delete_always'] = false;
++
++// Behavior if a received message requests a message delivery notification (read receipt)
++// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask)
++// 3 = send automatically if sender is in addressbook, otherwise ask the user
++// 4 = send automatically if sender is in addressbook, otherwise ignore
++$rcmail_config['mdn_requests'] = 2;
++
++// Return receipt checkbox default state
++$rcmail_config['mdn_default'] = 0;
++
++// Delivery Status Notification checkbox default state
++$rcmail_config['dsn_default'] = 0;
++
++// Place replies in the folder of the message being replied to
++$rcmail_config['reply_same_folder'] = false;
++
++// Sets default mode of Forward feature to "forward as attachment"
++$rcmail_config['forward_attachment'] = false;
++
++// Defines address book (internal index) to which new contacts will be added
++// By default it is the first writeable addressbook.
++// Note: Use '0' for built-in address book.
++$rcmail_config['default_addressbook'] = null;
++
++// Enables spell checking before sending a message.
++$rcmail_config['spellcheck_before_send'] = false;
++
++// Skip alternative email addresses in autocompletion (show one address per contact)
++$rcmail_config['autocomplete_single'] = false;
++
++// end of config file
++
++?>
diff --git a/jessie/patch.sh b/jessie/patch.sh
index 65434bc0..c3e02db9 100755
--- a/jessie/patch.sh
+++ b/jessie/patch.sh
@@ -1,28 +1,18 @@
#!/bin/bash
-# Migrate a repository to WHEEZY
+# Apply diffs to build for jessie
# DON'T COMMIT ANYTHING AFTER launching this
-# reset your subversion repos back to the serverside one!
+# reset your repos back to the serverside one!
-cd `dirname $0`
+# The patch files were generated by running
+# REV_NEW=ebb3471f04d49dd839237608bafc396e8b5090e5 REV_OLD=3ae6c0a5c2eecf864319dd42afbfc995baee9f68 \
+# for i in `git diff --name-only $REV_NEW $REV_OLD` ; do BASE_NAME=`echo $i | rev | cut -d '/' -f 1 | rev` ; \
+# git diff -p $REV_NEW $REV_OLD -- "$i" > jessie/$BASE_NAME ; done
-pushd ../debian
-patch <../jessie/control.diff
-patch <../jessie/changelog.diff
-popd
+DIR_NAME=`dirname $0`
+cd "$DIR_NAME"/../
-cp vhost.conf ../etc/alternc/templates/apache2/
-cp bureau.conf ../etc/alternc/templates/alternc/
-cp alternc.install ../install/
-cp apache2.conf ../etc/alternc/templates/alternc/
-# alternc-roundcube package :
-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/
-cp alternc-roundcube.postinst ../debian/
-
-# alternc-ssl package :
-cp ssl.conf ../ssl/
-cp alternc-ssl.install.php ../ssl/
+for i in `ls "$DIR_NAME"`; do
+ patch -p1 < "$DIR_NAME/$i"
+done
diff --git a/jessie/roundcube-install b/jessie/roundcube-install
index 59a26119..2d40c42a 100644
--- a/jessie/roundcube-install
+++ b/jessie/roundcube-install
@@ -1,98 +1,33 @@
-#!/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"
- if [ -f /etc/apache2/conf.d/javascript-common.conf ]; then
- rm -f /etc/apache2/conf.d/javascript-common.conf
- fi
- if [ -f /etc/apache2/conf-available/javascript-common.conf ] ; then
- a2disconf javascript-common.conf
- service apache2 reload
- fi
- # just in case
- if [ -f /etc/javascript-common/javascript-common.conf ]; then
- 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
- fi
- echo " Done"
-
-fi
-
+diff --git a/roundcube/roundcube-install b/roundcube/roundcube-install
+index 59a26119..81011d12 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/config.inc.php etc/roundcube/plugins/password/config.inc.php"
++ CONFIG_FILES="etc/roundcube/main.inc.php etc/roundcube/plugins/password/config.inc.php etc/roundcube/plugins/managesieve/config.inc.php"
+
+ cat > $SED_SCRIPT < /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/jessie/ssl.conf b/jessie/ssl.conf
index 68b422b3..f933b97b 100644
--- a/jessie/ssl.conf
+++ b/jessie/ssl.conf
@@ -1,91 +1,13 @@
-# ############################################################################
-# WARNING : this file is overwritten by alternc.install.
-# Edit /etc/alternc/templates/apache2/mods-available/ instead.
-# ############################################################################
-
-
-#
-# Pseudo Random Number Generator (PRNG):
-# Configure one or more sources to seed the PRNG of the SSL library.
-# The seed data should be of good random quality.
-# WARNING! On some platforms /dev/random blocks if not enough entropy
-# is available. This means you then cannot use the /dev/random device
-# because it would lead to very long connection times (as long as
-# it requires to make more entropy available). But usually those
-# platforms additionally provide a /dev/urandom device which doesn't
-# block. So, if available, use this one instead. Read the mod_ssl User
-# Manual for more details.
-#
-SSLRandomSeed startup builtin
-SSLRandomSeed startup file:/dev/urandom 512
-SSLRandomSeed connect builtin
-SSLRandomSeed connect file:/dev/urandom 512
-
-##
-## SSL Global Context
-##
-## All SSL configuration in this context applies both to
-## the main server and all SSL-enabled virtual hosts.
-##
-
-#
-# Some MIME-types for downloading Certificates and CRLs
-#
-AddType application/x-x509-ca-cert .crt
-AddType application/x-pkcs7-crl .crl
-
-# Pass Phrase Dialog:
-# Configure the pass phrase gathering process.
-# The filtering dialog program (`builtin' is a internal
-# terminal dialog) has to provide the pass phrase on stdout.
-SSLPassPhraseDialog builtin
-
-# Inter-Process Session Cache:
-# Configure the SSL Session Cache: First the mechanism
-# to use and second the expiring timeout (in seconds).
-# (The mechanism dbm has known memory leaks and should not be used).
-#SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache
-SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
-SSLSessionCacheTimeout 300
-
-# Semaphore:
-# Configure the path to the mutual exclusion semaphore the
-# SSL engine uses internally for inter-process synchronization.
-Mutex file:${APACHE_RUN_DIR}
-
-# SSL Cipher Suite:
-# List the ciphers that the client is permitted to negotiate. See the
-# ciphers(1) man page from the openssl package for list of all available
-# options.
-# Enable only secure ciphers:
-#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
-SSLCipherSuite ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:+HIGH:+MEDIUM
-# Other possible ciphersuite (requires wheezy-version of apache2 at least)
- #SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
-
-# Speed-optimized SSL Cipher configuration:
-# If speed is your main concern (on busy HTTPS servers e.g.),
-# you might want to force clients to specific, performance
-# optimized ciphers. In this case, prepend those ciphers
-# to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
-# Caveat: by giving precedence to RC4-SHA and AES128-SHA
-# (as in the example below), most connections will no longer
-# have perfect forward secrecy - if the server's key is
-# compromised, captures of past or future traffic must be
-# considered compromised, too.
-#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
-SSLHonorCipherOrder on
-
-# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
-#SSLProtocol all -SSLv2
-SSLProtocol all -SSLv2 -SSLv3
-
-# Allow insecure renegotiation with clients which do not yet support the
-# secure renegotiation protocol. Default: Off
-#SSLInsecureRenegotiation on
-
-# Whether to forbid non-SNI clients to access name based virtual hosts.
-# Default: Off
-SSLStrictSNIVHostCheck Off
-
-
+diff --git a/ssl/ssl.conf b/ssl/ssl.conf
+index 68b422b3..c3a599d5 100644
+--- a/ssl/ssl.conf
++++ b/ssl/ssl.conf
+@@ -51,7 +51,7 @@ SSLSessionCacheTimeout 300
+ # Semaphore:
+ # Configure the path to the mutual exclusion semaphore the
+ # SSL engine uses internally for inter-process synchronization.
+-Mutex file:${APACHE_RUN_DIR}
++SSLMutex file:${APACHE_RUN_DIR}/ssl_mutex
+
+ # SSL Cipher Suite:
+ # List the ciphers that the client is permitted to negotiate. See the
diff --git a/jessie/vhost.conf b/jessie/vhost.conf
index 8b4f304f..f8b933a9 100644
--- a/jessie/vhost.conf
+++ b/jessie/vhost.conf
@@ -1,25 +1,17 @@
-
- ServerName %%fqdn%%
- DocumentRoot "%%document_root%%"
- AssignUserId #%%UID%% #%%GID%%
- SetEnv LOGIN "%%UID%%-%%LOGIN%%"
-
-
- php_admin_value open_basedir "%%account_root%%:/usr/share/php/"
- php_admin_value upload_tmp_dir %%account_root%%/tmp
- php_admin_value sendmail_path '/usr/lib/alternc/sendmail "%%mail_account%%" '
- php_admin_flag mail.add_x_header on
- Options -MultiViews -FollowSymLinks +SymLinksIfOwnerMatch
- AllowOverride AuthConfig FileInfo Limit Options Indexes
- Order allow,deny
- Allow from all
- Require all granted
-
-
-# If you want to log the errors also in /var/log/alternc/sites/
-# WARNING: this WILL FORK a vlogger for EACH VHOST havingg this !!! the load on the machine may be high
-# on hosting with many vhosts. as a consequence, this is disabled by default
-# ErrorLog "|| /usr/sbin/vlogger -e -u alterncpanel -g alterncpanel -s error.log -t \"error-%Y%m%d.log\" /var/log/alternc/sites/%%UID%%-%%LOGIN%%/"
-
-
-
+diff --git a/etc/alternc/templates/apache2/vhost.conf b/etc/alternc/templates/apache2/vhost.conf
+index 8b4f304f..77f5e038 100644
+--- a/etc/alternc/templates/apache2/vhost.conf
++++ b/etc/alternc/templates/apache2/vhost.conf
+@@ -9,11 +9,8 @@
+ php_admin_value upload_tmp_dir %%account_root%%/tmp
+ php_admin_value sendmail_path '/usr/lib/alternc/sendmail "%%mail_account%%" '
+ php_admin_flag mail.add_x_header on
+- Options -MultiViews -FollowSymLinks +SymLinksIfOwnerMatch
++ Options +MultiViews -FollowSymLinks +SymLinksIfOwnerMatch
+ AllowOverride AuthConfig FileInfo Limit Options Indexes
+- Order allow,deny
+- Allow from all
+- Require all granted
+
+
+ # If you want to log the errors also in /var/log/alternc/sites/