[new] webmin(-minimal)

Heya all,
since there were quite some requests for this. I made a PKGBUILD for webmin. I have to say ... this wasn't an easy one for me. I choose for webmin-minimal so that peopel can add the modules they want.
However, when you look at the code, you'll see that it needs improvements ...
What is done:
it builds and installs. It creates a new user and group, both called webmin. these groups will be deleted when you uninstall the package (see comments if this is good or bad).
~Todo:
* No SSL can be used ... this is pretty critical I think. There is an SSLeay package in testing I saw, but webmin couldn't find it.
* I also get an error in the webmin-log that it can find  a/the perl PAM-module ...
* The web-interface seems to function, but you can't request a proces-list: this is maybe a bug in the program?? Webmin requests "proc/index_.cgi", but that file doesn't exist. The file "proc/index.cgi" exists however.
* I've written code the generate a random initial password. However, this code doesn't seem to function. For the moment there is a static password ... but I suppose you'll change it when you install webmin. Anyway, Ithink it would be better if the initial one would be a random password. This code belongs in the install-file to my opinion and not in the PKGVUILD like now, but this requires some effort to implement since there is some code for setting up the password in the setup-file.
* A lot of comments in the code ...
Now it's time to sleep ... .
PKGBUILD:
#Michel Branbants <[email protected]>
pkgname=webmin
pkgver=1.170
pkgrel=1
pkgdesc="Webmin is a web-based interface for system administration for Unix. Using any browser that supports tables and forms (and Java for the File Manager module), you can setup user accounts, Apache, DNS, file sharing and so on. Webmin consists of a simple web server, and a number of CGI programs which directly update system files like /etc/inetd.conf and /etc/passwd. The web server and all CGI programs are written in Perl version 5, and use no non-standard Perl modules."
url="http://www.webmin.com"
depends=('perl>=5.0' 'coreutils')
backup=('etc/webmin/miniserv.conf')
install=webmin.install
source=(http://belnet.dl.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver-minimal.tar.gz
setup.sh.patch
copyconfig.pl.patch
webmin.install)
md5sums=('a2bc5d04524c52af8955c703179e8af4' '0332a42a04a9c522d483e8d2d61fcee1'
'72f5472f6b8fedf02cf8222cf962053b' '521d14ee48a8203f3765cadc9fbd9379')
build() {
cd $startdir/src/$pkgname-$pkgver
patch ./setup.sh $startdir/setup.sh.patch
patch ./copyconfig.pl $startdir/copyconfig.pl.patch
declare -r local installDir="/usr/share/webmin"
#configdir must be an absolute path
declare -r local configDir="/etc/webmin"
#this is the var_dir-variable
declare -r local logAndPidDir="/var/webmin"
#I added 2 new dirs to the setup-script, but I'm not completely sure if I just may add them. And what's var_dir's purpose now?So, for the log and run-files these directories should be used
declare -r local logDir="/var/log/webmin"
declare -r local pidDir="/var/run/webmin"
declare -r local os_type="generic-linux"
declare -r local os_version="2.6"
declare -r local real_os_type="Generic Linux"
declare -r local real_os_version="2.6"
declare -r local webminServerport="10000"
#username maybe not contain a ':' or a ' '(a space :)) and may not be "webmin"
declare -r local adminLoginname="admin"
#password may not contain a ':'.
#dit moet eigenlijk in de install-file
echo "generating initial administrator password ..."
declare -r local adminpass=$(genPassword 8)
echo "#The first and last quote of the loginpass-value are only to delimit the password and aren't part of the password!
initial webmin administrator-account:
loginname:$adminLoginname
loginpass:"$adminpass"" > $startdir/SHRED or REMOVE ME-webminAdminAccount
echo "info written to "SHRED or REMOVE ME-webminAdminAccount""
#no SSL need SSLeay installed somewhere perl can find it!
#post-setup-script: (line 735) setup-post.sh
./setup.sh "$installDir" "$startdir/pkg" "$configDir" "$logAndPidDir" "$webminServerport" "$adminLoginname" "$adminpass" "$os_type" "$os_version" "$real_os_type" "$real_os_version" "$logDir" "$pidDir"
echo "administrator-account-info written to "$startdir/SHRED or REMOVE ME-webminAdminAccount""
#$1 = length of Password. Must be AT LEAST 8 CHARACTERS. Some people will say this is not necessary maybe or not enough. Anyway this password is the initial password.
genPassword() {
declare -r local passLength=$1
if [[ 8 -gt $passLength ]]; then
#writing to stderr
echo "password length needs to be at least 8 characters" 1>&2
return 1
fi
declare local pass=$(genRandomString $passLength)
#the password may not contain ':'.
#Replace all occurences of ':' with another character. Mayeb first check if there is a problem ...
#could be endless loop .. but I would suppose it is a random generator ... I try maximum 3 times
#to avoid an endless loop, else the character 'A' will be chosen to replace ':'
declare local replacement=':';
declare -i local iter=1;
while [[ ':' == $replacement ]] && [[ $iter -le 3 ]]; do
replacement=`head -c 1 /dev/random`
iter=$iter+1
done
if [[ ':' == $replacement ]]; then
replacement='A'
fi
pass=${pass//:/$replacement}
echo "$pass"
return 0
#$1 = length of string.
genRandomString() {
declare -ri local stringLength=$1;
#/dev/random instead od /dev/urandom will be used for more chance on a good random values.
#/dev/random can however block if not enough input is available
declare local string
read -n $stringLength string < /dev/random
#echo "$string"
echo "QueCeraCera"
webmin.install:
#Contributor: Michel Brabants <[email protected]>
# This is a default template for a post-install scriptlet. You can
# remove any functions you don't need (and this header).
# arg 1: the new package version
pre_install() {
/bin/true
# arg 1: the new package version
post_install() {
declare -r local USER="webmin"
declare -r local GROUP="webmin"
#searching for free gid in range of 1-100 : error should be captured : todo
declare -ri freeGid=$(getFreeGid);
echo -n "Creating group $GROUP : ";
if [[ 0 -eq `/usr/sbin/groupadd -g $freeGid $GROUP` ]]; then
echo " OK";
else
echo " FAILED";
fi
#searching for free uid in range of 1-1000 : error should be captured : todo
declare -ri freeUid=$(getFreeUid);
echo -n "Creating user $USER with primary group $GROUP";
if [[ 0 -eq `/usr/sbin/useradd -c "user for webmin" -g "$GROUP" -G "$AUDIO_GROUP" -s "/bin/false" -u $freeUid $USER` ]]; then
echo " OK";
else
echo " FAILED;"
fi
update_permissions $USER $GROUP;
# arg 1: the new package version
# arg 2: the old package version
pre_upgrade() {
/bin/true
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
#we don't add the user again ... or should we check if it still exists?
declare -r local USER="webmin"
declare -r local GROUP="webmin"
update_permissions $USER $GROUP;
# arg 1: the old package version
pre_remove() {
/bin/true
# arg 1: the old package version
post_remove() {
rm -rf /var/log/webmin
rm -rf /var/run/webmin
declare -r local USER="webmin"
declare -r local GROUP="webmin"
#delete the webmin user. Mayeb to tricky? Somebody may be using it already
#userdel seems to delete the user and the group
echo -n "Deleting user $USER and group $GROUP: ";
if [[ 0 -eq `/usr/sbin/userdel $USER` ]]
then
echo " OK";
else
echo " FAILED";
fi
#echo -n "Deleting group $GROUP : ";
#if [[ 6 -eq `/usr/sbin/groupdel $GROUP` ]]
#then
# echo " OK";
# else
# echo " FAILED";
#fi
# arg 1: username
# arg 2: groupname
#would be better if we used the file-list that is in the package?
update_permissions() {
declare -r local USER=$1;
declare -r local GROUP=$2;
echo "Setting owner:group of webmin-files to $USER:$GROUP and setting permissions ...";
#change file- and directory-permissions
chown -R $USER:$GROUP /etc/webmin
chmod -R o= /etc/webmin
chown -R $USER:$GROUP /usr/share/webmin
chmod -R o= /usr/share/webmin
chown -R $USER:$GROUP /var/log/webmin
chmod u+s,g+s,o=,o+t /var/log/webmin
chown -R $USER:$GROUP /var/run/webmin
chmod u+s,g+s,o=,o+t /var/run/webmin
echo "Setting owner:group and permissions : DONE"
#the almighty bash :). You can use functions together with pipes :).
getFreeUid() {
echo "$(uidRangeFilter 1 1000 | sort -g | getFreeId 1 1000)";
getFreeGid() {
echo "$(gidRangeFilter 1 100 | sort -g | getFreeId 1 100)"
#give all existing uid's back within the range of $1-$2
uidRangeFilter() {
#going into restricted mode
set -r;
declare -ri local minId=$1;
declare -ri local maxId=$2;
if [[ $maxId -lt $minId ]]; then
echo "maximum rangebound is smaller than minimum rangebound.";
echo "command: ./uidRangeFilter minimumBound maximumBound"
exit 1;
fi
#should mayeb check on overflow. Surely since this is a critical file
#IFS = internal field separator/delimiter
IFS=:;
while read name passwd uid theRest; do
if [[ $uid -ge $minId ]] && [[ $uid -le $maxId ]]; then
echo "$uid";
fi;
done < /etc/passwd;
#give all existing gid's back within the range of $1-$2
gidRangeFilter() {
#going into restricted mode
set -r;
declare -ri local minId=$1;
declare -ri local maxId=$2;
if [[ $maxId -lt $minId ]]; then
echo "maximum rangebound is smaller than minimum rangebound.";
echo "command: ./gidRangeFilter minimumBound maximumBound"
exit 1;
fi
#should mayeb check on overflow. Surely since this is a critical file
#IFS = internal field separator/delimiter
IFS=:;
while read name passwd gid theRest; do
if [[ $gid -ge $minId ]] && [[ $gid -le $maxId ]]; then
echo "$gid";
fi;
done < /etc/group;
#find a freeId that is in the range of $1-$2 given that the input-stream contains already occupied id's, sorted from small to big.
getFreeId() {
#enter restricted mode
set -r;
declare -ri local minId=$1;
declare -ri local maxId=$2;
if [[ $maxId -lt $minId ]]; then
echo "maximum id is smaller than minimum id.";
echo "command: ./freeId minimumId maximumId"
exit 1;
fi;
declare -i local freeId=$minId;
#uid's are within the requested range and sorted from small to big
while read uid; do
#userId is occupied
if [[ $freeId -eq $uid ]]; then
let freeId+=1;
else
echo "$freeId";
return;
fi;
done
if [[ $maxId -ge $freeId ]]; then
echo "$freeId";
return;
fi;
#no free userId found
echo "";
return;
op=$1
shift
$op $*
setup.sh.patch:
--- setup.sh 2004-12-03 01:19:35.000000000 +0100
+++ setup-new.sh 2004-12-03 01:53:42.000000000 +0100
@@ -32,6 +32,22 @@
PERLLIB="$PERLLIB:$perllib"
fi
+declare -r local DESTDIR=$2;
+declare -r local config_dir=$3;
+#what is the purpose for var_dir?
+declare -r local var_dir=$4;
+#what is the influence of placing the log- and pid-files in another directory than var_dir?
+declare -r local os_type=$8;
+#leaned something new: from $9 paramters need to be surrounded by brackets!!
+declare -r local os_version=${9};
+declare -r local real_os_type=${10};
+declare -r local real_os_version=${11};
+declare -r local port=$5;
+declare -r local login=$6;
+declare -r local password=$7;
+declare -r local log_dir=${12};
+declare -r local pid_dir=${13};
+
echo "***********************************************************************"
echo "* Welcome to the Webmin setup script, version $ver *"
echo "***********************************************************************"
@@ -40,40 +56,40 @@
echo ""
# Only root can run this
-id | grep "uid=0(" >/dev/null
-if [ $? != "0" ]; then
- uname -a | grep -i CYGWIN >/dev/null
- if [ $? != "0" ]; then
- echo "ERROR: The Webmin install script must be run as root";
- echo "";
- exit 1;
- fi
-fi
+#id | grep "uid=0(" >/dev/null
+#if [ $? != "0" ]; then
+# uname -a | grep -i CYGWIN >/dev/null
+# if [ $? != "0" ]; then
+# echo "ERROR: The Webmin install script must be run as root";
+# echo "";
+# exit 1;
+# fi
+#fi
# Use the supplied destination directory, if any
if [ "$1" != "" ]; then
wadir=$1
- echo "Installing Webmin from $srcdir to $wadir ..."
- if [ ! -d "$wadir" ]; then
- mkdir "$wadir"
+ echo "Installing Webmin from $srcdir to $DESTDIR$wadir ..."
+ if [ ! -d "$DESTDIR$wadir" ]; then
+ mkdir -p "$DESTDIR$wadir"
if [ "$?" != "0" ]; then
- echo "ERROR: Failed to create $wadir"
+ echo "ERROR: Failed to create $DESTDIR$wadir"
echo ""
exit 1
fi
else
# Make sure dest dir is not in use
- ls "$wadir" | grep -v rpmsave >/dev/null 2>&1
- if [ "$?" = "0" -a ! -r "$wadir/setup.sh" ]; then
- echo "ERROR: Installation directory $wadir contains other files"
+ ls "$DESTDIR$wadir" | grep -v rpmsave >/dev/null 2>&1
+ if [ "$?" = "0" -a ! -r "$DESTDIR$wadir/setup.sh" ]; then
+ echo "ERROR: Installation directory $DESTDIR$wadir contains other files"
echo ""
exit 1
fi
fi
else
- echo "Installing Webmin in $wadir ..."
+ echo "Installing Webmin in $DESTDIR$wadir ..."
fi
-cd "$wadir"
+cd "$DESTDIR$wadir"
# Validate source directory
allmods=`cd "$srcdir"; echo */module.info | sed -e 's//module.info//g'`
@@ -108,16 +124,16 @@
echo ""
exit 2
fi
-if [ ! -d $config_dir ]; then
- mkdir $config_dir;
+if [ ! -d $DESTDIR$config_dir ]; then
+ mkdir -p $DESTDIR$config_dir;
if [ $? != 0 ]; then
- echo "ERROR: Failed to create directory $config_dir"
+ echo "ERROR: Failed to create directory $DESTDIR$config_dir"
echo ""
exit 2
fi
fi
-if [ -r "$config_dir/config" ]; then
- echo "Found existing Webmin configuration in $config_dir"
+if [ -r "$DESTDIR$config_dir/config" ]; then
+ echo "Found existing Webmin configuration in $DESTDIR$config_dir"
echo ""
upgrading=1
fi
@@ -197,9 +213,9 @@
rm -f $config_dir/module.infos.cache
else
# Config directory exists .. make sure it is not in use
- ls $config_dir | grep -v rpmsave >/dev/null 2>&1
+ ls $DESTDIR$config_dir | grep -v rpmsave >/dev/null 2>&1
if [ "$?" = "0" -a "$config_dir" != "/etc/webmin" ]; then
- echo "ERROR: Config directory $config_dir is not empty"
+ echo "ERROR: Config directory $DESTDIR$config_dir is not empty"
echo ""
exit 2
fi
@@ -223,14 +239,55 @@
exit ""
exit 3
fi
- if [ ! -d $var_dir ]; then
- mkdir $var_dir
+ if [ ! -d $DESTDIR$var_dir ]; then
+ mkdir -p $DESTDIR$var_dir
if [ $? != 0 ]; then
- echo "ERROR: Failed to create directory $var_dir"
+ echo "ERROR: Failed to create directory $DESTDIR$var_dir"
echo ""
exit 3
fi
fi
+
+ abspath=`echo $log_dir | grep "^/"`
+ if [ "$abspath" = "" ]; then
+ echo "Log-file-directory(log_dir) must be an absolute path"
+ echo ""
+ exit 3
+ fi
+ if [ "$log_dir" = "/" ]; then
+ echo "Log directory(log_dir) cannot be /"
+ echo ""
+ exit 3
+ fi
+ if [ ! -d $DESTDIR$log_dir ]; then
+ mkdir -p $DESTDIR$log_dir;
+ if [[ $? != 0 ]]; then
+ echo "ERROR: Failed to create directory $DESTDIR$log_dir"
+ echo ""
+ exit 3
+ fi
+ fi
+
+ abspath=`echo $pid_dir | grep "^/"`
+ if [ "$abspath" = "" ]; then
+ echo "Pid-file-directory(pid_dir) must be an absolute path"
+ echo ""
+ exit 3
+ fi
+ if [ "$pid_dir" = "/" ]; then
+ echo "Pid directory(pid_dir) cannot be /"
+ echo ""
+ exit 3
+ fi
+ if [ ! -d $DESTDIR$pid_dir ]; then
+ mkdir -p $DESTDIR$pid_dir;
+ if [[ $? != 0 ]]; then
+ echo "ERROR:Failed to create directory $DESTDIR$log_dir"
+ echo ""
+ exit 3
+ fi
+ fi
+
echo ""
# Ask where perl is installed
@@ -256,7 +313,7 @@
fi
else
printf "Full path to perl (default $perldef): "
- read perl
+# read perl
if [ "$perl" = "" ]; then
perl=$perldef
fi
@@ -386,6 +443,7 @@
echo ""
exit 14
fi
+
printf "Login password: "
if [ "$password" = "" -a "$crypt" = "" ]; then
stty -echo
@@ -425,82 +483,84 @@
fi
# Ask whether to run at boot time
- if [ "$atboot" = "" ]; then
- initsupp=`grep "^os_support=" "$srcdir/init/module.info" | sed -e 's/os_support=//g' | grep $os_type`
- atboot=0
- if [ "$initsupp" != "" ]; then
- printf "Start Webmin at boot time (y/n): "
- read atbootyn
- if [ "$atbootyn" = "y" -o "$atbootyn" = "Y" ]; then
- atboot=1
- fi
- else
- echo "Webmin does not support being started at boot time on your system."
- fi
- fi
+ #if [ "$atboot" = "" ]; then
+ # initsupp=`grep "^os_support=" "$srcdir/init/module.info" | sed -e 's/os_support=//g' | grep $os_type`
+ # atboot=0
+ # if [ "$initsupp" != "" ]; then
+ # printf "Start Webmin at boot time (y/n): "
+ # read atbootyn
+ # if [ "$atbootyn" = "y" -o "$atbootyn" = "Y" ]; then
+ # atboot=1
+ # fi
+ # else
+ # echo "Webmin does not support being started at boot time on your system."
+ # fi
+ #fi
+ #user has to decide this for him/herself
+ atboot=0
makeboot=$atboot
# Copy files to target directory
echo "***********************************************************************"
- if [ "$wadir" != "$srcdir" ]; then
- echo "Copying files to $wadir .."
- (cd "$srcdir" ; tar cf - . | (cd "$wadir" ; tar xf -))
+ if [ "$DESTDIR$wadir" != "$srcdir" ]; then
+ echo "Copying files to $DESTDIR$wadir .."
+ (cd "$srcdir" ; tar cf - . | (cd "$DESTDIR$wadir" ; tar xf -))
echo "..done"
echo ""
fi
# Create webserver config file
- echo $perl > $config_dir/perl-path
- echo $var_dir > $config_dir/var-path
+ echo $perl > $DESTDIR$config_dir/perl-path
+ echo $var_dir > $DESTDIR$config_dir/var-path
echo "Creating web server config files.."
cfile=$config_dir/miniserv.conf
- echo "port=$port" >> $cfile
- echo "root=$wadir" >> $cfile
- echo "mimetypes=$wadir/mime.types" >> $cfile
- echo "addtype_cgi=internal/cgi" >> $cfile
- echo "realm=Webmin Server" >> $cfile
- echo "logfile=$var_dir/miniserv.log" >> $cfile
- echo "errorlog=$var_dir/miniserv.error" >> $cfile
- echo "pidfile=$var_dir/miniserv.pid" >> $cfile
- echo "logtime=168" >> $cfile
- echo "ppath=$ppath" >> $cfile
- echo "ssl=$ssl" >> $cfile
- echo "env_WEBMIN_CONFIG=$config_dir" >> $cfile
- echo "env_WEBMIN_VAR=$var_dir" >> $cfile
- echo "atboot=$atboot" >> $cfile
- echo "logout=$config_dir/logout-flag" >> $cfile
- echo "listen=10000" >> $cfile
- echo "denyfile=\.pl$" >> $cfile
- echo "log=1" >> $cfile
- echo "blockhost_failures=5" >> $cfile
- echo "blockhost_time=60" >> $cfile
- echo "syslog=1" >> $cfile
+ echo "port=$port" >> $DESTDIR$cfile
+ echo "root=$wadir" >> $DESTDIR$cfile
+ echo "mimetypes=$wadir/mime.types" >> $DESTDIR$cfile
+ echo "addtype_cgi=internal/cgi" >> $DESTDIR$cfile
+ echo "realm=Webmin Server" >> $DESTDIR$cfile
+ echo "logfile=$log_dir/miniserv.log" >> $DESTDIR$cfile
+ echo "errorlog=$log_dir/miniserv.error" >> $DESTDIR$cfile
+ echo "pidfile=$pid_dir/miniserv.pid" >> $DESTDIR$cfile
+ echo "logtime=168" >> $DESTDIR$cfile
+ echo "ppath=$ppath" >> $DESTDIR$cfile
+ echo "ssl=$ssl" >> $DESTDIR$cfile
+ echo "env_WEBMIN_CONFIG=$config_dir" >> $DESTDIR$cfile
+ echo "env_WEBMIN_VAR=$var_dir" >> $DESTDIR$cfile
+ echo "atboot=$atboot" >> $DESTDIR$cfile
+ echo "logout=$config_dir/logout-flag" >> $DESTDIR$cfile
+ echo "listen=10000" >> $DESTDIR$cfile
+ echo "denyfile=\.pl$" >> $DESTDIR$cfile
+ echo "log=1" >> $DESTDIR$cfile
+ echo "blockhost_failures=5" >> $DESTDIR$cfile
+ echo "blockhost_time=60" >> $DESTDIR$cfile
+ echo "syslog=1" >> $DESTDIR$cfile
if [ "$allow" != "" ]; then
- echo "allow=$allow" >> $cfile
+ echo "allow=$allow" >> $DESTDIR$cfile
fi
if [ "$session" != "" ]; then
- echo "session=$session" >> $cfile
+ echo "session=$session" >> $DESTDIR$cfile
else
- echo "session=1" >> $cfile
+ echo "session=1" >> $DESTDIR$cfile
fi
if [ "$pam" != "" ]; then
- echo "pam=$pam" >> $cfile
+ echo "pam=$pam" >> $DESTDIR$cfile
fi
md5pass=`$perl -e 'print crypt("test", "\$1\$A9wB3O18\$zaZgqrEmb9VNltWTL454R/") eq "\$1\$A9wB3O18\$zaZgqrEmb9VNltWTL454R/" ? "1n" : "0n"'`
ufile=$config_dir/miniserv.users
if [ "$crypt" != "" ]; then
- echo "$login:$crypt:0" > $ufile
+ echo "$login:$crypt:0" > $DESTDIR$ufile
else
if [ "$md5pass" = "1" ]; then
- $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "$1$XXXXXXXX"),":0n"' "$login" "$password" > $ufile
+ $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "$1$XXXXXXXX"),":0n"' "$login" "$password" > $DESTDIR$ufile
else
- $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "XX"),":0n"' "$login" "$password" > $ufile
+ $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "XX"),":0n"' "$login" "$password" > $DESTDIR$ufile
fi
fi
- chmod 600 $ufile
- echo "userfile=$ufile" >> $cfile
+ chmod 600 $DESTDIR$ufile
+ echo "userfile=$ufile" >> $DESTDIR$cfile
kfile=$config_dir/miniserv.pem
openssl version >/dev/null 2>&1
@@ -517,74 +577,74 @@
root@$host
EOF
if [ "$?" = "0" ]; then
- cat $tempdir/cert $tempdir/key >$kfile
+ cat $tempdir/cert $tempdir/key >$DESTDIR$kfile
fi
rm -f $tempdir/cert $tempdir/key
fi
if [ ! -r $kfile ]; then
# Fall back to the built-in key
- cp "$wadir/miniserv.pem" $kfile
+ cp "$DESTDIR$wadir/miniserv.pem" $DESTDIR$kfile
fi
- chmod 600 $kfile
- echo "keyfile=$config_dir/miniserv.pem" >> $cfile
+ chmod 600 $DESTDIR$kfile
+ echo "keyfile=$config_dir/miniserv.pem" >> $DESTDIR$cfile
- chmod 600 $cfile
+ chmod 600 $DESTDIR$cfile
echo "..done"
echo ""
echo "Creating access control file.."
afile=$config_dir/webmin.acl
- rm -f $afile
+ rm -f $DESTDIR$afile
if [ "$defaultmods" = "" ]; then
- echo "$login: $allmods" >> $afile
+ echo "$login: $allmods" >> $DESTDIR$afile
else
- echo "$login: $defaultmods" >> $afile
+ echo "$login: $defaultmods" >> $DESTDIR$afile
fi
- chmod 600 $afile
+ chmod 600 $DESTDIR$afile
echo "..done"
echo ""
if [ "$login" != "root" -a "$login" != "admin" ]; then
# Allow use of RPC by this user
- echo rpc=1 >>$config_dir/$login.acl
+ echo rpc=1 >>$DESTDIR$config_dir/$login.acl
fi
fi
if [ "$noperlpath" = "" ]; then
echo "Inserting path to perl into scripts.."
- (find "$wadir" -name '*.cgi' -print ; find "$wadir" -name '*.pl' -print) | $perl "$wadir/perlpath.pl" $perl -
+ (find "$DESTDIR$wadir" -name '*.cgi' -print ; find "$DESTDIR$wadir" -name '*.pl' -print) | $perl "$DESTDIR$wadir/perlpath.pl" $perl -
echo "..done"
echo ""
fi
echo "Creating start and stop scripts.."
-rm -f $config_dir/stop $config_dir/start $config_dir/restart
-echo "#!/bin/sh" >>$config_dir/start
-echo "echo Starting Webmin server in $wadir" >>$config_dir/start
-echo "trap '' 1" >>$config_dir/start
-echo "LANG=" >>$config_dir/start
-echo "export LANG" >>$config_dir/start
-echo "#PERLIO=:raw" >>$config_dir/start
-echo "unset PERLIO" >>$config_dir/start
-echo "export PERLIO" >>$config_dir/start
-echo "PERLLIB=$PERLLIB" >>$config_dir/start
-echo "export PERLLIB" >>$config_dir/start
+rm -f $DESTDIR$config_dir/stop $DESTDIR$config_dir/start $DESTDIR$config_dir/restart
+echo "#!/bin/sh" >>$DESTDIR$config_dir/start
+echo "echo Starting Webmin server in $wadir" >>$DESTDIR$config_dir/start
+echo "trap '' 1" >>$DESTDIR$config_dir/start
+echo "LANG=" >>$DESTDIR$config_dir/start
+echo "export LANG" >>$DESTDIR$config_dir/start
+echo "#PERLIO=:raw" >>$DESTDIR$config_dir/start
+echo "unset PERLIO" >>$DESTDIR$config_dir/start
+echo "export PERLIO" >>$DESTDIR$config_dir/start
+echo "PERLLIB=$PERLLIB" >>$DESTDIR$config_dir/start
+echo "export PERLLIB" >>$DESTDIR$config_dir/start
uname -a | grep -i 'HP/*UX' >/dev/null
if [ $? = "0" ]; then
- echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf &" >>$config_dir/start
+ echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf &" >>$DESTDIR$config_dir/start
else
- echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf" >>$config_dir/start
+ echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf" >>$DESTDIR$config_dir/start
fi
-echo "#!/bin/sh" >>$config_dir/stop
-echo "echo Stopping Webmin server in $wadir" >>$config_dir/stop
-echo "pidfile=`grep "^pidfile=" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'`" >>$config_dir/stop
-echo "kill `cat $pidfile`" >>$config_dir/stop
+echo "#!/bin/sh" >>$DESTDIR$config_dir/stop
+echo "echo Stopping Webmin server in $wadir" >>$DESTDIR$config_dir/stop
+echo "pidfile=`grep "^pidfile=" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'`" >>$DESTDIR$config_dir/stop
+echo "kill `cat $pidfile`" >>$DESTDIR$config_dir/stop
-echo "#!/bin/sh" >>$config_dir/restart
-echo "$config_dir/stop && $config_dir/start" >>$config_dir/restart
+echo "#!/bin/sh" >>$DESTDIR$config_dir/restart
+echo "$config_dir/stop && $config_dir/start" >>$DESTDIR$config_dir/restart
-chmod 755 $config_dir/start $config_dir/stop
+chmod 755 $DESTDIR$config_dir/start $DESTDIR$config_dir/stop
echo "..done"
echo ""
@@ -593,13 +653,13 @@
else
echo "Copying config files.."
fi
-$perl "$wadir/copyconfig.pl" "$os_type" "$os_version" "$wadir" $config_dir "" $allmods
+$perl "$DESTDIR$wadir/copyconfig.pl" "$os_type" "$os_version" "$wadir" $config_dir "$DESTDIR" "" $allmods
if [ "$upgrading" != 1 ]; then
# Store the OS and version
- echo "os_type=$os_type" >> $config_dir/config
- echo "os_version=$os_version" >> $config_dir/config
- echo "real_os_type=$real_os_type" >> $config_dir/config
- echo "real_os_version=$real_os_version" >> $config_dir/config
+ echo "os_type=$os_type" >> $DESTDIR$config_dir/config
+ echo "os_version=$os_version" >> $DESTDIR$config_dir/config
+ echo "real_os_type=$real_os_type" >> $DESTDIR$config_dir/config
+ echo "real_os_version=$real_os_version" >> $DESTDIR$config_dir/config
if [ -r /etc/system.cnf ]; then
# Found a caldera system config file .. get the language
source /etc/system.cnf
@@ -608,61 +668,62 @@
elif [ "$CONF_LST_LANG" = "uk" ]; then
CONF_LST_LANG=en
fi
- grep "lang=$CONF_LST_LANG," "$wadir/lang_list.txt" >/dev/null 2>&1
+ grep "lang=$CONF_LST_LANG," "$DESTDIR$wadir/lang_list.txt" >/dev/null 2>&1
if [ "$?" = 0 ]; then
- echo "lang=$CONF_LST_LANG" >> $config_dir/config
+ echo "lang=$CONF_LST_LANG" >> $DESTDIR$config_dir/config
fi
fi
# Turn on logging by default
- echo "log=1" >> $config_dir/config
+ echo "log=1" >> $DESTDIR$config_dir/config
else
# one-off hack to set log variable in config from miniserv.conf
- grep log= $config_dir/config >/dev/null
+ grep log= $DESTDIR$config_dir/config >/dev/null
if [ "$?" = "1" ]; then
- grep log= $config_dir/miniserv.conf >> $config_dir/config
- grep logtime= $config_dir/miniserv.conf >> $config_dir/config
- grep logclear= $config_dir/miniserv.conf >> $config_dir/config
+ grep log= $DESTDIR$config_dir/miniserv.conf >> $DESTDIR$config_dir/config
+ grep logtime= $DESTDIR$config_dir/miniserv.conf >> $DESTDIR$config_dir/config
+ grep logclear= $DESTDIR$config_dir/miniserv.conf >> $DESTDIR$config_dir/config
fi
fi
-echo $ver > $config_dir/version
+echo $ver > $DESTDIR$config_dir/version
echo "..done"
echo ""
# Set passwd_ fields in miniserv.conf from global config
for field in passwd_file passwd_uindex passwd_pindex passwd_cindex passwd_mindex; do
- grep $field= $config_dir/miniserv.conf >/dev/null
+ grep $field= $DESTDIR$config_dir/miniserv.conf >/dev/null
if [ "$?" != "0" ]; then
- grep $field= $config_dir/config >> $config_dir/miniserv.conf
+ grep $field= $DESTDIR$config_dir/config >> $DESTDIR$config_dir/miniserv.conf
fi
done
-grep passwd_mode= $config_dir/miniserv.conf >/dev/null
+grep passwd_mode= $DESTDIR$config_dir/miniserv.conf >/dev/null
if [ "$?" != "0" ]; then
- echo passwd_mode=0 >> $config_dir/miniserv.conf
+ echo passwd_mode=0 >> $DESTDIR$config_dir/miniserv.conf
fi
# If Perl crypt supports MD5, then make it the default
if [ "$md5pass" = "1" ]; then
- echo md5pass=1 >> $config_dir/config
+ echo md5pass=1 >> $DESTDIR$config_dir/config
fi
# Set a special theme if none was set before
if [ "$theme" = "" ]; then
- theme=`cat "$wadir/defaulttheme" 2>/dev/null`
+ theme=`cat "$DESTDIR$wadir/defaulttheme" 2>/dev/null`
fi
-oldthemeline=`grep "^theme=" $config_dir/config`
+oldthemeline=`grep "^theme=" $DESTDIR$config_dir/config`
oldtheme=`echo $oldthemeline | sed -e 's/theme=//g'`
-if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$wadir/$theme" ]; then
- echo "theme=$theme" >> $config_dir/config
- echo "preroot=$theme" >> $config_dir/miniserv.conf
+if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$DESTDIR$wadir/$theme" ]; then
+ echo "theme=$theme" >> $DESTDIR$config_dir/config
+ echo "preroot=$theme" >> $DESTDIR$config_dir/miniserv.conf
fi
# Set the product field in the global config
-grep product= $config_dir/config >/dev/null
+grep product= $DESTDIR$config_dir/config >/dev/null
if [ "$?" != "0" ]; then
- echo product=webmin >> $config_dir/config
+ echo product=webmin >> $DESTDIR$config_dir/config
fi
+#I disbled makeboot. If enabled, then $DESTIDIR needs tp be added to this section
if [ "$makeboot" = "1" ]; then
echo "Configuring Webmin to start at boot time.."
(cd "$wadir/init" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/init/atboot.pl")
@@ -671,8 +732,8 @@
fi
if [ "$nouninstall" = "" ]; then
- echo "Creating uninstall script $config_dir/uninstall.sh .."
- cat >$config_dir/uninstall.sh <<EOF
+ echo "Creating uninstall script $DESTDIR$config_dir/uninstall.sh .."
+ cat >$DESTDIR$config_dir/uninstall.sh <<EOF
#!/bin/sh
printf "Are you sure you want to uninstall Webmin? (y/n) : "
read answer
@@ -688,89 +749,91 @@
echo "Done!"
fi
EOF
- chmod +x $config_dir/uninstall.sh
+ chmod +x $DESTDIR$config_dir/uninstall.sh
echo "..done"
echo ""
fi
echo "Changing ownership and permissions .."
-chown -R root $config_dir
-chgrp -R bin $config_dir
-chmod -R og-rw $config_dir
-chmod 755 $config_dir/{sendmail,qmailadmin,postfix}*/config >/dev/null 2>&1
-chmod 755 $config_dir/{sendmail,qmailadmin,postfix}*/autoreply.pl >/dev/null 2>&1
-chmod 755 $config_dir/{sendmail,qmailadmin,postfix}*/filter.pl >/dev/null 2>&1
-chmod 755 $config_dir/squid*/squid-auth.pl >/dev/null 2>&1
-chmod 755 $config_dir/squid*/users >/dev/null 2>&1
-chmod +r $config_dir/version
+chown -R root $DESTDIR$config_dir
+chgrp -R bin $DESTDIR$config_dir
+chmod -R og-rw $DESTDIR$config_dir
+chmod 755 $DESTDIR$config_dir/{sendmail,qmailadmin,postfix}*/config >/dev/null 2>&1
+chmod 755 $DESTDIR$config_dir/{sendmail,qmailadmin,postfix}*/autoreply.pl >/dev/null 2>&1
+chmod 755 $DESTDIR$config_dir/{sendmail,qmailadmin,postfix}*/filter.pl >/dev/null 2>&1
+chmod 755 $DESTDIR$config_dir/squid*/squid-auth.pl >/dev/null 2>&1
+chmod 755 $DESTDIR$config_dir/squid*/users >/dev/null 2>&1
+chmod +r $DESTDIR$config_dir/version
if [ "$nochown" = "" ]; then
- chown -R root "$wadir"
- chgrp -R bin "$wadir"
- chmod -R og-w "$wadir"
- chmod -R a+rx "$wadir"
-fi
-if [ $var_dir != "/var" ]; then
- chown -R root $var_dir
- chgrp -R bin $var_dir
- chmod -R og-rwx $var_dir
+ chown -R root "$DESTDIR$wadir"
+ chgrp -R bin "$DESTDIR$wadir"
+ chmod -R og-w "$DESTDIR$wadir"
+ chmod -R a+rx "$DESTDIR$wadir"
+fi
+if [ $DESTDIR$var_dir != "/var" ]; then
+ chown -R root $DESTDIR$var_dir
+ chgrp -R bin $DESTDIR$var_dir
+ chmod -R og-rwx $DESTDIR$var_dir
fi
echo "..done"
echo ""
# Save target directory if one was specified
-if [ "$wadir" != "$srcdir" ]; then
- echo $wadir >$config_dir/install-dir
+if [ "$DESTDIR$wadir" != "$srcdir" ]; then
+ echo $wadir >$DESTDIR$config_dir/install-dir
else
- rm -f $config_dir/install-dir
+ rm -f $DESTDIR$config_dir/install-dir
fi
-if [ "$nopostinstall" = "" ]; then
- echo "Running postinstall scripts .."
- (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/run-postinstalls.pl")
- echo "..done"
- echo ""
-fi
+#This is not for now ... this is for in the install-script
+#if [ "$nopostinstall" = "" ]; then
+# echo "Running postinstall scripts .."
+# (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/run-postinstalls.pl")
+# echo "..done"
+# echo ""
+#fi
# Run package-defined post-install script
-if [ -r "$srcdir/setup-post.sh" ]; then
- . "$srcdir/setup-post.sh"
-fi
-if [ "$nostart" = "" ]; then
- if [ "$inetd" != "1" ]; then
- echo "Attempting to start Webmin mini web server.."
- $config_dir/start
- if [ $? != "0" ]; then
- echo "ERROR: Failed to start web server!"
- echo ""
- exit 14
- fi
- echo "..done"
- echo ""
- fi
- echo "***********************************************************************"
- echo "Webmin has been installed and started successfully. Use your web"
- echo "browser to go to"
- echo ""
- host=`hostname`
- if [ "$ssl" = "1" ]; then
- echo " https://$host:$port/"
- else
- echo " http://$host:$port/"
- fi
- echo ""
- echo "and login with the name and password you entered previously."
- echo ""
- if [ "$ssl" = "1" ]; then
- echo "Because Webmin uses SSL for encryption only, the certificate"
- echo "it uses is not signed by one of the recognized CAs such as"
- echo "Verisign. When you first connect to the Webmin server, your"
- echo "browser will ask you if you want to accept the certificate"
- echo "presented, as it does not recognize the CA. Say yes."
- echo ""
- fi
-fi
+#if [ -r "$srcdir/setup-post.sh" ]; then
+# . "$srcdir/setup-post.sh"
+#fi
+
+#don't start the webserver
+#if [ "$nostart" = "" ]; then
+# if [ "$inetd" != "1" ]; then
+# echo "Attempting to start Webmin mini web server.."
+# $config_dir/start
+# if [ $? != "0" ]; then
+# echo "ERROR: Failed to start web server!"
+# echo ""
+# exit 14
+# fi
+# echo "..done"
+# echo ""
+# fi
+
+# echo "***********************************************************************"
+# echo "Webmin has been installed and started successfully. Use your web"
+# echo "browser to go to"
+# echo ""
+# host=`hostname`
+# if [ "$ssl" = "1" ]; then
+# echo " https://$host:$port/"
+# else
+# echo " http://$host:$port/"
+# fi
+# echo ""
+# echo "and login with the name and password you entered previously."
+# echo ""
+# if [ "$ssl" = "1" ]; then
+# echo "Because Webmin uses SSL for encryption only, the certificate"
+# echo "it uses is not signed by one of the recognized CAs such as"
+# echo "Verisign. When you first connect to the Webmin server, your"
+# echo "browser will ask you if you want to accept the certificate"
+# echo "presented, as it does not recognize the CA. Say yes."
+# echo ""
+# fi
+#fi
if [ "$oldwadir" != "$wadir" -a "$upgrading" = 1 -a "$deletedold" != 1 ]; then
echo "The directory from the previous version of Webmin"
copyconfig.pl.patch:
--- copyconfig.pl 2004-12-02 23:17:37.000000000 +0100
+++ copyconfig-new.pl 2004-12-03 01:00:26.000000000 +0100
@@ -9,12 +9,13 @@
$ver = $ARGV[1];
$wadir = $ARGV[2];
$confdir = $ARGV[3];
+$DESTDIR = $ARGV[4];
# Find all clones
-opendir(DIR, $wadir);
+opendir(DIR, $DESTDIR.$wadir);
foreach $f (readdir(DIR)) {
- if (readlink("$wadir/$f")) {
- @st = stat("$wadir/$f");
+ if (readlink("$DESTDIR.$wadir/$f")) {
+ @st = stat("$DESTDIR.$wadir/$f");
push(@{$clone{$st[1]}}, $f);
@@ -24,7 +25,7 @@
@mods = @ARGV[4..$#ARGV];
foreach $m (@mods) {
# Find any range-number config files
- $srcdir = "$wadir/$m";
+ $srcdir = "$DESTDIR.$wadir/$m";
$rangefile = undef;
opendir(DIR, $srcdir);
while($f = readdir(DIR)) {

Goto settings general usage there u will see your apps and under documents &amp;data u will see wot each app uses, the only way to get rid of it is by deleting the app and reinstalling this will free up space..

Similar Messages

  • May Release: New partner support, Infrastructure updates, Site templates and bug fixes

    Link: http://www.businesscatalyst.com/_blog/BC_Blog/post/May-release-New-partner-support-Infrast ructure-updates-Site-templates-and_bug-fixes/
    We are announcing a new Business Catalyst release, scheduled to go live on Thursday, May 3rd. With this release, we are continuing our investments in system performance and stability by increasing our web servers capacity, enabling HTTP acceleration to provide faster site loading times, and improving the site creation speed by using pre-generated sites.
    On the product side, we have completely revamped our partner support workflow taking advantage of the Adobe support infrastructure and tools, enhanced the site templates workflow for partners, and included lots of bug fixes and improvements. Read through the following sections to get detailed information about this release:
    Partner support
    Infrastructure updates
    Features and enhancements
    Issues fixed by this release
    What's next
    You can jump to the corresponding section by clicking the above links.
    Partner support
    Updated Help & Support partner experience
    Following Adobe ID support, we have upgraded BC  support tools (cases, chat, documentation) with standard Adobe tools. As a partner, you can now benefit from the same support tools as the rest of Adobe Creative Suite, and can track your support cases with Adobe BC, Dreamweaver, Muse or Photoshop in a single place.
    Partners with more than 100 paid sites will get 2nd level chat support, which includes a higher priority, by default. If you have more than 100 paid sites, but spread across different Partner Portals, please ask support to enable 2nd level chat for you.
    Support experience for your Small Business owner clients can now be owned by partners (see below).
    Custom Help & Support URL for your clients
    As a partner, you are probably already offering various additional services to your clients besides building & maintaining their BC site. Support, tailored specifically to your client needs, is usually one of these value-added services. We are now enabling you to take your Support service to the next level. In  Partner Portal Settings, you have the option to set a custom URL for what will open when your client clicks on Help & Support inside Admin Console:
    If you have multiple partner accounts, for different verticals, you can specify a Support URL for each of these.
    The default Support experience provided by BC for your clients will be updated in a few releases to be similar to the partner support experience. This includes BC-branded support cases and documentation. If you'd like to keep a white-label experience for your customers, please set your own Help & Support URL in Partner Portal.
    For more details please read the Improved support workflow and new forums announcement on our blog.
    Infrastructure updates
    Between our April release and the following infrastructure updates have been enabled
    Limited trial sites for free partners – starting with our May release, the number of trial sites a Free Partner can have will be limited to 100. Once the limit is reached, Free Partners that need to create a new trial site have the options to upgrade to a higher partner plan, upgrade some of the trial sites to paid or delete unused/expired trials.
    Automatic trial expiry extension - with this release, trial site expiry date will be automatically extended with 30 days every time an admin user logs in  the system through the admin interface or through FTP.
    Installed additional hardware - we have installed additional web servers on all our data centers, that translate into an increase of the existing capacity with over 70%.
    Updated DNS infrastructure - we have improved the DNS resolution for email delivery so that we can increase the rate at which we're sending the system operational emails
    HTTP acceleration – all sites static assets are served from a new cache engine (images, CSS and JavaScript files, together with improved headers that should allow the browser to cache them better for a browsing session). This update has been turned on along with our April release, and has made all the BC sites load faster on first and on subsequent loads.   
    Accelerated site/partner creation – we've changed the way new sites are created for faster speed, pre-creating them and reusing pre-created sites when needed, and have also improved the creation process for new partners, minimizing the impact of new CCM customers on the existing datacenters.
    Adobe ID for partners - in order to support an integrating experience between the various Adobe tools a partner may use (Dreamweaver, Muse, Support forums) we have added Adobe ID support for Business Catalyst partner accounts. Starting April 19, partners are asked to merge their current Business Catalyst account with their Adobe ID accounts. For more details about the transition process and FAQ please read the Introducing Adobe ID blog post.
    Updated Terms of Use - Along with several other changes in our processes in the past few months, we also revamped our Terms of Use and the signature process by requesting every admin user to sign a TOU. We have completed the rollout for partners, and we might be pushing an updated partner Terms of Use version within the following weeks. For more details and questions about this change, read the New Terms of Use for Business Catalyst blog post.
    Features and enhancements
    Site templates
    To support the increasing number of partners building, sharing or reusing  templates to create  new sites, we're extending our site templates support from our partner portal with a new template type and improved  management support. The update is going to enable partners to mark sites as templates and   choose between making them available in Online Business Builder and keeping them private in their partner portal. A template site will not expire and has the same limits as any other trial site.
    Based on your partner level, you can create private or public templates using the Site Details screen or the Tools>My Site Template section from your Partner Portal. Standard partners can only create private templates, while Free Partners can only view site templates that have been transferred to their accounts by other partners.
    The number of templates a partner will have will be limited and will vary based on partner level: free partners can store up to 5 templates in their partner portal, standard partners have up to 100 site templates while Premium Partners might have up to 200 templates. Paid sites marked as templates are not counted against these limits.
    Business Catalyst Partner fixes
    While we are really focused on making the Business Catalyst integration into Creative Cloud a smashing success, we are slowly resuming our efforts to deliver fixes that have been requested by our partners. This release includes the following partner fixes:
    Improved product custom fields - we have increased the maximum number of characters for product custom fields to 1024 (previous limit was 256); this gives partners and customers additional space to use when working with products
    Improved Secure Zone subscribers list - we have added the customer email address in the Secure Zone Subscribers list to enable partners better filter and manage customers
    Better experience when exporting data - to prevent customer confusion when exporting data from Mac computers, we have removed the export to excel option and exporting in CSV format by default.
    Social plugins integration updates
    Starting with our May release, we are updating the social plugins support to require users to get the plugin code from the third party provider and saving into his Business Catalyst website. The module tags and configuration will remain unchanged, but will render an empty tag until the partner or site owner will  update the module template to include the corresponding module code snippet from the third party platform provider.
    For more information about how you can enable the Social Plugins on a Business Catalyst websites, read the Social Media: Integrating Facebook and Twitter knowledge base article.
    Other changes
    Updated weekly emails - Starting with our May release, the information in the site weekly emails has been filtered based on the site's plan. For example, webBasics site reports will no longer include the sales report.
    Localization - we improved and increased the coverage of the admin interface translations into German, French and Japanese
    Site Settings -> Ignored IP addresses has been relocated under Reports -> Visitors -> More.
    BC-Dreamweaver integration performance improvements
    Development Dashboard has been removed, as it didn't provide a clear useful, ongoing benefit. The information present in the development dashboard has been integrated into our new Help & Support section.
    Payment gateway settings - for more privacy and data protection, we have updated the Payment Gateway configuration screens to obfuscate the sensitive login information. Fields that have been obfuscated are now requiring confirmation.
    Report abuse badge on trial sites - for compliance reasons, a "Report Abuse" link has been added to the front-end of all trial sites of free partners that don't have any paid sites. When they click the Report Abuse link, site visitors are redirected to a form submission page on businesscatalyst.com site.
    Issues fixed by May release
    Issues 3051303, 3168786 - Workflow notifications - Fixed a problem preventing workflow notifications emails from being sent.(see get satisfaction forum discussion)
    Issue 3164074 - Fixed a bug causing the lightbox gallery created from Muse to be displayed behind page elements
    Issue 3162810 - Fixed a bug in rendering engine to prevent  content placed between body and head tags being incorrectly moved inside the body tag
    Issue 3166610 - Fixed a broken link to Partner Portal in Internet Explorer
    Issue 3175003 - Fixed an issue that caused an incorrect price display for the Year One-Off Setup Fee when upgrading a site from Admin using CB
    Issue 2567278 - Fixed a bug causing site replication to ignore product attributes
    Issue 2947989 - CRM passwords are now case sensitive
    Issue 2723731 - Removed CSS files from the head section of the Layouts files, when downloaded and opened in Dreamweaver, via the BC extension
    Business Catalyst new admin interface updates
    Added "Save and Add New" button in Web App Item Add & Edit screens (see get satisfaction forum discussion)
    Updated Quick Actions menus to add more actions (see get satisfaction forum discussion)
    Fixed an issue causing Recent items menu to display deleted items (see get satisfaction forum discussion)
    Fixed a display issue on File Manager making top buttons unreachable (see get satisfaction forum discussion)
    Fixed the scrollbars in Email Marketing>Campaign>Stats>Bounced Emails reports (see get satisfaction forum discussion)
    Fixed an issue causing Recent items menu to brake after selecting the current page from the Recent Items menu (see get satisfaction forum discussion)
    Replaced the Success notification displayed when selecting Users or Permissions tabs from User Roles with an Warning
    Change the action label displayed in User Roles list from View to Edit to match the list pattern from Admin Users
    Fixed a missing file JavaScript error occurring when trying to open image manager from product details-> Attributes -> options
    Moved System Emails section from Site Setting to Site Manager (see get satisfaction forum discussion)
    Updated Domain Management interfaces to close the modal window and refresh the domain list after successfully adding a domain
    Fixed an issue preventing the Hyperlink Manager to function properly (see get satisfaction forum discussion)
    Updated the confirmation message received after copying a page to match the new workflow and button names
    Fixed an issue causing the current screen or section to not be highlighted in the menu
    Updated styling on the new dashboard, user management and email accounts interfaces
    Updated  dashboard reports filters and chart display; made the chart and the filter use the site time zone
    Fixed an issue preventing users from inviting new admin users or create new email accounts on Internet Explorer 8
    Fixed an issue preventing users from deleting Email Accounts or Admin Users in Internet Explorer 8
    Fixed some issues preventing password recovery email from being sent
    Removed the alert message displayed when the user or email account limit has been reached
    Added localization for the simplified dashboard
    Fixed display issues for site limits, domains and user list in the simplified dashboard
    Added Custom reports for webBasics plan
    Fixed a bug generating a "500:Collection error" on the simplified dashboard when user did not had View users permission
    Added TOU checkbox in the email account setup screen
    Updated Site Preview link in the dashboard to load the default domain
    Fixed an issue in the new File Manager forcing a user to press Undo twice in order to see the change take effect if the code that was previously formatted contained any <"tag" with more than 2 lines
    Fixed an issue causing the File Manager editor toolbar to incorrectly render if page URL path is longer than certain value; starting with this release, the site URL is trimmed
    Fixed an issue causing the invite users to be displayed as [object Object] in dashboard and admin user list
    Fixed a bug in the new admin causing the interface to become unresponsive when using the browser Back button
    Fixed an issue in the new File Manager causing "Save Draft" button to publish the default page template instead of creating a draft version
    Fixed a broken invite link issue in the Email Account invite email
    Updated loading indicators in File Manager and Email Accounts screens
    What's next
    The first item on the what's next list might not be news for many of you, but it's definitely one of the most important milestones this year. The Creative Cloud launch is just around the corner, and Business Catalyst is playing an important role in that, as the publishing platform for Adobe® Muse and Dreamweaver. This launch will capture all our attention within the next weeks as we want it to be our best ever. 
    We'll start our next development cycle on May 15th, while the next Business Catalyst release is going to be pushed live in mid June. That being said, the following items are already on our launch plan for the next release and a few more will join the list. Please expect an update on our 2012 plans around mid May.
    HTTP throttling – all page load and API calls to BC will be protected against attacks, this might trigger problems for API heavy sites. We are looking into enabling this update along with our June release, and will help make sure that a reasonable number of requests will be accepted from the same computer per minute.
    Automatic site deletion - Starting with the June release, we are going to start automatically delete expired trial sites and canceled sites. Customers will be notified twice before we are going to proceed with deleting the sites.
    Thank you,
    Cristinel Anastasoaie
    Adobe Business Catalyst Product Manager

    In reference to this change in the Custom Reports... Better experience when exporting data - to prevent customer confusion when exporting data from Mac computers, we have removed the export to excel option and exporting in CSV format by default.
    What is the customer confusion we are trying to stop here? I've got even more confused customers at the moment because all of a sudden they can't find the export to excel option but know it exists if they log in on a PC?
    Mark

  • Transferred library from old PC to new, lost all files dl'd from ITunes

    Transferred music files from old pc to new with minimal difficulty, but have now realized all songs downloaded to my library from ITunes have failed to make the trip!
    I used the Ipod itself to transfer the files, as I couldn't figure out how to get the 2 pc's to transfer files via a wireless connection. Now my 60gb Ipod which had ~5800 songs using ~22gb its memory states it has 5275 songs on it and only 15.7gb available. Where did I manage to screw this up?
    I imagine there is a problem where this new computer has not been authorized. True? When I first download some new songs from Itunes, will it then be authorized and my songs will reappear? Why is the amount of memory affected?
    Thanks mucho for any available help. I have searched for quite a while, but haven't been able to find someone who has had the same experience or trouble.
    G

    I'd imagine that's because you had no music files on your newly reformatted drive, and when you reattached your shuffle it loaded an empty file, hence no tunes.
    This (transferring the files from computer to computer) was done using the instructions found here.
    http://docs.info.apple.com/article.html?artnum=300173
    Don't know if that works for the shuffle, though.

  • Home page URL for a new site collection

    Sorry for the kind of stupid question. I created a new site collection with Site Management menus. The home page has the URL like http://devtfs12/sites/corporate/_layouts/15/start.aspx#/ I expected that it should look like http://sharepoint.firm.lan/sites/corporate/SitePages/Home.aspx
    e.g without "_layouts/15/start.aspx#" is there a  way to change it? Is it possible to set up some sort of redirection so that  http://sharepoint.firm.lan redirects to http://devtfs12/sites/corporate/_layouts/15/start.aspx#/ Thanks!

    Hi,
    You are noticing the URL with _layouts/15/start.aspx because the new feature Minimal Download Strategy is activated on your site. 
    To know more on how it works you can refer the below links
    http://www.wictorwilen.se/sharepoint-2013---introduction-to-the-minimal-download-strategy-mds
    http://www.hezser.de/blog/archive/2012/08/18/what-is-the-_layouts15start-aspx-in-sharepoint-2013.aspx
    If you don't want _layouts/15/start.aspx to be a part of your URL you need to deactivate Minimal Download Strategy feature available under Site Actions -> Manager Site Features
    Note :Minimal Download Strategy is a new framework which is been written to increase the performance of the SharePoint site.
    Also, with SharePoint 2013, you can have Managed Metadata Navigation option. For more information , 
    https://support.office.com/en-nz/article/Enable-managed-navigation-for-a-site-in-SharePoint-49a067dc-77d2-455d-9e77-250ec7cc0a6d
    Hope it helps!
    Thanks,
    Avni Bhatt
    If this helped you resolve your issue, please mark it Answered

  • Satellite M100 - TFncKy crashing as soon as Windows logs on

    Been having this problem with only one of the user accounts on my M100, the other account doesn't have the problem.
    As soon as I am logged in to Windows a message pops-up that TFncKy has unexpectedly quit (send error report, don't send error report, etc) and every time one of the directional buttons or multimedia buttons is pressed the same unexpectedly quit message comes up, so it is pretty frequent/frustrating, and also makes all these keys effectively uselss.
    I've also tried opening the file at C:\Program Files\TOSHIBA\TOSHIBA Controls\TFncKy.exe directly, but it crashes as soon as its' opened.
    The computer is virtually brand new with minimal additional programs installed that it could clash with.
    Has anyone come accross this problem before? Any ideas would be much appreciated.

    I have the same problem with my sattelite A110-178
    2 out of 3 when i log on to windows the TFncKy.exe crashes.
    Also experience bad lan drivers, the notebook freezes when i try to acces the network shares.
    whemn i work wireless the problem doesnt appear.
    already upgraded bios and installed the drivers again but no go.
    after crash a reboor works miracles and no problem for the rest of the day.
    Also exprerience trouble with the soundcard and the virtual sound.
    It worked proparly but now the sound is 4 notches down, cant get it back on the same volume level.
    downloaded drivers from realtek helped 30 minutes then same problem appeared
    already re installed chipset driver, no go
    installed windows XP proffesional and not the default home version
    dont know if problem appears there, didnt try it.

  • Save and Close goes to error page after modifying List in Infopath

    Hi,
    I have a list in Sharepoint 2013 which I have modified using Infopath 2013. After modification, If i open the list in Sharepoint site, i am not able to Save or Close the list. It gives "The webpage cannot be found" error.
    Regards, Shreyas R S

    Hi,
    The new feature Minimal Download Strategy is activated on your site. Can you please deactivate
    this feature and see?
    It
    is  available under Site Actions -> Manager Site Features
    15/start.aspx# -
    This is due to MDS feature enabled on lyour iste.
    Please remember to click 'Mark as Answer' on the answer if it helps you

  • Tomcat 4.0, startup, windows me

    Hi,
    Is there anyone who is using tomcat 4.0 to develop JSP under windows me?
    My problem is that I even can't start tomcat.
    After I run "startup.bat" under d:\tomcat40\bin, it opens 1 MS-DOS window. Few seconds, it opens another MS-DOS window, but that window disappears soon.
    Then the first window indicated that it has finished, and the screen's print is:
    "Using CATALINA_BASE: d:\tomcat40
    Using CATALINA_HOME: d:\tomcat40
    Using CLASSPATH: d:\tomcat40\bin\bootstrap.jar;d:\jdk1.3.1_02\lib\tools.jar
    Using JAVA_HOME: d:\jdk1.3.1_02"
    I don't know what's going on.
    Any suggestions will be appreciated.
    Thanks ahead!
    Michael

    You could try giving more memory to the initial
    enviroment. I use 4096.Under /bin/ directory, there are 8 .bat files.
    After I set "startup.bat" 's memory property to be 4096, the problem remains same, ie. the second window disappear soon.
    I tried to execute "catalina.bat" under /bin/ directory, the output is:
    "Using CATALINA_BASE: d:\tomcat40
    Using CATALINA_HOME: d:\tomcat40
    Using CLASSPATH: d:\tomcat40\bin\bootstrap.jar;d:\jdk1.3.1_02\lib\tools.jar
    Using JAVA_HOME: d:\jdk1.3.1_02
    Bad command or file name
    Runs a Windows program or an MS-DOS program.
    START [options] program [arg...]
    START [options] document.ext
    /m[inimized] Run the new program minimized (in the background).
    /max[imized] Run the new program maximized (in the foreground).
    /r[estored] Run the new program restored (in the foreground). [default]
    /w[ait] Does not return until the other program exits.
    Bad command or file name
    Commands:
    env - Set up environment variables that Catalina would use
    run - Start Catalina in the current window
    start - Start Catalina in a separate window
    stop - Stop Catalina
    What "Bad command or file name" means?
    Thanks ahead!
    Michael

  • Arabic Characters Alef & Lam Appear Incorrect at Runtime using Sun JRE/JPI

    Hi,
    We implemented Sun JRE for Oracle EBS 11i in Production on 7th Jan 2009.
    We went with Sun JRE 1.6.0_07 as we faced new Broswer Minimizing Problem in IE with 1.6.0_10 and 1.6.0_11.
    Now we have some issue related to Arabic Characters Alef and Lam - Doc Id 731703.1.
    The solution is to use 1.6.0_11 but we can't. I would like to know if there is any work around without using 1.6.0_11.
    Thanks
    Thiru

    Hi,
    We have the problem with 1.6.0_11 also.
    I checked in TEST instance. Strangly the problem is only while using Arabic Forms thru Arabic Login.
    If we login thru English Login and access the same Form in Enlgish and then type in Arabic there is no problem. I got these details from our Arabic Consultants.
    I am trying the revert back to jinitiator.
    Rgds,
    Thiru

  • Third Party Mouse disconnects

    Recently bought a MacBook Pro in the past week. I got a cheap third party wired mouse that worked great with 10.8.5. The entire time I owned this laptop I have never had a problem with this mouse. Today I decided to upgrade to 10.9. Now the mouse can be connected and can be used for a little while (less than a couple of minutes) then it will randomly disconnects. I have to disconnect the USB and reconnect to use my mouse for a couple of minutes. What is very strange to me is the red led turns off then you can press the left click button and the light turns on but the mouse does not work. This problem only occurs with safari, firefox, and chrome (the internet browsers I have tried). I uninstalled and reinstalled the apps ... nothing seems to help. I am at a lost.
    I have played a video game with the mouse on 10.9 for many hours with out a disconnection. This makes me think that the problem lay with any internet browser. I believe the problem is brought on by a heavy use of the scroll wheel on pages with a lot of data but what do I know. This laptop is brand new with minimal apps on it besides one game, mathematica, latex, and textwrangler. These are the only apps I downloaded and installed when I was using 10.8.5.
    Latex works. Mathematica works. Textwrangler works. Python works.
    All in all I can still use my laptop for my research/school work but this mouse problem is very annoying.
    When I installed mavericks I did not get any errors and the actually installation was very easy. After the installation I performed the 10.9 update that was available on the update page.
    I have never made a post before and I am sure more information is needed about my computer. Post what you need and I will be happy to reply with the needed information.
    Thank you in advance!

    Anyone have just the slightest idea on how to fix this issue? Is there an app that can get the drivers? If there does exist an app can someone guide me in a direction to just write my own app so I do not have to download someone elses work.

  • Importing, exporting multiple times

    I have many MPEG clips that I edit and process through "MPEG streamclip" and make them DV files.
    I then import them to iMovie to add fades and other effects. Then I export the individual clips at full quality, then import all of them back to iMovie and join them into one long clip. I then export that long clip back at full quality again, and burn them to DVD. Will there be loss of quality, or does it matter how many times I import and export back & forth? You may ask why I complicate things so much. I just want to have each clip saved individually at full quality with it's effects, edits etc.
    Maybe somebody can enlighten me on this.
    Thanks,
    Pablo

    Hi
    It depends on how You are doing this.
    • Copy to miniDV tape Camera - back to new project - minimal loss due to tape quality
    • In iMovie HD 6 - You can have several projects open simultaniously and select
    clips (even edited on TimeLine) and just click and drop into the new project.
    Here there should be NO quality loss at all.
    • Any other way - I don't know. (Exporting out as full quality QT.mov file
    then importing this back - HAS given me quality reductions - BUT MAY BE I'm
    doing it wrongly.
    Yours Bengt W

  • How much is a 2009 Mac Book 5.0 worth?

    Hi,
    How much is a 2009 Mac Book 5.0 worth? It is 2 gb RAM and 120 gb HDD.
    Thanks!!!

    Selling?
    You will command the highest price if you include all its original packaging and documentation, the original Apple power adapter, a new or minimally used genuine Apple battery and the Mac's original System and Applications DVDs. If all of the above is in good condition, ask whatever you want because it is rare to find one like that. Accept an offer no less than $550. You should be able to get $600.
    If you do not have its original discs, and the battery or power adapter is old or an aftermarket replacement then it will be difficult to sell. An offer of $350 would be very good and you will only get that if it is in excellent cosmetic condition.
    I do not know what 5.0 means.

  • IN R12, NEW WEB PAGES ARE OPENED IN THE MINIMIZED POSITION

    We've upgraded to Release 12.0.5. Whenever we click on functions that open new web pages, the new web page opens in the minimized position.
    This is very troublesome for our user community because they often do not notice the new page blinking and they keep clicking the link many times.

    Try to disable hardware acceleration in Firefox.
    *Tools > Options > Advanced > General > Browsing: "Use hardware acceleration when available"
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    *https://hacks.mozilla.org/2010/09/hardware-acceleration/
    You can also try to set the gfx.content.azure.enabled pref to false or if this didn't help disable Direct2D by setting the gfx.direct2d.disabled pref to true on the about:config page and leave hardware acceleration otherwise enabled.
    *[[/questions/942265]] Font is messed up on Firefox 17.0

  • How can I stop Firefox from restoring minimized windows when I open a new Firefox instance?

    Say I have 10 Firefox windows minimized. When I start a new instance of Firefox, all the minimized windows are restored! Then I must manually minimize them all over again. How can I stop this behavior?
    Firefox 3.6.10, Windows 7

    Did you perform the fixes from the "Preferences not saved" article?
    Try to delete or rename/move the prefs.js file and other possible prefs-##.js with a number and user.js files in the Firefox Profile Folder.
    You can use this button to go to the Firefox profile folder:
    *Help > Troubleshooting Information > Profile Directory: Open Containing Folder
    *http://kb.mozillazine.org/Profile_folder_-_Firefox
    Make sure that Firefox isn't running when you delete files in the profile folder.

  • Whenever I launch a new Google window, Google immediately re-opens all other windows I happen to have open but minimized. I then have to either close or re-minimize each window, one at a time. What a pain!!

    Whenever I launch a new Google window, Google immediately re-opens all other windows I happen to have open but minimized. I then have to either close or re-minimize each window, one at a time. What a pain!!

    Just to address the last point: check your History menu to see whether you have the Restore Previous Session option and use that if you can. If that is grayed out or doesn't restore everything, check the Recently Closed Windows and Recently Closed Tabs lists for other pages.
    The unwanted window may be generated by an add-on. Try disabling ALL nonessential or unrecognized extensions on the Add-ons page. Either:
    * Ctrl+Shift+a
    * "3-bar" menu button (or Tools menu) > Add-ons
    In the left column, click Extensions. Then, if in doubt, disable.
    Usually a link will appear above at least one disabled extension to restart Firefox. You can complete your work on the tab and click one of the links as the last step.
    Any improvement?
    Here are some other things to check:
    (1) user.js file that changes Firefox startup behavior and overrides your preferences. This article describes how to track that down and delete it if you have one: [[How to fix preferences that won't save]].
    (2) Possible hijacked shortcut. Check the "target" of the desktop icon you use to start Firefox to see whether it lists the unwanted page. To do that:
    right-click the icon > Properties > Shortcut tab
    For 64-bit Windows 7, the Target should be no more and no less than this:
    "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
    (3) Possible undisclosed bundle items. If you have installed any free software recently, check your Windows Control Panel, Uninstall a program for surprises. If you click the "Installed on" column head to group by date, it is easier to spot bundled junk. Remove everything suspicious or unrecognized.
    (4) Supplemental clean up scans. Our support article lists tools other Firefox users have found helpful: [[Troubleshoot Firefox issues caused by malware]].
    Hopefully that cures it.

  • Since installing the latest version... when I open a new window it opens everything I have minimized too... very annoying. How can I fix this, I mimimize to go back to a window not have multiple windows open.

    since installing the latest version... when I open a new window it opens everything I have minimized too... very annoying. How can I fix this, I minimize to go back to a window not have multiple windows open.
    == This happened ==
    Every time Firefox opened
    == after installed last version...

    Well, then isn't there some way to induce Firefox to give Windows parameters that make it open the fershlugginer window in the *same* position, instead of an offset position?
    Dafydd

Maybe you are looking for