From 3268e7b2ec467e692eadd8b2a713258a0c80892d Mon Sep 17 00:00:00 2001 From: Benjamin Sonntag Date: Tue, 28 May 2013 13:26:41 +0000 Subject: [PATCH] Adding wheezy patching folder, to build AlternC 3.0 or 3.1 for WHEEZY --- .gitattributes | 8 + wheezy/95_alternc.conf | 316 +++++++++++++++++ wheezy/alternc-dict-quota.conf | 47 +++ wheezy/alternc-sql.conf | 137 ++++++++ wheezy/alternc.install.diff | 29 ++ wheezy/control.diff | 24 ++ wheezy/originals/alternc.install | 567 +++++++++++++++++++++++++++++++ wheezy/originals/control | 181 ++++++++++ wheezy/patch.sh | 26 ++ 9 files changed, 1335 insertions(+) create mode 100644 wheezy/95_alternc.conf create mode 100644 wheezy/alternc-dict-quota.conf create mode 100644 wheezy/alternc-sql.conf create mode 100644 wheezy/alternc.install.diff create mode 100644 wheezy/control.diff create mode 100644 wheezy/originals/alternc.install create mode 100644 wheezy/originals/control create mode 100755 wheezy/patch.sh diff --git a/.gitattributes b/.gitattributes index 4e2bcc49..06ba1c22 100644 --- a/.gitattributes +++ b/.gitattributes @@ -608,3 +608,11 @@ upnp/upnp-install -text upnp/upnp.sql -text upnp/upnp_change.php -text upnp/upnp_list.php -text +wheezy/95_alternc.conf -text +wheezy/alternc-dict-quota.conf -text +wheezy/alternc-sql.conf -text +wheezy/alternc.install.diff -text +wheezy/control.diff -text +wheezy/originals/alternc.install -text +wheezy/originals/control -text +wheezy/patch.sh -text diff --git a/wheezy/95_alternc.conf b/wheezy/95_alternc.conf new file mode 100644 index 00000000..cec0ee05 --- /dev/null +++ b/wheezy/95_alternc.conf @@ -0,0 +1,316 @@ +# AUTO GENERATED FILE +# Modify template in /etc/alternc/templates/ +# and launch alternc.install if you want +# to modify this file. +# +## Dovecot configuration file +# This is a concatenation of all /etc/dovecot/conf.d/* from DEBIAN package +# with rules adapted to AlternC best practices and link with MySQL tables. + +protocols = imap pop3 sieve + +## ------------------------------------------------------------------------- +## 10-auth + +# Disable LOGIN command and all other plaintext authentications unless +# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP +# matches the local IP (ie. you're connecting from the same computer), the +# connection is considered secure and plaintext authentication is allowed. +disable_plaintext_auth = yes + +# Space separated list of wanted authentication mechanisms: +# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey +# gss-spnego +# NOTE: See also disable_plaintext_auth setting. +auth_mechanisms = plain + +## +## Password and user databases +## + +# +# Password database is used to verify user's password (and nothing more). +# You can have multiple passdbs and userdbs. This is useful if you want to +# allow both system users (/etc/passwd) and virtual users to login without +# duplicating the system users into virtual database. +# +# +# +# User database specifies where mails are located and what user/group IDs +# own them. For single-UID configuration use "static" userdb. +# +# + +#!include auth-deny.conf.ext +#!include auth-master.conf.ext + +#!include auth-system.conf.ext +#!include auth-sql.conf.ext +#!include auth-ldap.conf.ext +#!include auth-passwdfile.conf.ext +#!include auth-checkpassword.conf.ext +#!include auth-vpopmail.conf.ext +#!include auth-static.conf.ext + + +# ---------------------------------------------------------------------------- +# 10-login.conf + +# Prefix for each line written to log file. % codes are in strftime(3) +# format. +#log_timestamp = "%b %d %H:%M:%S " +log_timestamp = "%Y-%m-%d %H:%M:%S " + +# ---------------------------------------------------------------------------- +# 10-mail.conf + + +# Location for users' mailboxes. This is the same as the old default_mail_env +# setting. The default is empty, which means that Dovecot tries to find the +# mailboxes automatically. This won't work if the user doesn't have any mail +# yet, so you should explicitly tell Dovecot the full location. +# +# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u) +# isn't enough. You'll also need to tell Dovecot where the other mailboxes are +# kept. This is called the "root mail directory", and it must be the first +# path given in the mail_location setting. +# +# There are a few special variables you can use, eg.: +# +# %u - username +# %n - user part in user@domain, same as %u if there's no domain +# %d - domain part in user@domain, empty if there's no domain +# %h - home directory +# +# See for full list. +# Some examples: +# +# mail_location = maildir:~/Maildir +# mail_location = mbox:~/mail:INBOX=/var/mail/%u +# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n +# +# +# +mail_location = maildir:~/Maildir + + +# Group to enable temporarily for privileged operations. Currently this is +# used only with INBOX when either its initial creation or dotlocking fails. +# Typically this is set to "mail" to give access to /var/mail. +#mail_privileged_group = +mail_privileged_group = vmail + + +# Valid UID range for users, defaults to 500 and above. This is mostly +# to make sure that users can't log in as daemons or other system users. +# Note that denying root logins is hardcoded to dovecot binary and can't +# be done even if first_valid_uid is set to 0. +first_valid_uid = 2000 +last_valid_uid = 65000 + +# ---------------------------------------------------------------------------- +# 10-master.conf + +passdb { + driver = sql + args = /etc/dovecot/alternc-sql.conf +} + +userdb { + driver = sql + args = /etc/dovecot/alternc-sql.conf +} +userdb { + driver = prefetch +} + +service auth { + unix_listener /var/spool/postfix/private/auth { + group = postfix + mode = 0660 + user = postfix + } + unix_listener auth-master { + mode = 0600 + user = vmail + } + user = vmail +} + + + + +# ---------------------------------------------------------------------------- +# 10-ssl.conf + +# SSL/TLS support: yes, no, required. +ssl = required + +# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before +# dropping root privileges, so keep the key file unreadable by anyone but +# root. +#ssl_cert = (e.g. %Uf for the + # filename in uppercase) + # + # %v - Mailbox's IMAP UIDVALIDITY + # %u - Mail's IMAP UID + # %m - MD5 sum of the mailbox headers in hex (mbox only) + # %f - filename (maildir only) + # + # If you want UIDL compatibility with other POP3 servers, use: + # UW's ipop3d : %08Xv%08Xu + # Courier : %f or %v-%u (both might be used simultaneosly) + # Cyrus (<= 2.1.3) : %u + # Cyrus (>= 2.1.4) : %v.%u + # Dovecot v0.99.x : %v.%u + # tpop3d : %Mf + # + # Note that Outlook 2003 seems to have problems with %v.%u format which was + # Dovecot's default, so if you're building a new server it would be a good + # idea to change this. %08Xu%08Xv should be pretty fail-safe. + # + pop3_uidl_format = %08Xu%08Xv + + # Support for dynamically loadable plugins. mail_plugins is a space separated + # list of plugins to load. + mail_plugins = quota + #mail_plugin_dir = /usr/lib/dovecot/modules/pop3 + +} + +service pop3 { + executable = /usr/lib/alternc/popimap-log-login.sh /usr/lib/dovecot/pop3 +} + +# ---------------------------------------------------------------------------- +# 90-plugin.conf + +plugin { + + # Quota plugin. Multiple backends are supported: + # dirsize: Find and sum all the files found from mail directory. + # Extremely SLOW with Maildir. It'll eat your CPU and disk I/O. + # dict: Keep quota stored in dictionary (eg. SQL) + # maildir: Maildir++ quota + # fs: Read-only support for filesystem quota + # + # Quota limits are set using "quota_rule" parameters, either in here or in + # userdb. It's also possible to give mailbox-specific limits, for example: + # quota_rule = *:storage=1048576 + quota_rule = *:storage=100M + quota_rule2 = Trash:storage=10%% + # quota_rule2 = Trash:storage=102400 + # User has now 1GB quota, but when saving to Trash mailbox the user gets + # additional 100MB. + # + # Multiple quota roots are also possible, for example: + # quota = dict:user::proxy::quota + # quota2 = dict:domain:%d:proxy::quota_domain + # quota_rule = *:storage=102400 + # quota2_rule = *:storage=1048576 + # Gives each user their own 100MB quota and one shared 1GB quota within + # the domain. + # + # You can execute a given command when user exceeds a specified quota limit. + # Each quota root has separate limits. Only the command for the first + # exceeded limit is excecuted, so put the highest limit first. + # Note that % needs to be escaped as %%, otherwise "% " expands to empty. + # quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95 + # quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80 + quota_warning = storage=95%% /usr/lib/alternc/quota-warning.sh 95 + quota_warning2 = storage=80%% /usr/lib/alternc/quota-warning.sh 80 + #quota = maildir + quota = dict:user::proxy::quotadict + + + # Sieve plugin (http://wiki.dovecot.org/LDA/Sieve) and ManageSieve service + # + # Location of the active script. When ManageSieve is used this is actually + # a symlink pointing to the active script in the sieve storage directory. + sieve=~/.dovecot.sieve + # + # The path to the directory where the personal Sieve scripts are stored. For + # ManageSieve this is where the uploaded scripts are stored. + sieve_dir=~/sieve +} + +# Dictionary can be used by some plugins to store key=value lists, such as +# quota, expire and acl plugins. The dictionary can be used either directly or +# though a dictionary server. The following dict block maps dictionary names to +# URIs when the server is used. These can then be referenced using URIs in +# format "proxy::". + +dict { + quotadict = mysql:/etc/dovecot/alternc-dict-quota.conf + #expire = db:/var/lib/dovecot/expire.db +} + + diff --git a/wheezy/alternc-dict-quota.conf b/wheezy/alternc-dict-quota.conf new file mode 100644 index 00000000..b22e98ef --- /dev/null +++ b/wheezy/alternc-dict-quota.conf @@ -0,0 +1,47 @@ +# AUTO GENERATED FILE +# Modify template in /etc/alternc/templates/ +# and launch alternc.install if you want +# to modify this file. +# + +connect=host=%%dbhost%% dbname=%%dbname%% user=%%db_mail_user%% password=%%db_mail_pwd%% +#connect = host=localhost dbname=mails user=testuser password=pass + +# CREATE TABLE quota ( +# username varchar(100) not null, +# bytes bigint not null default 0, +# messages integer not null default 0, +# primary key (username) +# ); + +map { + pattern = priv/quota/storage + table = dovecot_view + username_field = user + value_field = quota_dovecot +} +map { + pattern = priv/quota/messages + table = dovecot_view + username_field = user + value_field = nb_messages +} + +# CREATE TABLE expires ( +# username varchar(100) not null, +# mailbox varchar(255) not null, +# expire_stamp integer not null, +# primary key (username, mailbox) +# ); + +#map { + # pattern = shared/expire/$user/$mailbox + # table = expires + # value_field = expire_stamp + + # fields { + # username = $user + # mailbox = $mailbox + # } +#} + diff --git a/wheezy/alternc-sql.conf b/wheezy/alternc-sql.conf new file mode 100644 index 00000000..e4bad783 --- /dev/null +++ b/wheezy/alternc-sql.conf @@ -0,0 +1,137 @@ +# AUTO GENERATED FILE +# Modify template in /etc/alternc/templates/ +# and launch alternc.install if you want +# to modify this file. +# +# This file is opened as root, so it should be owned by root and mode 0600. +# +# http://wiki2.dovecot.org/AuthDatabase/SQL +# +# For the sql passdb module, you'll need a database with a table that +# contains fields for at least the username and password. If you want to +# use the user@domain syntax, you might want to have a separate domain +# field as well. +# +# If your users all have the same uig/gid, and have predictable home +# directories, you can use the static userdb module to generate the home +# dir based on the username and domain. In this case, you won't need fields +# for home, uid, or gid in the database. +# +# If you prefer to use the sql userdb module, you'll want to add fields +# for home, uid, and gid. Here is an example table: +# +# CREATE TABLE users ( +# username VARCHAR(128) NOT NULL, +# domain VARCHAR(128) NOT NULL, +# password VARCHAR(64) NOT NULL, +# home VARCHAR(255) NOT NULL, +# uid INTEGER NOT NULL, +# gid INTEGER NOT NULL, +# active CHAR(1) DEFAULT 'Y' NOT NULL +# ); + +# Database driver: mysql, pgsql, sqlite +driver = mysql + +# Database connection string. This is driver-specific setting. +# +# HA / round-robin load-balancing is supported by giving multiple host +# settings, like: host=sql1.host.org host=sql2.host.org +# +# pgsql: +# For available options, see the PostgreSQL documention for the +# PQconnectdb function of libpq. +# Use maxconns=n (default 5) to change how many connections Dovecot can +# create to pgsql. +# +# mysql: +# Basic options emulate PostgreSQL option names: +# host, port, user, password, dbname +# +# But also adds some new settings: +# client_flags - See MySQL manual +# ssl_ca, ssl_ca_path - Set either one or both to enable SSL +# ssl_cert, ssl_key - For sending client-side certificates to server +# ssl_cipher - Set minimum allowed cipher security (default: HIGH) +# option_file - Read options from the given file instead of +# the default my.cnf location +# option_group - Read options from the given group (default: client) +# +# You can connect to UNIX sockets by using host: host=/var/run/mysql.sock +# Note that currently you can't use spaces in parameters. +# +# sqlite: +# The path to the database file. +# +# Examples: +# connect = host=192.168.1.1 dbname=users +# connect = host=sql.example.com dbname=virtual user=virtual password=blarg +# connect = /etc/dovecot/authdb.sqlite +# +connect = host=%%dbhost%% dbname=%%dbname%% user=%%db_mail_user%% password=%%db_mail_pwd%% + +# Default password scheme. +# +# List of supported schemes is in +# http://wiki2.dovecot.org/Authentication/PasswordSchemes +# +default_pass_scheme = MD5 + +# passdb query to retrieve the password. It can return fields: +# password - The user's password. This field must be returned. +# user - user@domain from the database. Needed with case-insensitive lookups. +# username and domain - An alternative way to represent the "user" field. +# +# The "user" field is often necessary with case-insensitive lookups to avoid +# e.g. "name" and "nAme" logins creating two different mail directories. If +# your user and domain names are in separate fields, you can return "username" +# and "domain" fields instead of "user". +# +# The query can also return other fields which have a special meaning, see +# http://wiki2.dovecot.org/PasswordDatabase/ExtraFields +# +# Commonly used available substitutions (see http://wiki2.dovecot.org/Variables +# for full list): +# %u = entire user@domain +# %n = user part of user@domain +# %d = domain part of user@domain +# +# Note that these can be used only as input to SQL query. If the query outputs +# any of these substitutions, they're not touched. Otherwise it would be +# difficult to have eg. usernames containing '%' characters. +# +# Example: +# password_query = SELECT userid AS user, pw AS password \ +# FROM users WHERE userid = '%u' AND active = 'Y' +# +#password_query = \ +# SELECT username, domain, password \ +# FROM users WHERE username = '%n' AND domain = '%d' + +# userdb query to retrieve the user information. It can return fields: +# uid - System UID (overrides mail_uid setting) +# gid - System GID (overrides mail_gid setting) +# home - Home directory +# mail - Mail location (overrides mail_location setting) +# +# None of these are strictly required. If you use a single UID and GID, and +# home or mail directory fits to a template string, you could use userdb static +# instead. For a list of all fields that can be returned, see +# http://wiki2.dovecot.org/UserDatabase/ExtraFields +# +# Examples: +# user_query = SELECT home, uid, gid FROM users WHERE userid = '%u' +# user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u' +# user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u' +# +user_query = SELECT userdb_home AS home, userdb_uid AS uid, 1998 AS gid, userdb_quota_rule AS quota_rule FROM dovecot_view WHERE user = '%u'; + +# If you wish to avoid two SQL lookups (passdb + userdb), you can use +# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll +# also have to return userdb fields in password_query prefixed with "userdb_" +# string. For example: +# +password_query = SELECT user, password, userdb_home, userdb_uid, 1998 AS userdb_gid,userdb_quota_rule FROM dovecot_view where user= '%u'; + +# Query to get a list of all usernames. +#iterate_query = SELECT username AS user FROM users diff --git a/wheezy/alternc.install.diff b/wheezy/alternc.install.diff new file mode 100644 index 00000000..c30d6369 --- /dev/null +++ b/wheezy/alternc.install.diff @@ -0,0 +1,29 @@ +--- ../install/alternc.install 2013-05-28 06:38:00.000000000 +0200 ++++ alternc.install 2013-05-28 15:01:52.000000000 +0200 +@@ -77,7 +77,7 @@ + fi + + if [ -e /etc/dovecot/dovecot.conf ]; then +- CONFIG_FILES="$CONFIG_FILES etc/dovecot/dovecot.conf etc/dovecot/dovecot-sql.conf etc/dovecot/dovecot-dict-quota.conf" ++ 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" +@@ -306,7 +306,7 @@ + fi + + # We enable dovecot SSL certificate instructions: (on wheezy we should use a new file in /etc/dovecot/conf.d/ ) +- sed -i -e 's#/etc/ssl/certs/ssl-cert-snakeoil.pem#/etc/alternc/apache.pem#' -e 's#/etc/ssl/private/ssl-cert-snakeoil.key# /etc/alternc/apache.pem#' /etc/dovecot/dovecot.conf ++ ( echo "ssl_cert = /etc/dovecot/conf.d/96_ssl.conf + + else + # We disable proftpd tls module +@@ -315,7 +315,7 @@ + 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/ ) +- sed -i -e 's#^ssl_cert_file.*$#ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem#' -e 's#^ssl_key_file.*$#ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key#' /etc/dovecot/dovecot.conf ++ ( 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" diff --git a/wheezy/control.diff b/wheezy/control.diff new file mode 100644 index 00000000..9983d4bc --- /dev/null +++ b/wheezy/control.diff @@ -0,0 +1,24 @@ +--- ../debian/control 2013-05-28 07:15:27.000000000 +0200 ++++ control 2013-05-28 15:23:30.000000000 +0200 +@@ -10,9 +10,9 @@ + Package: alternc + Architecture: all + Pre-depends: debconf (>= 0.5.00) | debconf-2.0, bash (>= 4), acl +-Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, bind9, wget, rsync, ca-certificates, locales, perl-suid | perl, postfix-mysql, wwwconfig-common, sasl2-bin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), sudo, adduser, mysql-client, dnsutils, dovecot-common (>=1:1.2.15), dovecot-common(<< 1:2.0), dovecot-imapd (>= 1:1.2.15), dovecot-pop3d (>= 1:1.2.15), vlogger, mailutils | mailx, incron, cron, ${misc:Depends} +-Recommends: mysql-server(>= 5.0), ntp, quota +-Conflicts: alternc-admintools, alternc-awstats (<< 1.0), alternc-webalizer (<= 0.9.4), alternc-mailman (<< 2.0), courier-authlib ++Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, bind9, wget, rsync, ca-certificates, locales, perl-suid | perl, postfix-mysql, wwwconfig-common, sasl2-bin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), sudo, adduser, mysql-client, dnsutils, dovecot-common (>=1:2.1.7), dovecot-imapd, dovecot-pop3d, dovecot-mysql, vlogger, mailutils | mailx, incron, cron, ${misc:Depends} ++Recommends: mysql-server(>= 5.0), ntp, quota, dovecot-sieve, dovecot-managesieved ++Conflicts: alternc-admintools, alternc-awstats (<< 1.0), alternc-webalizer (<= 0.9.4), alternc-mailman (<< 2.0) + Provides: alternc-admintools + Replaces: alternc-admintools + Suggests: alternc-awstats, alternc-mailman, alternc-changepass, amavisd-new, clamav-daemon, spamassassin, pop-before-smtp, magpierss, zip, ncompress, bzip2, alternc-squirrelmail, alternc-roundcube +@@ -39,7 +39,7 @@ + Package: alternc-slave + Architecture: all + Pre-depends: debconf (>= 0.5.00) | debconf-2.0, acl +-Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, postfix-tls, bind9, wget, rsync, ca-certificates, locales, perl-suid, perl, postfix-mysql, wwwconfig-common, sasl2-bin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), adduser, mysql-client, sudo, dovecot-common (>= 1:1.2.15), dovecot-imapd, dovecot-pop3d, vlogger, mailutils | mailx, incron, cron, ${misc:Depends} ++Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, postfix-tls, bind9, wget, rsync, ca-certificates, locales, perl-suid, perl, postfix-mysql, wwwconfig-common, sasl2-bin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), adduser, mysql-client, sudo, dovecot-common (>= 1:2.1.7), dovecot-imapd, dovecot-pop3d, dovecot-mysql, vlogger, mailutils | mailx, incron, cron, ${misc:Depends} + Recommends: dovecot-managesieved, dovecot-sieve, dovecot-mysql, quota + Conflicts: alternc-admintools, alternc-awstats (<= 0.3.2), alternc-webalizer (<= 0.9.4), alternc + Provides: alternc diff --git a/wheezy/originals/alternc.install b/wheezy/originals/alternc.install new file mode 100644 index 00000000..a4050940 --- /dev/null +++ b/wheezy/originals/alternc.install @@ -0,0 +1,567 @@ +#!/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 + +set -e + +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 + +# 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/incron.d/alternc 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/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" +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`" + # " shutup emacs + 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 + +####################################################################### +# Prepare template expansions +# + +chown :alterncpanel /etc/alternc/local.sh +. /etc/alternc/local.sh + +# Create the target directory +for i in "$ALTERNC_HTML" "$ALTERNC_MAIL" "$ALTERNC_LOGS" ; do + test -d "$i" || mkdir -p "$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 {} \; + +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 www-data:www-data "$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 + + +# 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 + +####################################################################### +# 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$/php\1/' | tail -1`" +ln -fs /etc/alternc/alternc.ini /etc/$php/conf.d/alternc.ini || true +if [ -x /usr/sbin/apache2 ]; then + # hook + run-parts --arg=apache2 /usr/lib/alternc/install.d + + 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.load ] + then + a2enmod $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.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 + + # We enable dovecot SSL certificate instructions: (on wheezy we should use a new file in /etc/dovecot/conf.d/ ) + ( 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 "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.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 ]; then + a2dissite default + s="apache2" + fi + SERVICES="$SERVICES $s" +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 "****************************************" + echo "POSTFIX is NOT configured properly" + echo "please launch dpkg-reconfigure -plow postfix" + echo "and choose 'Internet Site'" + echo "then launch alternc.install again" + echo "****************************************" + 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_cert_file' ;then + line_strip=`echo "$line"|tr -d '[:blank:]'` + pattern="*=" + cert_file=${line_strip#$pattern} + if [ -e $cert_file ];then + postconf -e "$line" + else + echo "****************************************" + echo "The certificate file : $cert_file does not exists" + echo "please go to https://alternc.org/wiki/SSL to get information on how to create a certificate" + echo "Then edit the file /etc/alternc/postfix/postfix.cf to add" + echo "the cert file path name to the key :smtpd_tls_cert_file" + echo "Finally relaunch alternc.install" + echo "****************************************" + 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" + +# 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" + +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 +# +mailname=`cat /etc/mailname` +mysql_query "update variable SET value='"$mailname"' where name='mailname_bounce';" +# 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:rw- -m g:alterncpanel:rw- {} \; + +#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 +fi + +#giving vmail user read access on dovecot sql file +chgrp vmail /etc/dovecot/dovecot.conf +chmod g+r /etc/dovecot/dovecot.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';" + +# hook +run-parts --arg=before-reload /usr/lib/alternc/install.d + +####################################################################### +# Reload services +# +for service in postfix bind9 apache2 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 +for service in $SERVICES; do + test -x /etc/init.d/$service && invoke-rc.d $service start || true +done + +#launch fixperms +echo "Fix all the permission. May be quite long..." +/usr/lib/alternc/fixperms.sh + +# hook +run-parts --arg=end /usr/lib/alternc/install.d diff --git a/wheezy/originals/control b/wheezy/originals/control new file mode 100644 index 00000000..f00015e9 --- /dev/null +++ b/wheezy/originals/control @@ -0,0 +1,181 @@ +Source: alternc +Section: admin +Priority: optional +Maintainer: Antoine Beaupré +Uploaders: Benjamin Sonntag +Build-Depends-Indep: perl, findutils (>= 4.1.7), gettext (>= 0.10.40-5) +Build-Depends: debhelper (>= 8), po-debconf +Standards-Version: 3.9.4 + +Package: alternc +Architecture: all +Pre-depends: debconf (>= 0.5.00) | debconf-2.0, bash (>= 4), acl +Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, bind9, wget, rsync, ca-certificates, locales, perl-suid | perl, postfix-mysql, wwwconfig-common, sasl2-bin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), sudo, adduser, mysql-client, dnsutils, dovecot-common (>=1:2.1.7), dovecot-imapd, dovecot-pop3d, dovecot-mysql, vlogger, mailutils | mailx, incron, cron, ${misc:Depends} +Recommends: mysql-server(>= 5.0), ntp, quota, dovecot-sieve, dovecot-managesieved +Conflicts: alternc-admintools, alternc-awstats (<< 1.0), alternc-webalizer (<= 0.9.4), alternc-mailman (<< 2.0) +Provides: alternc-admintools +Replaces: alternc-admintools +Suggests: alternc-awstats, alternc-mailman, alternc-changepass, amavisd-new, clamav-daemon, spamassassin, pop-before-smtp, magpierss, zip, ncompress, bzip2, alternc-squirrelmail, alternc-roundcube +Description: Hosting software managment suite for Debian + AlternC is a mutualized hosting software manager for Linux. + It allows you to manage your websites, domains, ftp, emails, aliases, + web statistics, mailing-lists, jabber accounts, etc. + . + AlternC is mainly a PHP based administration interface and some conf files + for the software used by it. + . + More information at http://www.alternc.com/ +Homepage: http://www.alternc.com/ +Description-fr.UTF-8: Suite logicielle d'hébergement mutualisé pour Debian + AlternC est un logiciel d'hébergement mutualisé pour serveur Linux. + Il permet de gérer les sites web, domaines, ftp, emails, alias, + statistiques web, listes de discussions, comptes jabber, etc. + . + AlternC est essentiellement une interface d'administration en PHP et + quelques fichiers de configuration pour les logiciels qu'il utilise. + . + Pour plus d'informations, consultez http://www.alternc.com/ + +Package: alternc-slave +Architecture: all +Pre-depends: debconf (>= 0.5.00) | debconf-2.0, acl +Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, postfix-tls, bind9, wget, rsync, ca-certificates, locales, perl-suid, perl, postfix-mysql, wwwconfig-common, sasl2-bin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), adduser, mysql-client, sudo, dovecot-common (>= 1:2.1.7), dovecot-imapd, dovecot-pop3d, dovecot-mysql, vlogger, mailutils | mailx, incron, cron, ${misc:Depends} +Recommends: dovecot-managesieved, dovecot-sieve, dovecot-mysql, quota +Conflicts: alternc-admintools, alternc-awstats (<= 0.3.2), alternc-webalizer (<= 0.9.4), alternc +Provides: alternc +Replaces: alternc +Suggests: alternc-awstats, alternc-mailman, alternc-changepass, amavisd-new, clamav-daemon, spamassassin, pop-before-smtp, magpierss, zip, ncompress, bzip2 +Description: Hosting software managment suite for Debian + AlternC is a mutualized hosting software manager for Linux. + It allows you to manage your websites, domains, ftp, emails, aliases, + web statistics, mailing-lists, jabber accounts, etc. + . + AlternC is mainly a PHP based administration interface and some conf files + for the software used by it. + . + This package is designed for frontend nodes in a load balancing setup, where + the AlternC directory is not touched and managed over NFS. + . + More information at http://www.alternc.com/ +Homepage: http://www.alternc.com/ +Description-fr.UTF-8: Suite logicielle d'hébergement mutualisé pour Debian + AlternC est un logiciel d'hébergement mutualisé pour serveur Linux. + Il permet de gérer les sites web, domaines, ftp, emails, alias, + statistiques web, listes de discussions, comptes jabber, etc. + . + AlternC est essentiellement une interface d'administration en PHP et + quelques fichiers de configuration pour les logiciels qu'il utilise. + . + Ce paquet permet de construire un noeud frontal dans une configuration avec + répartiteur de charge, ou le dossier /var/alternc n'est pas modifié et géré + à travers NFS. + . + Pour plus d'informations, consultez http://www.alternc.com/ + +Package: alternc-squirrelmail +Architecture: all +Pre-depends: debconf (>= 0.5.00) | debconf-2.0 +Depends: debianutils (>= 1.13.1), alternc (>= 3.0~rc1), squirrelmail, squirrelmail-locales, avelsieve, ${misc:Depends} +Conflicts: alternc (<= 1.0.3), alternc-changepass +Provides: alternc-webmail +Suggests: +Description: Squirrelmail-Webmail plugin and configuration for AlternC + AlternC is a mutualized hosting software manager for Linux. + It allows you to manage your websites, domains, ftp, emails, aliases, + web statistics, mailing-lists, jabber accounts, etc. + . + This extension to AlternC is installing and configuring properly the + Squirrelmail Webmail. It also configure Avelsieve to allow server-side + filtering, the password changing through MySQL, and the automatic + creation of proper profile with the right address and language. + . + More information at http://www.alternc.com/ +Homepage: http://www.alternc.com/ +Description-fr.UTF-8: Webmail Squirrelmail pour AlternC + AlternC est un logiciel d'hébergement mutualisé pour serveur Linux. + Il permet de gérer les sites web, domaines, ftp, emails, alias, + statistiques web, listes de discussions, comptes jabber, etc. + . + Cette extension d'AlternC installe et configure le webmail Squirrelmail. + Il configure aussi Avelsieve pour permettre l'accès au filtrage du courrier + côté serveur, ainsi que le changement de mot de passe via MySQL et la création + automatique des profiles avec la bonne adresse et la bonne langue. + . + Pour plus d'informations, consultez http://www.alternc.com/ + +Package: alternc-roundcube +Architecture: all +Pre-depends: debconf (>= 0.5.00) | debconf-2.0 +Depends: debianutils (>= 1.13.1), alternc (>= 3.0~rc1), roundcube (>= 0.7.1), roundcube-mysql (>= 0.7.1), roundcube-plugins (>= 0.7.1), imagemagick, ${misc:Depends} +Conflicts: alternc (<< 1.1) +Provides: alternc-webmail +Suggests: +Description: Roundcube-Webmail plugin and configuration for AlternC + AlternC is a mutualized hosting software manager for Linux. + It allows you to manage your websites, domains, ftp, emails, aliases, + web statistics, mailing-lists, jabber accounts, etc. + . + This extension to AlternC is installing and configuring properly the + Roundcube Webmail. It also configure sieve to allow server-side + filtering, the password changing through MySQL, and the automatic + creation of proper profile with the right address and language. + . + More information at http://www.alternc.com/ +Homepage: http://www.alternc.com/ +Description-fr.UTF-8: Webmail Roundcube pour AlternC + AlternC est un logiciel d'hébergement mutualisé pour serveur Linux. + Il permet de gérer les sites web, domaines, ftp, emails, alias, + statistiques web, listes de discussions, comptes jabber, etc. + . + Cette extension d'AlternC installe et configure le webmail Roundcube. + Il configure aussi sieve pour permettre l'accès au filtrage du courrier + côté serveur, ainsi que le changement de mot de passe via MySQL et la création + automatique des profiles avec la bonne adresse et la bonne langue. + . + Pour plus d'informations, consultez http://www.alternc.com/ + +Package: alternc-awstats +Priority: optional +Section: admin +Architecture: all +Pre-depends: debconf +Depends: alternc (>= 3.0~rc1), awstats (>=6.1-1), php5-cli, ${misc:Depends} +Suggests: apachemerge +Description: Awstats statistics module for AlternC + AlternC is a mutualized hosting software manager for Linux. + It allows you to manage your websites, domains, ftp, emails, aliases, + web statistics, mailing-lists, jabber accounts, etc. + . + This package is an optional module that adds awstats statistics + to the virtual desktop. + . + More information on http://www.alternc.com/. + +Package: alternc-upnp +Architecture: all +Pre-depends: debconf (>= 0.5.00) | debconf-2.0 +Depends: debianutils (>= 1.13.1), alternc (>= 3.0~rc1), miniupnpc, php5-cli, ${misc:Depends} +Description: UPnP client for AlternC + AlternC is a mutualized hosting software manager for Linux. + It allows you to manage your websites, domains, ftp, emails, aliases, + web statistics, mailing-lists, jabber accounts, etc. + . + This extension to AlternC is installing a UPnP IGD client and make it so + that your router required tcp and udp port are forwarded to AlternC. + You need that only if your AlternC's server is behind a NAT router. + . + More information at http://www.alternc.com/ +Homepage: http://www.alternc.com/ +Description-fr.UTF-8: Client UPnP pour AlternC + AlternC est un logiciel d'hébergement mutualisé pour serveur Linux. + Il permet de gérer les sites web, domaines, ftp, emails, alias, + statistiques web, listes de discussions, comptes jabber, etc. + . + Cette extension d'AlternC installe un client UPnP IGD et fait de telle + sorte que les ports udp et tcp nécessaire au fonctionnement de votre + serveur sous AlternC soient transmis depuis votre routeur. + Vous n'avez besoin de cette extension que si votre serveur AlternC est + situé derrière un routeur NAT. + . + Pour plus d'informations, consultez http://www.alternc.com/ + diff --git a/wheezy/patch.sh b/wheezy/patch.sh new file mode 100755 index 00000000..f182f440 --- /dev/null +++ b/wheezy/patch.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# Migrate a svn repository to WHEEZY + +# DON'T COMMIT ANYTHING AFTER launching this +# reset your subversion repos back to the serverside one! + +cd `dirname $0` + +pushd ../debian +patch <../wheezy/control.diff +popd +pushd ../install +patch <../wheezy/alternc.install.diff +popd + +cp -vf alternc-dict-quota.conf alternc-sql.conf ../etc/alternc/templates/dovecot/ +mkdir -p ../etc/alternc/templates/dovecot/conf.d/ +cp -vf 95_alternc.conf ../etc/alternc/templates/dovecot/conf.d/ + +pushd ../etc/alternc/templates/dovecot +rm -vf dovecot.conf dovecot-dict-quota.conf dovecot-sql.conf +popd + + +