From 949e7e06be2d02e23c037a446e51aa632890d33f Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 27 May 2009 09:20:35 -0400
Subject: [PATCH] Merged revisions 1206-1212
---
install/dist/conf/centos53.conf.php | 152 +++++++
install/tpl/config.inc.php.master | 2
interface/web/dns/templates/dns_wizard.htm | 140 +++---
install/dist/lib/fedora.lib.php | 2
docs/INSTALL_DEBIAN_5.0.txt | 734 +++++++++++++++++-----------------
install/dist/lib/opensuse.lib.php | 2
install/update.php | 1
interface/web/mail/lib/lang/en_spamfilter_blacklist.lng | 1
install/dist/lib/centos53.lib.php | 86 ++++
interface/web/mail/spamfilter_whitelist_edit.php | 2
interface/web/mail/lib/lang/en_spamfilter_whitelist.lng | 1
install/sql/ispconfig3.sql | 2
interface/web/dns/lib/lang/en_dns_wizard.lng | 13
install/lib/install.lib.php | 2
interface/web/dns/dns_wizard.php | 27
interface/web/mail/spamfilter_blacklist_edit.php | 2
interface/lib/app.inc.php | 32 +
server/scripts/update_from_tgz.sh | 9
18 files changed, 757 insertions(+), 453 deletions(-)
diff --git a/docs/INSTALL_DEBIAN_5.0.txt b/docs/INSTALL_DEBIAN_5.0.txt
index 8fefe07..137493e 100644
--- a/docs/INSTALL_DEBIAN_5.0.txt
+++ b/docs/INSTALL_DEBIAN_5.0.txt
@@ -1,358 +1,376 @@
-Installation
------------
-
-# It is recommended to use a clean (fresh) Debian lenny install where you just selected "Standard System" as the package selection during
-# setup. Then follow the steps below to setup your server with ISPConfig 3. In this guide "vi" is used as texteditor, but you ofcourse
-# you can use whatever you prefer. You should be root for doing all of this.
-
-
-# Check we have Fully Qualified Domain Name
-
-/bin/hostname
-
-# it should return something like "ispconfig.example.com"
-# if not, then we assign a hostname (for example ispconfig):
-
-echo ispconfig.example.com > /etc/hostname
-
-vi /etc/hosts
-
-# and add lines similar but appropriate:
-
-127.0.0.1 localhost.localdomain localhost
-192.168.0.100 ispconfig.example.com ispconfig
-
-
-
-# Some optional choices
-
-opt0.1) Optionally install SSH-server to get remote shell
-
-apt-get install ssh openssh-server
-
-opt0.2) Optionally if you are not running in virtual machine you can set server clocksync via NTP. Virtual quests get this from the host.
-
-apt-get install ntp ntpdate
-
-
-
-# Next is the real deal
-
-1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils with the following command line (on one line!):
-
-apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils
-
-# Answer the questions from the package manager as follows.
-
-Create directories for web-based administration ? <-- No
-General type of configuration? <-- Internet site
-Mail name? <-- server1.mydomain.tld
- SSL certificate required <-- Ok
-
-# ...use your own domain name of course ;)
-
-
-
-# Edit the file /etc/mysql/my.cnf
-
-vi /etc/mysql/my.cnf
-
-# and comment out the line
-
-bind-address = 127.0.0.1
-
-# then restart mysql
-
-/etc/init.d/mysql restart
-
-2) Install Amavisd-new, Spamassassin and Clamav (1 line!):
-
-apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
-
-
-
-3) Install apache, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt (1 line!):
-
-apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby
-
-
-# When phpMyAdmin is asking weather to configure itself automatically, select "Apache2"
-
-# Then run the following to enable the Apache modules suexec, rewrite and ssl:
-
-a2enmod suexec rewrite ssl actions include
-
-# Secure phpMyAdmin by deleting setuppassword-file
-# and removing/commenting Setup Authorization from apache.conf
-
-rm /etc/phpmyadmin/htpasswd.setup
-
-vi /etc/phpmyadmin/apache.conf
-
-# delete/comment following lines (between the ----- lines):
-------------------------------------------------------
- # Authorize for setup
- <Files setup.php>
- # For Apache 1.3 and 2.0
- <IfModule mod_auth.c>
- AuthType Basic
- AuthName "phpMyAdmin Setup"
- AuthUserFile /etc/phpmyadmin/htpasswd.setup
- </IfModule>
- # For Apache 2.2
- <IfModule mod_authn_file.c>
- AuthType Basic
- AuthName "phpMyAdmin Setup"
- AuthUserFile /etc/phpmyadmin/htpasswd.setup
- </IfModule>
- Require valid-user
- </Files>
-------------------------------------------------------
-
-# restart apache before continuing
-
-/etc/init.d/apache2 restart
-
-
-4) Install pure-ftpd and quota
-
-apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
-
-# Edit the file /etc/default/pure-ftpd-common to change the start mode from "inetd" to "standalone"
-and set VIRTUALCHROOT=true
-
-vi /etc/default/pure-ftpd-common
-
-# Edit the file /etc/inetd.conf to prevent inetd from trying to start ftp.
-# To do this, comment line starting like "ftp stream tcp" by adding "#"-sign in front of the line.
-
-vi /etc/inetd.conf
-
-# Then execute:
-
-/etc/init.d/openbsd-inetd restart
-
-
-# Edit /etc/fstab. Mine looks like this (I added ,usrquota,grpquota to the partition with the mount point /):
-
-vi /etc/fstab
-
-----------------------------------------------------------------------------------------------
-# /etc/fstab: static file system information.
-#
-# <file system> <mount point> <type> <options> <dump> <pass>
-proc /proc proc defaults 0 0
-/dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1
-/dev/sda5 none swap sw 0 0
-/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
-/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
-----------------------------------------------------------------------------------------------
-
-# To enable quota, run these commands:
-
-touch /quota.user /quota.group
-chmod 600 /quota.*
-mount -o remount /
-quotacheck -avugm
-quotaon -avug
-
-
-5) Install mydns
-
-apt-get install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
-
-cd /tmp
-wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.25.tar.gz
-tar xvfz mydns-1.2.8.25.tar.gz
-cd mydns-1.2.8
-./configure
-make
-make install
-
-# Now create the start / stop script for mydns:
-
-vi /etc/init.d/mydns
-
-# and enter the following lines (between the ----- lines):
-
-------------------------------------------------------
-#! /bin/sh
-#
-# mydns Start the MyDNS server
-#
-# Author: Philipp Kern <phil@philkern.de>.
-# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
-# <miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>.
-#
-
-set -e
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/local/sbin/mydns
-NAME=mydns
-DESC="DNS server"
-
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Gracefully exit if the package has been removed.
-test -x $DAEMON || exit 0
-
-case "$1" in
- start)
- echo -n "Starting $DESC: $NAME"
- start-stop-daemon --start --quiet \
- --exec $DAEMON -- -b
- echo "."
- ;;
- stop)
- echo -n "Stopping $DESC: $NAME"
- start-stop-daemon --stop --oknodo --quiet \
- --exec $DAEMON
- echo "."
- ;;
- reload|force-reload)
- echo -n "Reloading $DESC configuration..."
- start-stop-daemon --stop --signal HUP --quiet \
- --exec $DAEMON
- echo "done."
- ;;
- restart)
- echo -n "Restarting $DESC: $NAME"
- start-stop-daemon --stop --quiet --oknodo \
- --exec $DAEMON
- sleep 1
- start-stop-daemon --start --quiet \
- --exec $DAEMON -- -b
- echo "."
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
- exit 1
- ;;
-esac
-
-exit 0
----------------------------------------------------------------------------
-
-# now execute:
-
-chmod +x /etc/init.d/mydns
-update-rc.d mydns defaults
-
-6) Install vlogger and webalizer
-
-apt-get install vlogger webalizer
-
-7) Install Jailkit (optional, only needed if you want to use chrroting for SSH users)
-
-apt-get install build-essential autoconf automake1.9 libtool flex bison
-cd /tmp
-wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
-tar xvfz jailkit-2.5.tar.gz
-cd jailkit-2.5
-./configure
-make
-make install
-cd ..
-rm -rf jailkit-2.5*
-
-8) Install fail2ban (optional but recomended, because the monitor tries to show the log)
-More info at: http://www.howtoforge.com/fail2ban_debian_etch
-
-apt-get install fail2ban
-
-9) Install ISPConfig 3
-
-# There are two possile scenarios, but not both:
-9.1) Install the latest released version
-9.2) Install directly from SVN
-
-9.1) Installation of last version from tar.gz
-
- cd /tmp
- wget http://www.ispconfig.org/downloads/ISPConfig-3.0.0.9-rc2.tar.gz
- tar xvfz ISPConfig-3.0.0.9-rc2.tar.gz
- cd ispconfig3_install/install/
-
-9.2) Installation from SVN
-
- apt-get install subversion
- cd /tmp
- svn export svn://svn.ispconfig.org/ispconfig3/trunk/
- cd trunk/install
-
-
-9.1+9.2) Now proceed with the ISPConfig installation.
-
-# Now start the installation process by executing:
-
-php -q install.php
-
-# The installer will configure all services like postfix, sasl, courier, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not nescessary. To login to the ISPConfig controlpanel, open the following URL in your browser (replace the IP to match your settings!):
-
-http://192.168.0.100:8080/
-
-# the default login is:
-
-user: admin
-password: admin
-
-# In case you get a permission denied error from apache, please restart the apache webserver process.
-
-
-
-----------------------------------------------------------------------------------------------------------
-Optional:
-
-Install a webbased Email Client
-
-apt-get install squirrelmail
-ln -s /usr/share/squirrelmail/ /var/www/webmail
-
-Access squirrelmail:
-
-http://192.168.0.100/webmail
-
-
-To configure squirrelmail, run:
-
-/usr/sbin/squirrelmail-configure
-
-----------------------------------------------------------------------------------------------------------
-
-Hints:
-
-debian 5.0 under openvz:
-
-VPSID=101
-for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
-do
- vzctl set $VPSID --capability ${CAP}:on --save
-done
-
-----------------------------------------------------------------------------------------------------------
-
-
-Optional recommended packages:
-
-denyhosts - a utility to help sys admins thwart ssh crackers
-rsync - fast remote file copy program (for backup)
-
------------------------------------------------------------------------------------------------------------
-
-Possible errors and their solutions
-------------------------------------
-
-pureftpd login does not work. Take a look at the syslog, if you find an error message like this:
-Mar 24 16:26:28 ispconfig pure-ftpd: (?@?) [ERROR] Sorry, invalid address given
-
-then pureftpd is not able to resolve the hostname. Name resolving can be disabled with these commands:
-
-echo 'yes' > /etc/pure-ftpd/conf/DontResolve
-/etc/init.d/pure-ftpd-mysql restart
-
-
-
-
-
-
+Installation
+-----------
+
+# It is recommended to use a clean (fresh) Debian lenny install where you just selected "Standard System" as the package selection during
+# setup. Then follow the steps below to setup your server with ISPConfig 3. In this guide "vi" is used as texteditor, but you ofcourse
+# you can use whatever you prefer. You should be root for doing all of this.
+
+
+# Check we have Fully Qualified Domain Name
+
+/bin/hostname
+
+# it should return something like "ispconfig.example.com"
+# if not, then we assign a hostname (for example ispconfig):
+
+echo ispconfig.example.com > /etc/hostname
+
+vi /etc/hosts
+
+# and add lines similar but appropriate:
+
+127.0.0.1 localhost.localdomain localhost
+192.168.0.100 ispconfig.example.com ispconfig
+
+
+
+# Some optional choices
+
+opt0.1) Optionally install SSH-server to get remote shell
+
+apt-get install ssh openssh-server
+
+opt0.2) Optionally if you are not running in virtual machine you can set server clocksync via NTP. Virtual quests get this from the host.
+
+apt-get install ntp ntpdate
+
+
+
+# Next is the real deal
+
+1) Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils with the following command line (on one line!):
+
+apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils
+
+# Answer the questions from the package manager as follows.
+
+Create directories for web-based administration ? <-- No
+General type of configuration? <-- Internet site
+Mail name? <-- server1.mydomain.tld
+ SSL certificate required <-- Ok
+
+# ...use your own domain name of course ;)
+
+
+
+# Edit the file /etc/mysql/my.cnf
+
+vi /etc/mysql/my.cnf
+
+# and comment out the line
+
+bind-address = 127.0.0.1
+
+# then restart mysql
+
+/etc/init.d/mysql restart
+
+2) Install Amavisd-new, Spamassassin and Clamav (1 line!):
+
+apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
+
+
+
+3) Install apache, PHP5, phpmyadmin, better fastCGI, suexec, Pear and mcrypt (1 line!):
+
+apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby
+
+
+# When phpMyAdmin is asking weather to configure itself automatically, select "Apache2"
+
+# Then run the following to enable the Apache modules suexec, rewrite and ssl:
+
+a2enmod suexec rewrite ssl actions include
+
+# Secure phpMyAdmin by deleting setuppassword-file
+# and removing/commenting Setup Authorization from apache.conf
+
+rm /etc/phpmyadmin/htpasswd.setup
+
+vi /etc/phpmyadmin/apache.conf
+
+# delete/comment following lines (between the ----- lines):
+------------------------------------------------------
+ # Authorize for setup
+ <Files setup.php>
+ # For Apache 1.3 and 2.0
+ <IfModule mod_auth.c>
+ AuthType Basic
+ AuthName "phpMyAdmin Setup"
+ AuthUserFile /etc/phpmyadmin/htpasswd.setup
+ </IfModule>
+ # For Apache 2.2
+ <IfModule mod_authn_file.c>
+ AuthType Basic
+ AuthName "phpMyAdmin Setup"
+ AuthUserFile /etc/phpmyadmin/htpasswd.setup
+ </IfModule>
+ Require valid-user
+ </Files>
+------------------------------------------------------
+
+# restart apache before continuing
+
+/etc/init.d/apache2 restart
+
+
+4) Install pure-ftpd and quota
+
+apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
+
+# Edit the file /etc/default/pure-ftpd-common to change the start mode from "inetd" to "standalone"
+and set VIRTUALCHROOT=true
+
+vi /etc/default/pure-ftpd-common
+
+# Edit the file /etc/inetd.conf to prevent inetd from trying to start ftp.
+# To do this, comment line starting like "ftp stream tcp" by adding "#"-sign in front of the line.
+
+vi /etc/inetd.conf
+
+# Then execute:
+
+/etc/init.d/openbsd-inetd restart
+
+# Some additional settings for pureftpd
+
+echo 'yes' > /etc/pure-ftpd/conf/DontResolve
+
+# Enable TLS in pureftpd
+echo 1 > /etc/pure-ftpd/conf/TLS
+mkdir -p /etc/ssl/private/
+openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
+chmod 600 /etc/ssl/private/pure-ftpd.pem
+
+
+# Edit /etc/fstab. Mine looks like this (I added ,usrquota,grpquota to the partition with the mount point /):
+
+vi /etc/fstab
+
+----------------------------------------------------------------------------------------------
+# /etc/fstab: static file system information.
+#
+# <file system> <mount point> <type> <options> <dump> <pass>
+proc /proc proc defaults 0 0
+/dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1
+/dev/sda5 none swap sw 0 0
+/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
+/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
+----------------------------------------------------------------------------------------------
+
+# To enable quota, run these commands:
+
+touch /quota.user /quota.group
+chmod 600 /quota.*
+mount -o remount /
+quotacheck -avugm
+quotaon -avug
+
+
+5) Install mydns
+
+apt-get install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
+
+cd /tmp
+wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.25.tar.gz
+tar xvfz mydns-1.2.8.25.tar.gz
+cd mydns-1.2.8
+./configure
+make
+make install
+
+# Now create the start / stop script for mydns:
+
+vi /etc/init.d/mydns
+
+# and enter the following lines (between the ----- lines):
+
+------------------------------------------------------
+#! /bin/sh
+#
+# mydns Start the MyDNS server
+#
+# Author: Philipp Kern <phil@philkern.de>.
+# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
+# <miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+
+set -e
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/local/sbin/mydns
+NAME=mydns
+DESC="DNS server"
+
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Gracefully exit if the package has been removed.
+test -x $DAEMON || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: $NAME"
+ start-stop-daemon --start --quiet \
+ --exec $DAEMON -- -b
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: $NAME"
+ start-stop-daemon --stop --oknodo --quiet \
+ --exec $DAEMON
+ echo "."
+ ;;
+ reload|force-reload)
+ echo -n "Reloading $DESC configuration..."
+ start-stop-daemon --stop --signal HUP --quiet \
+ --exec $DAEMON
+ echo "done."
+ ;;
+ restart)
+ echo -n "Restarting $DESC: $NAME"
+ start-stop-daemon --stop --quiet --oknodo \
+ --exec $DAEMON
+ sleep 1
+ start-stop-daemon --start --quiet \
+ --exec $DAEMON -- -b
+ echo "."
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+---------------------------------------------------------------------------
+
+# now execute:
+
+chmod +x /etc/init.d/mydns
+update-rc.d mydns defaults
+
+6) Install vlogger and webalizer
+
+apt-get install vlogger webalizer
+
+Change the following line in /etc/webalizer.conf from
+
+#Incremental no
+
+to
+
+Incremental yes
+
+7) Install Jailkit (optional, only needed if you want to use chrroting for SSH users)
+
+apt-get install build-essential autoconf automake1.9 libtool flex bison
+cd /tmp
+wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
+tar xvfz jailkit-2.5.tar.gz
+cd jailkit-2.5
+./configure
+make
+make install
+cd ..
+rm -rf jailkit-2.5*
+
+8) Install fail2ban (optional but recomended, because the monitor tries to show the log)
+More info at: http://www.howtoforge.com/fail2ban_debian_etch
+
+apt-get install fail2ban
+
+9) Install ISPConfig 3
+
+# There are two possile scenarios, but not both:
+9.1) Install the latest released version
+9.2) Install directly from SVN
+
+9.1) Installation of last version from tar.gz
+
+ cd /tmp
+ wget http://www.ispconfig.org/downloads/ISPConfig-3.0.0.9-rc2.tar.gz
+ tar xvfz ISPConfig-3.0.0.9-rc2.tar.gz
+ cd ispconfig3_install/install/
+
+9.2) Installation from SVN
+
+ apt-get install subversion
+ cd /tmp
+ svn export svn://svn.ispconfig.org/ispconfig3/trunk/
+ cd trunk/install
+
+
+9.1+9.2) Now proceed with the ISPConfig installation.
+
+# Now start the installation process by executing:
+
+php -q install.php
+
+# The installer will configure all services like postfix, sasl, courier, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not nescessary. To login to the ISPConfig controlpanel, open the following URL in your browser (replace the IP to match your settings!):
+
+http://192.168.0.100:8080/
+
+# the default login is:
+
+user: admin
+password: admin
+
+# In case you get a permission denied error from apache, please restart the apache webserver process.
+
+
+
+----------------------------------------------------------------------------------------------------------
+Optional:
+
+Install a webbased Email Client
+
+apt-get install squirrelmail
+ln -s /usr/share/squirrelmail/ /var/www/webmail
+
+Access squirrelmail:
+
+http://192.168.0.100/webmail
+
+
+To configure squirrelmail, run:
+
+/usr/sbin/squirrelmail-configure
+
+----------------------------------------------------------------------------------------------------------
+
+Hints:
+
+debian 5.0 under openvz:
+
+VPSID=101
+for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
+do
+ vzctl set $VPSID --capability ${CAP}:on --save
+done
+
+----------------------------------------------------------------------------------------------------------
+
+
+Optional recommended packages:
+
+denyhosts - a utility to help sys admins thwart ssh crackers
+rsync - fast remote file copy program (for backup)
+
+-----------------------------------------------------------------------------------------------------------
+
+Possible errors and their solutions
+------------------------------------
+
+pureftpd login does not work. Take a look at the syslog, if you find an error message like this:
+Mar 24 16:26:28 ispconfig pure-ftpd: (?@?) [ERROR] Sorry, invalid address given
+
+then pureftpd is not able to resolve the hostname. Name resolving can be disabled with these commands:
+
+echo 'yes' > /etc/pure-ftpd/conf/DontResolve
+/etc/init.d/pure-ftpd-mysql restart
+
+
+
+
+
+
diff --git a/install/dist/conf/centos53.conf.php b/install/dist/conf/centos53.conf.php
new file mode 100644
index 0000000..d0f35f5
--- /dev/null
+++ b/install/dist/conf/centos53.conf.php
@@ -0,0 +1,152 @@
+<?php
+
+/*
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+//*** Fedora 9 default settings
+
+//* Main
+$conf['language'] = 'en';
+$conf['distname'] = 'centos52';
+$conf['hostname'] = 'server1.domain.tld'; // Full hostname
+$conf['ispconfig_install_dir'] = '/usr/local/ispconfig';
+$conf['ispconfig_config_dir'] = '/usr/local/ispconfig';
+$conf['ispconfig_log_priority'] = 2; // 0 = Debug, 1 = Warning, 2 = Error
+$conf['server_id'] = 1;
+$conf['init_scripts'] = '/etc/init.d';
+$conf['runlevel'] = '/etc';
+$conf['shells'] = '/etc/shells';
+$conf['cron_tab'] = '/var/spool/cron/root';
+$conf['pam'] = '/etc/pam.d';
+
+//* Services provided by this server, this selection will be overridden by the expert mode
+$conf['services']['mail'] = true;
+$conf['services']['web'] = true;
+$conf['services']['dns'] = true;
+$conf['services']['file'] = true;
+$conf['services']['db'] = true;
+$conf['services']['vserver'] = true;
+
+//* MySQL
+$conf['mysql']['installed'] = false; // will be detected automatically during installation
+$conf['mysql']['init_script'] = 'mysqld';
+$conf['mysql']['host'] = 'localhost';
+$conf['mysql']['ip'] = '127.0.0.1';
+$conf['mysql']['port'] = '3306';
+$conf['mysql']['database'] = 'dbispconfig';
+$conf['mysql']['admin_user'] = 'root';
+$conf['mysql']['admin_password'] = '';
+$conf['mysql']['charset'] = 'utf8';
+$conf['mysql']['ispconfig_user'] = 'ispconfig';
+$conf['mysql']['ispconfig_password'] = md5 (uniqid (rand()));
+$conf['mysql']['master_slave_setup'] = 'n';
+$conf['mysql']['master_host'] = '';
+$conf['mysql']['master_database'] = 'dbispconfig';
+$conf['mysql']['master_admin_user'] = 'root';
+$conf['mysql']['master_admin_password'] = '';
+$conf['mysql']['master_ispconfig_user'] = '';
+$conf['mysql']['master_ispconfig_password'] = md5 (uniqid (rand()));
+
+//* Apache
+$conf['apache']['installed'] = false; // will be detected automatically during installation
+$conf['apache']['user'] = 'apache';
+$conf['apache']['group'] = 'apache';
+$conf['apache']['init_script'] = 'httpd';
+$conf['apache']['version'] = '2.2';
+$conf['apache']['vhost_conf_dir'] = '/etc/httpd/conf/sites-available';
+$conf['apache']['vhost_conf_enabled_dir'] = '/etc/httpd/conf/sites-enabled';
+$conf['apache']['vhost_port'] = '8080';
+
+//* Website base settings
+$conf['web']['website_basedir'] = '/var/www';
+$conf['web']['website_path'] = '/var/www/clients/client[client_id]/web[website_id]';
+$conf['web']['website_symlinks'] = '/var/www/[website_domain]/:/var/www/clients/client[client_id]/[website_domain]/';
+
+//* Fastcgi
+$conf['fastcgi']['fastcgi_phpini_path'] = '/etc/';
+$conf['fastcgi']['fastcgi_starter_path'] = '/var/www/php-fcgi-scripts/[system_user]/';
+
+//* Postfix
+$conf['postfix']['installed'] = false; // will be detected automatically during installation
+$conf['postfix']['config_dir'] = '/etc/postfix';
+$conf['postfix']['init_script'] = 'postfix';
+$conf['postfix']['user'] = 'postfix';
+$conf['postfix']['group'] = 'postfix';
+$conf['postfix']['vmail_userid'] = '5000';
+$conf['postfix']['vmail_username'] = 'vmail';
+$conf['postfix']['vmail_groupid'] = '5000';
+$conf['postfix']['vmail_groupname'] = 'vmail';
+$conf['postfix']['vmail_mailbox_base'] = '/var/vmail';
+
+//* Getmail
+$conf['getmail']['installed'] = false; // will be detected automatically during installation
+$conf['getmail']['config_dir'] = '/etc/getmail';
+$conf['getmail']['program'] = '/usr/bin/getmail';
+
+//* Courier
+$conf['courier']['installed'] = false; // will be detected automatically during installation
+$conf['courier']['config_dir'] = '/etc/authlib';
+$conf['courier']['courier-authdaemon'] = 'courier-authlib';
+$conf['courier']['courier-imap'] = 'courier-imap';
+$conf['courier']['courier-imap-ssl'] = '';
+$conf['courier']['courier-pop'] = '';
+$conf['courier']['courier-pop-ssl'] = '';
+
+//* SASL
+$conf['saslauthd']['installed'] = false; // will be detected automatically during installation
+$conf['saslauthd']['config'] = '/etc/sysconfig/saslauthd';
+$conf['saslauthd']['init_script'] = 'saslauthd';
+
+//* Amavisd
+$conf['amavis']['installed'] = false; // will be detected automatically during installation
+$conf['amavis']['config_dir'] = '/etc';
+$conf['amavis']['init_script'] = 'amavisd';
+
+//* ClamAV
+$conf['clamav']['installed'] = false; // will be detected automatically during installation
+$conf['clamav']['init_script'] = 'clamd';
+
+//* Pureftpd
+$conf['pureftpd']['installed'] = false; // will be detected automatically during installation
+$conf['pureftpd']['config_dir'] = '/etc/pure-ftpd';
+$conf['pureftpd']['init_script'] = 'pure-ftpd';
+
+//* MyDNS
+$conf['mydns']['installed'] = false; // will be detected automatically during installation
+$conf['mydns']['config_dir'] = '/etc';
+$conf['mydns']['init_script'] = 'mydns';
+
+//* Jailkit
+$conf['jailkit']['installed'] = false; // will be detected automatically during installation
+$conf['jailkit']['config_dir'] = '/etc/jailkit';
+$conf['jailkit']['jk_init'] = 'jk_init.ini';
+$conf['jailkit']['jk_chrootsh'] = 'jk_chrootsh.ini';
+$conf['jailkit']['jailkit_chroot_app_programs'] = '/usr/bin/groups /usr/bin/id /usr/bin/dircolors /bin/basename /usr/bin/dirname /usr/bin/nano';
+
+
+?>
\ No newline at end of file
diff --git a/install/dist/lib/centos53.lib.php b/install/dist/lib/centos53.lib.php
new file mode 100644
index 0000000..17293fc
--- /dev/null
+++ b/install/dist/lib/centos53.lib.php
@@ -0,0 +1,86 @@
+<?php
+
+/*
+Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of ISPConfig nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+class installer extends installer_dist {
+
+ public function configure_amavis() {
+ global $conf;
+
+ // amavisd user config file
+ $configfile = 'fedora_amavisd_conf';
+ if(is_file($conf["amavis"]["config_dir"].'/amavisd.conf')) copy($conf["amavis"]["config_dir"].'/amavisd.conf',$conf["courier"]["config_dir"].'/amavisd.conf~');
+ if(is_file($conf["amavis"]["config_dir"].'/amavisd.conf~')) exec('chmod 400 '.$conf["amavis"]["config_dir"].'/amavisd.conf~');
+ $content = rf("tpl/".$configfile.".master");
+ $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
+ $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
+ $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
+ $content = str_replace('{mysql_server_port}',$conf["mysql"]["port"],$content);
+ $content = str_replace('{mysql_server_ip}',$conf['mysql']['ip'],$content);
+ $content = str_replace('{hostname}',$conf['hostname'],$content);
+ $content = str_replace('/var/spool/amavisd/clamd.sock','/var/run/clamav/clamd.sock',$content);
+ wf($conf["amavis"]["config_dir"].'/amavisd.conf',$content);
+
+
+ // Adding the amavisd commands to the postfix configuration
+ $postconf_commands = array (
+ 'content_filter = amavis:[127.0.0.1]:10024',
+ 'receive_override_options = no_address_mappings'
+ );
+
+ // Make a backup copy of the main.cf file
+ copy($conf["postfix"]["config_dir"].'/main.cf',$conf["postfix"]["config_dir"].'/main.cf~2');
+
+ // Executing the postconf commands
+ foreach($postconf_commands as $cmd) {
+ $command = "postconf -e '$cmd'";
+ caselog($command." &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+ }
+
+ // Append the configuration for amavisd to the master.cf file
+ if(is_file($conf["postfix"]["config_dir"].'/master.cf')) copy($conf["postfix"]["config_dir"].'/master.cf',$conf["postfix"]["config_dir"].'/master.cf~');
+ $content = rf($conf["postfix"]["config_dir"].'/master.cf');
+ // Only add the content if we had not addded it before
+ if(!stristr($content,"127.0.0.1:10025")) {
+ unset($content);
+ $content = rf("tpl/master_cf_amavis.master");
+ af($conf["postfix"]["config_dir"].'/master.cf',$content);
+ }
+ unset($content);
+
+ removeLine('/etc/sysconfig/freshclam','FRESHCLAM_DELAY=disabled-warn # REMOVE ME',1);
+ replaceLine('/etc/freshclam.conf','Example','# Example',1);
+
+
+ }
+
+
+}
+
+?>
\ No newline at end of file
diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php
index 52a50a2..ede93e3 100644
--- a/install/dist/lib/fedora.lib.php
+++ b/install/dist/lib/fedora.lib.php
@@ -208,6 +208,8 @@
$configfile = 'tpl/fedora_saslauthd_smtpd_conf.master';
$content = rf($configfile);
wf('/usr/lib/sasl2/smtpd.conf',$content);
+ if(is_dir('/usr/lib64')) wf('/usr/lib64/sasl/smtpd.conf',$content);
+ if(is_dir('/usr/lib64')) wf('/usr/lib64/sasl2/smtpd.conf',$content);
}
diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php
index a2fe5a6..9479c9a 100644
--- a/install/dist/lib/opensuse.lib.php
+++ b/install/dist/lib/opensuse.lib.php
@@ -599,6 +599,8 @@
$content = str_replace('{server_id}', $conf['server_id'], $content);
$content = str_replace('{ispconfig_log_priority}', $conf['ispconfig_log_priority'], $content);
+ $content = str_replace('{language}', $conf['language'], $content);
+
wf("$install_dir/server/lib/$configfile", $content);
diff --git a/install/lib/install.lib.php b/install/lib/install.lib.php
index e51d643..93e1cc6 100644
--- a/install/lib/install.lib.php
+++ b/install/lib/install.lib.php
@@ -149,7 +149,7 @@
} elseif(stristr($content,'CentOS release 5.3 (Final)')) {
$distname = 'CentOS';
$distver = '5.3';
- $distid = 'centos52';
+ $distid = 'centos53';
$distbaseid = 'fedora';
swriteln("Operating System: CentOS 5.3 or compatible\n");
} else {
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 42f349a..e6f9dc8 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1148,7 +1148,7 @@
-- Dumping data for table `sys_config`
--
-INSERT INTO sys_config VALUES ('1','db','db_version','3.0.1.2');
+INSERT INTO sys_config VALUES ('1','db','db_version','3.0.1.3');
-- --------------------------------------------------------
diff --git a/install/tpl/config.inc.php.master b/install/tpl/config.inc.php.master
index 0ed8765..9ba9799 100644
--- a/install/tpl/config.inc.php.master
+++ b/install/tpl/config.inc.php.master
@@ -57,7 +57,7 @@
//** Application
define('ISPC_APP_TITLE', 'ISPConfig');
-define('ISPC_APP_VERSION', '3.0.1.2');
+define('ISPC_APP_VERSION', '3.0.1.3');
//** Database
diff --git a/install/update.php b/install/update.php
index ca74da8..b309509 100644
--- a/install/update.php
+++ b/install/update.php
@@ -89,6 +89,7 @@
$conf["mysql"]["ispconfig_user"] = $conf_old["db_user"];
$conf["mysql"]["ispconfig_password"] = $conf_old["db_password"];
$conf['language'] = $conf_old['language'];
+if($conf['language'] == '{language}') $conf['language'] = 'en';
if(isset($conf_old["dbmaster_host"])) $conf["mysql"]["master_host"] = $conf_old["dbmaster_host"];
if(isset($conf_old["dbmaster_database"])) $conf["mysql"]["master_database"] = $conf_old["dbmaster_database"];
diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index f1ecdbc..6dcb171 100644
--- a/interface/lib/app.inc.php
+++ b/interface/lib/app.inc.php
@@ -1,7 +1,7 @@
<?php
/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -147,19 +147,21 @@
}
}
- /** Loads language */
+ /** Translates strings in current language */
public function lng($text)
{
if($this->_language_inc != 1) {
//* loading global and module Wordbook
// TODO: this need to be made clearer somehow - pedro
- @include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng');
+ //@include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng');
+ $this->load_language_file('/lib/lang/'.$_SESSION['s']['language'].'.lng');
if(isset($_SESSION['s']['module']['name']) && isset($_SESSION['s']['language'])) {
- $lng_file = ISPC_ROOT_PATH.'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng';
- if(!file_exists($lng_file)) $lng_file = ISPC_ROOT_PATH.'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/en.lng';
- @include_once($lng_file);
+ $lng_file = '/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng';
+ if(!file_exists($lng_file)) $lng_file = '/web/'.$_SESSION['s']['module']['name'].'/lib/lang/en.lng';
+ //@include_once($lng_file);
+ $this->load_language_file($lng_file);
}
- if(isset($wb)) $this->_wb = $wb;
+ //if(isset($wb)) $this->_wb = $wb;
$this->_language_inc = 1;
}
if(!empty($this->_wb[$text])) {
@@ -167,6 +169,22 @@
}
return $text;
}
+
+ //** Helper function to load the language files.
+ public function load_language_file($filename) {
+ $filename = ISPC_ROOT_PATH.'/'.$filename;
+ if(substr($filename,-4) != '.lng') $this->error('Language file has wrong extension.');
+ if(file_exists($filename)) {
+ @include_once($filename);
+ if(is_array($wb)) {
+ if(is_array($this->_wb)) {
+ $this->_wb = array_merge($wb,$this->_wb);
+ } else {
+ $this->_wb = $wb;
+ }
+ }
+ }
+ }
public function tpl_defaults()
{
diff --git a/interface/web/dns/dns_wizard.php b/interface/web/dns/dns_wizard.php
index 64a5736..e01c207 100644
--- a/interface/web/dns/dns_wizard.php
+++ b/interface/web/dns/dns_wizard.php
@@ -39,6 +39,7 @@
$app->uses('tpl,validate_dns');
$app->tpl->newTemplate("form.tpl.htm");
$app->tpl->setInclude('content_tpl','templates/dns_wizard.htm');
+$app->load_language_file('/web/dns/lib/lang/'.$_SESSION['s']['language'].'_dns_wizard.lng');
// import variables
$template_id = (isset($_POST['template_id']))?intval($_POST['template_id']):0;
@@ -109,11 +110,11 @@
$error = '';
- if(isset($_POST['domain']) && $_POST['domain'] == '') $error .= $app->lng('error_domain_empty');
- if(isset($_POST['ip']) && $_POST['ip'] == '') $error .= $app->lng('error_ip_empty');
- if(isset($_POST['ns1']) && $_POST['ns1'] == '') $error .= $app->lng('error_ns1_empty');
- if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty');
- if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty');
+ if(isset($_POST['domain']) && $_POST['domain'] == '') $error .= $app->lng('error_domain_empty').'<br />';
+ if(isset($_POST['ip']) && $_POST['ip'] == '') $error .= $app->lng('error_ip_empty').'<br />';
+ if(isset($_POST['ns1']) && $_POST['ns1'] == '') $error .= $app->lng('error_ns1_empty').'<br />';
+ if(isset($_POST['ns2']) && $_POST['ns2'] == '') $error .= $app->lng('error_ns2_empty').'<br />';
+ if(isset($_POST['email']) && $_POST['email'] == '') $error .= $app->lng('error_email_empty').'<br />';
// replace template placeholders
@@ -164,14 +165,14 @@
} // end foreach
- if($vars['origin'] == '') $error .= $app->lng('error_origin_empty');
- if($vars['ns'] == '') $error .= $app->lng('error_ns_empty');
- if($vars['mbox'] == '') $error .= $app->lng('error_mbox_empty');
- if($vars['refresh'] == '') $error .= $app->lng('error_refresh_empty');
- if($vars['retry'] == '') $error .= $app->lng('error_retry_empty');
- if($vars['expire'] == '') $error .= $app->lng('error_expire_empty');
- if($vars['minimum'] == '') $error .= $app->lng('error_minimum_empty');
- if($vars['ttl'] == '') $error .= $app->lng('error_ttl_empty');
+ if($vars['origin'] == '') $error .= $app->lng('error_origin_empty').'<br />';
+ if($vars['ns'] == '') $error .= $app->lng('error_ns_empty').'<br />';
+ if($vars['mbox'] == '') $error .= $app->lng('error_mbox_empty').'<br />';
+ if($vars['refresh'] == '') $error .= $app->lng('error_refresh_empty').'<br />';
+ if($vars['retry'] == '') $error .= $app->lng('error_retry_empty').'<br />';
+ if($vars['expire'] == '') $error .= $app->lng('error_expire_empty').'<br />';
+ if($vars['minimum'] == '') $error .= $app->lng('error_minimum_empty').'<br />';
+ if($vars['ttl'] == '') $error .= $app->lng('error_ttl_empty').'<br />';
if($error == '') {
// Insert the soa record
diff --git a/interface/web/dns/lib/lang/en_dns_wizard.lng b/interface/web/dns/lib/lang/en_dns_wizard.lng
index 251f850..e8351cb 100644
--- a/interface/web/dns/lib/lang/en_dns_wizard.lng
+++ b/interface/web/dns/lib/lang/en_dns_wizard.lng
@@ -10,7 +10,18 @@
$wb['ns1_txt'] = 'NS 1';
$wb['ns2_txt'] = 'NS 2';
$wb['ip_txt'] = 'IP Address';
-
$wb['error_origin_empty'] = 'Origin empty.';
+$wb['error_ns_empty'] = 'NS empty.';
+$wb['error_mbox_empty'] = 'Mbox empty.';
+$wb['error_refresh_empty'] = 'Refresh empty.';
+$wb['error_retry_empty'] = 'Retry empty.';
+$wb['error_expire_empty'] = 'Expire empty.';
+$wb['error_minimum_empty'] = 'Minimum empty.';
+$wb['error_ttl_empty'] = 'TTL empty.';
+$wb['error_domain_empty'] = 'Domain empty';
+$wb['error_ip_empty'] = 'IP empty.';
+$wb['error_ns1_empty'] = 'NS1 empty.';
+$wb['error_ns2_empty'] = 'NS2 empty.';
+$wb['error_email_empty'] = 'EMail empty.';
?>
\ No newline at end of file
diff --git a/interface/web/dns/templates/dns_wizard.htm b/interface/web/dns/templates/dns_wizard.htm
index 5433aa0..4f926ba 100644
--- a/interface/web/dns/templates/dns_wizard.htm
+++ b/interface/web/dns/templates/dns_wizard.htm
@@ -1,68 +1,72 @@
-<h2><tmpl_var name="list_head_txt"></h2>
-<p><tmpl_var name="list_desc_txt"></p>
-
-<div class="panel panel_dns_wizard">
-
- <div class="pnl_formsarea">
- <fieldset class="inlineLabels"><legend>DNS Zone</legend>
- <div class="ctrlHolder">
- <label for="template_id">{tmpl_var name='template_id_txt'}</label>
- <select name="template_id" id="template_id" class="selectInput" onChange="submitForm('pageForm','dns/dns_wizard.php')">
- {tmpl_var name='template_id_option'}
- </select>
- </div>
- <tmpl_if name="is_admin">
- <div class="ctrlHolder">
- <label for="server_id">{tmpl_var name='server_id_txt'}</label>
- <select name="server_id" id="server_id" class="selectInput">
- {tmpl_var name='server_id'}
- </select>
- </div>
- <div class="ctrlHolder">
- <label for="client_group_id">{tmpl_var name='client_txt'}</label>
- <select name="client_group_id" id="client_group_id" class="selectInput">
- {tmpl_var name='client_group_id'}
- </select>
- </div>
- </tmpl_if>
- <tmpl_if name="DOMAIN_VISIBLE">
- <div class="ctrlHolder">
- <label for="domain">{tmpl_var name='domain_txt'}</label>
- <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="IP_VISIBLE">
- <div class="ctrlHolder">
- <label for="ip">{tmpl_var name='ip_txt'}</label>
- <input name="ip" id="ip" value="{tmpl_var name='ip'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="NS1_VISIBLE">
- <div class="ctrlHolder">
- <label for="ns1">{tmpl_var name='ns1_txt'}</label>
- <input name="ns1" id="ns1" value="{tmpl_var name='ns1'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="NS2_VISIBLE">
- <div class="ctrlHolder">
- <label for="ns2">{tmpl_var name='ns2_txt'}</label>
- <input name="ns2" id="ns2" value="{tmpl_var name='ns2'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- <tmpl_if name="EMAIL_VISIBLE">
- <div class="ctrlHolder">
- <label for="email">{tmpl_var name='email_txt'}</label>
- <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
- </div>
- </tmpl_if>
- </fieldset>
-
- <input type="hidden" name="create" value="0" />
-
- <div class="buttonHolder buttons">
- <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onClick="document.pageForm.create.value=1; submitForm('pageForm','dns/dns_wizard.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
- <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
- </div>
- </div>
-
-</div>
+<h2><tmpl_var name="list_head_txt"></h2>
+<p><tmpl_var name="list_desc_txt"></p>
+
+<tmpl_if name="error">
+ <div id="errorMsg"><h3>ERROR</h3><ol><tmpl_var name="error"></ol></div>
+</tmpl_if>
+
+<div class="panel panel_dns_wizard">
+
+ <div class="pnl_formsarea">
+ <fieldset class="inlineLabels"><legend>DNS Zone</legend>
+ <div class="ctrlHolder">
+ <label for="template_id">{tmpl_var name='template_id_txt'}</label>
+ <select name="template_id" id="template_id" class="selectInput" onChange="submitForm('pageForm','dns/dns_wizard.php')">
+ {tmpl_var name='template_id_option'}
+ </select>
+ </div>
+ <tmpl_if name="is_admin">
+ <div class="ctrlHolder">
+ <label for="server_id">{tmpl_var name='server_id_txt'}</label>
+ <select name="server_id" id="server_id" class="selectInput">
+ {tmpl_var name='server_id'}
+ </select>
+ </div>
+ <div class="ctrlHolder">
+ <label for="client_group_id">{tmpl_var name='client_txt'}</label>
+ <select name="client_group_id" id="client_group_id" class="selectInput">
+ {tmpl_var name='client_group_id'}
+ </select>
+ </div>
+ </tmpl_if>
+ <tmpl_if name="DOMAIN_VISIBLE">
+ <div class="ctrlHolder">
+ <label for="domain">{tmpl_var name='domain_txt'}</label>
+ <input name="domain" id="domain" value="{tmpl_var name='domain'}" size="30" maxlength="255" type="text" class="textInput" />
+ </div>
+ </tmpl_if>
+ <tmpl_if name="IP_VISIBLE">
+ <div class="ctrlHolder">
+ <label for="ip">{tmpl_var name='ip_txt'}</label>
+ <input name="ip" id="ip" value="{tmpl_var name='ip'}" size="30" maxlength="255" type="text" class="textInput" />
+ </div>
+ </tmpl_if>
+ <tmpl_if name="NS1_VISIBLE">
+ <div class="ctrlHolder">
+ <label for="ns1">{tmpl_var name='ns1_txt'}</label>
+ <input name="ns1" id="ns1" value="{tmpl_var name='ns1'}" size="30" maxlength="255" type="text" class="textInput" />
+ </div>
+ </tmpl_if>
+ <tmpl_if name="NS2_VISIBLE">
+ <div class="ctrlHolder">
+ <label for="ns2">{tmpl_var name='ns2_txt'}</label>
+ <input name="ns2" id="ns2" value="{tmpl_var name='ns2'}" size="30" maxlength="255" type="text" class="textInput" />
+ </div>
+ </tmpl_if>
+ <tmpl_if name="EMAIL_VISIBLE">
+ <div class="ctrlHolder">
+ <label for="email">{tmpl_var name='email_txt'}</label>
+ <input name="email" id="email" value="{tmpl_var name='email'}" size="30" maxlength="255" type="text" class="textInput" />
+ </div>
+ </tmpl_if>
+ </fieldset>
+
+ <input type="hidden" name="create" value="0" />
+
+ <div class="buttonHolder buttons">
+ <button class="positive iconstxt icoPositive" type="button" value="{tmpl_var name='btn_save_txt'}" name="btn_create" onClick="document.pageForm.create.value=1; submitForm('pageForm','dns/dns_wizard.php');"><span>{tmpl_var name='btn_save_txt'}</span></button>
+ <button class="negative iconstxt icoNegative" type="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('dns/dns_wizard.php');"><span>{tmpl_var name='btn_cancel_txt'}</span></button>
+ </div>
+ </div>
+
+</div>
diff --git a/interface/web/mail/lib/lang/en_spamfilter_blacklist.lng b/interface/web/mail/lib/lang/en_spamfilter_blacklist.lng
index 877e38a..6478b1f 100644
--- a/interface/web/mail/lib/lang/en_spamfilter_blacklist.lng
+++ b/interface/web/mail/lib/lang/en_spamfilter_blacklist.lng
@@ -5,4 +5,5 @@
$wb["email_txt"] = 'Email';
$wb["priority_txt"] = 'Priority';
$wb["active_txt"] = 'Active';
+$wb["limit_spamfilter_wblist_txt"] = 'The max. number of White- or Blacklist records for your account is reached.';
?>
\ No newline at end of file
diff --git a/interface/web/mail/lib/lang/en_spamfilter_whitelist.lng b/interface/web/mail/lib/lang/en_spamfilter_whitelist.lng
index 877e38a..6478b1f 100644
--- a/interface/web/mail/lib/lang/en_spamfilter_whitelist.lng
+++ b/interface/web/mail/lib/lang/en_spamfilter_whitelist.lng
@@ -5,4 +5,5 @@
$wb["email_txt"] = 'Email';
$wb["priority_txt"] = 'Priority';
$wb["active_txt"] = 'Active';
+$wb["limit_spamfilter_wblist_txt"] = 'The max. number of White- or Blacklist records for your account is reached.';
?>
\ No newline at end of file
diff --git a/interface/web/mail/spamfilter_blacklist_edit.php b/interface/web/mail/spamfilter_blacklist_edit.php
index 141e6a7..a75af75 100644
--- a/interface/web/mail/spamfilter_blacklist_edit.php
+++ b/interface/web/mail/spamfilter_blacklist_edit.php
@@ -63,7 +63,7 @@
if($client["limit_spamfilter_wblist"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(wblist_id) as number FROM spamfilter_wblist WHERE sys_groupid = $client_group_id");
if($tmp["number"] >= $client["limit_spamfilter_wblist"]) {
- $app->error($app->tform->wordbook["limit_spamfilter_wblist_txt"]);
+ $app->error($app->tform->lng("limit_spamfilter_wblist_txt"));
}
}
}
diff --git a/interface/web/mail/spamfilter_whitelist_edit.php b/interface/web/mail/spamfilter_whitelist_edit.php
index bf1db41..b6762af 100644
--- a/interface/web/mail/spamfilter_whitelist_edit.php
+++ b/interface/web/mail/spamfilter_whitelist_edit.php
@@ -63,7 +63,7 @@
if($client["limit_spamfilter_wblist"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(wblist_id) as number FROM spamfilter_wblist WHERE sys_groupid = $client_group_id");
if($tmp["number"] >= $client["limit_spamfilter_wblist"]) {
- $app->error($app->tform->wordbook["limit_spamfilter_wblist_txt"]);
+ $app->error($app->tform->lng("limit_spamfilter_wblist_txt"));
}
}
}
diff --git a/server/scripts/update_from_tgz.sh b/server/scripts/update_from_tgz.sh
index 09db417..424a390 100644
--- a/server/scripts/update_from_tgz.sh
+++ b/server/scripts/update_from_tgz.sh
@@ -1,8 +1,15 @@
#!/bin/bash
cd /tmp
+
+if [ -f ISPConfig-3-stable.tar.gz ]
+then
+rm -f ISPConfig-3-stable.tar.gz
+fi
+
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
php -q update.php
-rm -rf /tmp/ispconfig3_install/install
\ No newline at end of file
+rm -rf /tmp/ispconfig3_install/install
+rm -f ISPConfig-3-stable.tar.gz
\ No newline at end of file
--
Gitblit v1.9.1