3 # This script should be run after the webmin archive is unpacked, in order
4 # to setup the various config files
6 # Find install directory
10 if [ -x /bin/pwd ]; then
16 ver=`cat "$wadir/version"`
19 if [ "$tempdir" = "" ]; then
23 if [ $? != "0" ]; then
24 echo "ERROR: Cannot find the Webmin install directory";
29 echo "***********************************************************************"
30 echo "* Welcome to the Webmin setup script, version $ver *"
31 echo "***********************************************************************"
32 echo "Webmin is a web-based interface that allows Unix-like operating"
33 echo "systems and common Unix services to be easily administered."
36 # Only root can run this
37 id | grep "uid=0(" >/dev/null
38 if [ $? != "0" ]; then
39 uname -a | grep -i CYGWIN >/dev/null
40 if [ $? != "0" ]; then
41 echo "ERROR: The Webmin install script must be run as root";
47 # Use the supplied destination directory, if any
48 if [ "$1" != "" ]; then
50 echo "Installing Webmin from $srcdir to $wadir ..."
51 if [ ! -d "$wadir" ]; then
53 if [ "$?" != "0" ]; then
54 echo "ERROR: Failed to create $wadir"
59 # Make sure dest dir is not in use
60 ls "$wadir" | grep -v rpmsave >/dev/null 2>&1
61 if [ "$?" = "0" -a ! -r "$wadir/setup.sh" ]; then
62 echo "ERROR: Installation directory $wadir contains other files"
68 echo "Installing Webmin in $wadir ..."
72 # Work out perl library path
74 if [ "$perllib" != "" ]; then
75 PERLLIB="$PERLLIB:$perllib"
78 # Validate source directory
79 allmods=`cd "$srcdir"; echo */module.info | sed -e 's/\/module.info//g'`
80 if [ "$allmods" = "" ]; then
81 echo "ERROR: Failed to get module list"
87 # Load package-defined variable overrides
88 if [ -r "$srcdir/setup-pre.sh" ]; then
89 . "$srcdir/setup-pre.sh"
92 # Ask for webmin config directory
93 echo "***********************************************************************"
94 echo "Webmin uses separate directories for configuration files and log files."
95 echo "Unless you want to run multiple versions of Webmin at the same time"
96 echo "you can just accept the defaults."
98 printf "Config file directory [/etc/webmin]: "
99 if [ "$config_dir" = "" ]; then
102 if [ "$config_dir" = "" ]; then
103 config_dir=/etc/webmin
105 abspath=`echo $config_dir | grep "^/"`
106 if [ "$abspath" = "" ]; then
107 echo "Config directory must be an absolute path"
111 if [ ! -d $config_dir ]; then
114 echo "ERROR: Failed to create directory $config_dir"
119 if [ -r "$config_dir/config" ]; then
120 echo "Found existing Webmin configuration in $config_dir"
125 # Check if upgrading from an old version
126 if [ "$upgrading" = 1 ]; then
129 # Get current var path
130 var_dir=`cat $config_dir/var-path`
132 # Force creation if non-existant
133 mkdir -p $var_dir >/dev/null 2>&1
135 # Get current perl path
136 perl=`cat $config_dir/perl-path`
138 # Create temp files directory
139 $perl "$srcdir/maketemp.pl"
140 if [ "$?" != "0" ]; then
141 echo "ERROR: Failed to create or check temp files directory $tempdir"
146 # Get old os name and version
147 os_type=`grep "^os_type=" $config_dir/config | sed -e 's/os_type=//g'`
148 os_version=`grep "^os_version=" $config_dir/config | sed -e 's/os_version=//g'`
149 real_os_type=`grep "^real_os_type=" $config_dir/config | sed -e 's/real_os_type=//g'`
150 real_os_version=`grep "^real_os_version=" $config_dir/config | sed -e 's/real_os_version=//g'`
152 # Get old root, host, port, ssl and boot flag
153 oldwadir=`grep "^root=" $config_dir/miniserv.conf | sed -e 's/root=//g'`
154 port=`grep "^port=" $config_dir/miniserv.conf | sed -e 's/port=//g'`
155 ssl=`grep "^ssl=" $config_dir/miniserv.conf | sed -e 's/ssl=//g'`
156 atboot=`grep "^atboot=" $config_dir/miniserv.conf | sed -e 's/atboot=//g'`
157 inetd=`grep "^inetd=" $config_dir/miniserv.conf | sed -e 's/inetd=//g'`
159 if [ "$inetd" != "1" ]; then
161 $config_dir/stop >/dev/null 2>&1
164 # Copy files to target directory
165 if [ "$wadir" != "$srcdir" ]; then
166 echo "Copying files to $wadir .."
167 (cd "$srcdir" ; tar cf - . | (cd "$wadir" ; tar xf -))
173 $perl "$wadir/newmods.pl" $config_dir $allmods
175 # Update miniserv.conf with new root directory and mime types file
176 grep -v "^root=" $config_dir/miniserv.conf | grep -v "^mimetypes=" >$tempdir/$$.miniserv.conf
177 if [ $? != "0" ]; then exit 1; fi
178 mv $tempdir/$$.miniserv.conf $config_dir/miniserv.conf
179 echo "root=$wadir" >> $config_dir/miniserv.conf
180 echo "mimetypes=$wadir/mime.types" >> $config_dir/miniserv.conf
181 grep logout= $config_dir/miniserv.conf >/dev/null
182 if [ $? != "0" ]; then
183 echo "logout=$config_dir/logout-flag" >> $config_dir/miniserv.conf
186 # Check for third-party modules in old version
187 if [ "$wadir" != "$oldwadir" ]; then
188 echo "Checking for third-party modules .."
189 if [ "$webmin_upgrade" != "" ]; then
192 $perl "$wadir/thirdparty.pl" "$wadir" "$oldwadir" $autothird
197 # Remove old cache of module infos
198 rm -f $config_dir/module.infos.cache
200 # Config directory exists .. make sure it is not in use
201 ls $config_dir | grep -v rpmsave >/dev/null 2>&1
202 if [ "$?" = "0" -a "$config_dir" != "/etc/webmin" ]; then
203 echo "ERROR: Config directory $config_dir is not empty"
208 # Ask for log directory
209 printf "Log file directory [/var/webmin]: "
210 if [ "$var_dir" = "" ]; then
213 if [ "$var_dir" = "" ]; then
216 abspath=`echo $var_dir | grep "^/"`
217 if [ "$abspath" = "" ]; then
218 echo "Log file directory must be an absolute path"
222 if [ "$var_dir" = "/" ]; then
223 echo "Log directory cannot be /"
227 if [ ! -d $var_dir ]; then
230 echo "ERROR: Failed to create directory $var_dir"
237 # Ask where perl is installed
238 echo "***********************************************************************"
239 echo "Webmin is written entirely in Perl. Please enter the full path to the"
240 echo "Perl 5 interpreter on your system."
242 if [ -x /usr/bin/perl ]; then
243 perldef=/usr/bin/perl
244 elif [ -x /usr/local/bin/perl ]; then
245 perldef=/usr/local/bin/perl
249 if [ "$perl" = "" ]; then
250 if [ "$perldef" = "" ]; then
251 printf "Full path to perl: "
253 if [ "$perl" = "" ]; then
254 echo "ERROR: No path entered!"
259 printf "Full path to perl (default $perldef): "
261 if [ "$perl" = "" ]; then
269 echo "Testing Perl ..."
270 if [ ! -x $perl ]; then
271 echo "ERROR: Failed to find perl at $perl"
275 $perl -e 'print "foobar\n"' 2>/dev/null | grep foobar >/dev/null
276 if [ $? != "0" ]; then
277 echo "ERROR: Failed to run test perl script. Maybe $perl is"
278 echo "not the perl interpreter, or is not installed properly"
282 $perl -e 'exit ($] < 5.002 ? 1 : 0)'
283 if [ $? = "1" ]; then
284 echo "ERROR: Detected old perl version. Webmin requires"
285 echo "perl 5.002 or better to run"
289 $perl -e 'use Socket; print "foobar\n"' 2>/dev/null | grep foobar >/dev/null
290 if [ $? != "0" ]; then
291 echo "ERROR: Perl Socket module not installed. Maybe Perl has"
292 echo "not been properly installed on your system"
296 $perl -e '$c = crypt("xx", "yy"); exit($c ? 0 : 1)'
297 if [ $? != "0" ]; then
298 $perl -e 'use Crypt::UnixCrypt' >/dev/null 2>&1
300 if [ $? != "0" ]; then
301 echo "ERROR: Perl crypt function does not work. Maybe Perl has"
302 echo "not been properly installed on your system"
306 echo "Perl seems to be installed ok"
309 # Create temp files directory
310 $perl "$srcdir/maketemp.pl"
311 if [ "$?" != "0" ]; then
312 echo "ERROR: Failed to create or check temp files directory $tempdir"
317 # Ask for operating system type
318 echo "***********************************************************************"
319 if [ "$os_type" = "" ]; then
320 if [ "$autoos" = "" ]; then
323 $perl "$srcdir/oschooser.pl" "$srcdir/os_list.txt" $tempdir/$$.os $autoos
330 echo "Operating system name: $real_os_type"
331 echo "Operating system version: $real_os_version"
334 # Ask for web server port, name and password
335 echo "***********************************************************************"
336 echo "Webmin uses its own password protected web server to provide access"
337 echo "to the administration programs. The setup script needs to know :"
338 echo " - What port to run the web server on. There must not be another"
339 echo " web server already using this port."
340 echo " - The login name required to access the web server."
341 echo " - The password required to access the web server."
342 echo " - If the webserver should use SSL (if your system supports it)."
343 echo " - Whether to start webmin at boot time."
345 printf "Web server port (default 10000): "
346 if [ "$port" = "" ]; then
348 if [ "$port" = "" ]; then
352 if [ $port -lt 1 ]; then
353 echo "ERROR: $port is not a valid port number"
357 if [ $port -gt 65535 ]; then
358 echo "ERROR: $port is not a valid port number. Port numbers cannot be"
359 echo " greater than 65535"
363 $perl -e 'use Socket; socket(FOO, PF_INET, SOCK_STREAM, getprotobyname("tcp")); setsockopt(FOO, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)); bind(FOO, pack_sockaddr_in($ARGV[0], INADDR_ANY)) || exit(1); exit(0);' $port
364 if [ $? != "0" ]; then
365 echo "ERROR: TCP port $port is already in use by another program"
369 printf "Login name (default admin): "
370 if [ "$login" = "" ]; then
372 if [ "$login" = "" ]; then
376 echo "$login" | grep : >/dev/null
377 if [ "$?" = "0" ]; then
378 echo "ERROR: Username contains a : character"
382 echo $login | grep " " >/dev/null
383 if [ "$?" = "0" ]; then
384 echo "ERROR: Username contains a space"
388 if [ "$login" = "webmin" ]; then
389 echo "ERROR: Username 'webmin' is reserved for internal use"
393 printf "Login password: "
394 if [ "$password" = "" -a "$crypt" = "" ]; then
399 printf "Password again: "
404 if [ "$password" != "$password2" ]; then
405 echo "ERROR: Passwords don't match"
409 echo $password | grep : >/dev/null
410 if [ "$?" = "0" ]; then
411 echo "ERROR: Password contains a : character"
417 # Ask the user if SSL should be used
418 if [ "$ssl" = "" ]; then
420 $perl -e 'use Net::SSLeay' >/dev/null 2>/dev/null
421 if [ $? = "0" ]; then
422 printf "Use SSL (y/n): "
424 if [ "$sslyn" = "y" -o "$sslyn" = "Y" ]; then
428 echo "The Perl SSLeay library is not installed. SSL not available."
433 # Don't use SSL if missing Net::SSLeay
434 if [ "$ssl" = "1" ]; then
435 $perl -e 'use Net::SSLeay' >/dev/null 2>/dev/null
436 if [ $? != "0" ]; then
441 # Ask whether to run at boot time
442 if [ "$atboot" = "" ]; then
443 initsupp=`grep "^os_support=" "$srcdir/init/module.info" | sed -e 's/os_support=//g' | grep $os_type`
445 if [ "$initsupp" != "" ]; then
446 printf "Start Webmin at boot time (y/n): "
448 if [ "$atbootyn" = "y" -o "$atbootyn" = "Y" ]; then
452 echo "Webmin does not support being started at boot time on your system."
457 # Copy files to target directory
458 echo "***********************************************************************"
459 if [ "$wadir" != "$srcdir" ]; then
460 echo "Copying files to $wadir .."
461 (cd "$srcdir" ; tar cf - . | (cd "$wadir" ; tar xf -))
466 # Create webserver config file
467 echo $perl > $config_dir/perl-path
468 echo $var_dir > $config_dir/var-path
469 echo "Creating web server config files.."
470 cfile=$config_dir/miniserv.conf
471 echo "port=$port" >> $cfile
472 echo "root=$wadir" >> $cfile
473 echo "mimetypes=$wadir/mime.types" >> $cfile
474 echo "addtype_cgi=internal/cgi" >> $cfile
475 echo "realm=Webmin Server" >> $cfile
476 echo "logfile=$var_dir/miniserv.log" >> $cfile
477 echo "errorlog=$var_dir/miniserv.error" >> $cfile
478 echo "pidfile=$var_dir/miniserv.pid" >> $cfile
479 echo "logtime=168" >> $cfile
480 echo "ppath=$ppath" >> $cfile
481 echo "ssl=$ssl" >> $cfile
482 echo "env_WEBMIN_CONFIG=$config_dir" >> $cfile
483 echo "env_WEBMIN_VAR=$var_dir" >> $cfile
484 echo "atboot=$atboot" >> $cfile
485 echo "logout=$config_dir/logout-flag" >> $cfile
486 if [ "$listen" != "" ]; then
487 echo "listen=$listen" >> $cfile
489 echo "listen=10000" >> $cfile
491 echo "denyfile=\\.pl\$" >> $cfile
492 echo "log=1" >> $cfile
493 echo "blockhost_failures=5" >> $cfile
494 echo "blockhost_time=60" >> $cfile
495 echo "syslog=1" >> $cfile
496 if [ "$allow" != "" ]; then
497 echo "allow=$allow" >> $cfile
499 if [ "$session" != "" ]; then
500 echo "session=$session" >> $cfile
502 echo "session=1" >> $cfile
504 if [ "$pam" != "" ]; then
505 echo "pam=$pam" >> $cfile
508 # Append package-specific info to config file
509 if [ -r "$wadir/miniserv-conf" ]; then
510 cat "$wadir/miniserv-conf" >>$cfile
513 md5pass=`$perl -e 'print crypt("test", "\\$1\\$A9wB3O18\\$zaZgqrEmb9VNltWTL454R/") eq "\\$1\\$A9wB3O18\\$zaZgqrEmb9VNltWTL454R/" ? "1\n" : "0\n"'`
515 ufile=$config_dir/miniserv.users
516 if [ "$crypt" != "" ]; then
517 echo "$login:$crypt:0" > $ufile
519 if [ "$md5pass" = "1" ]; then
520 $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "\$1\$XXXXXXXX"),":0\n"' "$login" "$password" > $ufile
522 $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "XX"),":0\n"' "$login" "$password" > $ufile
526 echo "userfile=$ufile" >> $cfile
528 kfile=$config_dir/miniserv.pem
529 openssl version >/dev/null 2>&1
530 if [ "$?" = "0" ]; then
531 # We can generate a new SSL key for this host
533 openssl req -newkey rsa:512 -x509 -nodes -out $tempdir/cert -keyout $tempdir/key -days 1825 >/dev/null 2>&1 <<EOF
537 Webmin Webserver on $host
542 if [ "$?" = "0" ]; then
543 cat $tempdir/cert $tempdir/key >$kfile
545 rm -f $tempdir/cert $tempdir/key
547 if [ ! -r $kfile ]; then
548 # Fall back to the built-in key
549 cp "$wadir/miniserv.pem" $kfile
552 echo "keyfile=$config_dir/miniserv.pem" >> $cfile
558 echo "Creating access control file.."
559 afile=$config_dir/webmin.acl
561 if [ "$defaultmods" = "" ]; then
562 echo "$login: $allmods" >> $afile
564 echo "$login: $defaultmods" >> $afile
570 if [ "$login" != "root" -a "$login" != "admin" ]; then
571 # Allow use of RPC by this user
572 echo rpc=1 >>$config_dir/$login.acl
576 if [ "$noperlpath" = "" ]; then
577 echo "Inserting path to perl into scripts.."
578 (find "$wadir" -name '*.cgi' -print ; find "$wadir" -name '*.pl' -print) | $perl "$wadir/perlpath.pl" $perl -
583 echo "Creating start and stop scripts.."
584 rm -f $config_dir/stop $config_dir/start $config_dir/restart $config_dir/reload
585 echo "#!/bin/sh" >>$config_dir/start
586 echo "echo Starting Webmin server in $wadir" >>$config_dir/start
587 echo "trap '' 1" >>$config_dir/start
588 echo "LANG=" >>$config_dir/start
589 echo "export LANG" >>$config_dir/start
590 echo "#PERLIO=:raw" >>$config_dir/start
591 echo "unset PERLIO" >>$config_dir/start
592 echo "export PERLIO" >>$config_dir/start
593 echo "PERLLIB=$PERLLIB" >>$config_dir/start
594 echo "export PERLLIB" >>$config_dir/start
595 uname -a | grep -i 'HP/*UX' >/dev/null
596 if [ $? = "0" ]; then
597 echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf &" >>$config_dir/start
599 echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf" >>$config_dir/start
602 echo "#!/bin/sh" >>$config_dir/stop
603 echo "echo Stopping Webmin server in $wadir" >>$config_dir/stop
604 echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/stop
605 echo "kill \`cat \$pidfile\`" >>$config_dir/stop
607 echo "#!/bin/sh" >>$config_dir/restart
608 echo "$config_dir/stop && $config_dir/start" >>$config_dir/restart
610 echo "#!/bin/sh" >>$config_dir/reload
611 echo "echo Reloading Webmin server in $wadir" >>$config_dir/reload
612 echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/reload
613 echo "kill -USR1 \`cat \$pidfile\`" >>$config_dir/reload
615 chmod 755 $config_dir/start $config_dir/stop $config_dir/restart $config_dir/reload
619 if [ "$upgrading" = 1 ]; then
620 echo "Updating config files.."
622 echo "Copying config files.."
624 newmods=`$perl "$wadir/copyconfig.pl" "$os_type/$real_os_type" "$os_version/$real_os_version" "$wadir" $config_dir "" $allmods`
625 if [ "$upgrading" != 1 ]; then
626 # Store the OS and version
627 echo "os_type=$os_type" >> $config_dir/config
628 echo "os_version=$os_version" >> $config_dir/config
629 echo "real_os_type=$real_os_type" >> $config_dir/config
630 echo "real_os_version=$real_os_version" >> $config_dir/config
631 if [ -r /etc/system.cnf ]; then
632 # Found a caldera system config file .. get the language
633 source /etc/system.cnf
634 if [ "$CONF_LST_LANG" = "us" ]; then
636 elif [ "$CONF_LST_LANG" = "uk" ]; then
639 grep "lang=$CONF_LST_LANG," "$wadir/lang_list.txt" >/dev/null 2>&1
640 if [ "$?" = 0 ]; then
641 echo "lang=$CONF_LST_LANG" >> $config_dir/config
645 # Turn on logging by default
646 echo "log=1" >> $config_dir/config
648 # Use licence module specified by environment variable
649 if [ "$licence_module" != "" ]; then
650 echo licence_module=$licence_module >>$config_dir/config
653 # Disallow unknown referers by default
654 echo "referers_none=1" >>$config_dir/config
656 # one-off hack to set log variable in config from miniserv.conf
657 grep log= $config_dir/config >/dev/null
658 if [ "$?" = "1" ]; then
659 grep log= $config_dir/miniserv.conf >> $config_dir/config
660 grep logtime= $config_dir/miniserv.conf >> $config_dir/config
661 grep logclear= $config_dir/miniserv.conf >> $config_dir/config
664 # Disallow unknown referers if not set
665 grep referers_none= $config_dir/config >/dev/null
666 if [ "$?" != "0" ]; then
667 echo "referers_none=1" >>$config_dir/config
670 echo $ver > $config_dir/version
674 # Set passwd_ fields in miniserv.conf from global config
675 for field in passwd_file passwd_uindex passwd_pindex passwd_cindex passwd_mindex; do
676 grep $field= $config_dir/miniserv.conf >/dev/null
677 if [ "$?" != "0" ]; then
678 grep $field= $config_dir/config >> $config_dir/miniserv.conf
681 grep passwd_mode= $config_dir/miniserv.conf >/dev/null
682 if [ "$?" != "0" ]; then
683 echo passwd_mode=0 >> $config_dir/miniserv.conf
686 # If Perl crypt supports MD5, then make it the default
687 if [ "$md5pass" = "1" ]; then
688 echo md5pass=1 >> $config_dir/config
691 # Set a special theme if none was set before
692 if [ "$theme" = "" ]; then
693 theme=`cat "$wadir/defaulttheme" 2>/dev/null`
695 oldthemeline=`grep "^theme=" $config_dir/config`
696 oldtheme=`echo $oldthemeline | sed -e 's/theme=//g'`
697 if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$wadir/$theme" ]; then
698 echo "theme=$theme" >> $config_dir/config
699 echo "preroot=$theme" >> $config_dir/miniserv.conf
702 # Set the product field in the global config
703 grep product= $config_dir/config >/dev/null
704 if [ "$?" != "0" ]; then
705 echo product=webmin >> $config_dir/config
708 if [ "$makeboot" = "1" ]; then
709 echo "Configuring Webmin to start at boot time.."
710 (cd "$wadir/init" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/init/atboot.pl" $bootscript)
715 # If password delays are not specifically disabled, enable them
716 grep passdelay= $config_dir/miniserv.conf >/dev/null
717 if [ "$?" != "0" ]; then
718 echo passdelay=1 >> $config_dir/miniserv.conf
721 if [ "$nouninstall" = "" ]; then
722 echo "Creating uninstall script $config_dir/uninstall.sh .."
723 cat >$config_dir/uninstall.sh <<EOF
725 printf "Are you sure you want to uninstall Webmin? (y/n) : "
728 if [ "\$answer" = "y" ]; then
730 echo "Running uninstall scripts .."
731 (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir LANG= "$wadir/run-uninstalls.pl")
732 echo "Deleting $wadir .."
734 echo "Deleting $config_dir .."
739 chmod +x $config_dir/uninstall.sh
744 echo "Changing ownership and permissions .."
745 # Make all config dirs non-world-readable
746 for m in $newmods; do
747 chown -R root $config_dir/$m
748 chgrp -R bin $config_dir/$m
749 chmod -R og-rw $config_dir/$m
751 # Make miniserv config files non-world-readable
752 for f in miniserv.conf miniserv.pem miniserv.users; do
753 chown -R root $config_dir/$f
754 chgrp -R bin $config_dir/$f
755 chmod -R og-rw $config_dir/$f
757 chmod +r $config_dir/version
758 if [ "$nochown" = "" ]; then
759 # Make program directory non-world-writable, but executable
760 chown -R root "$wadir"
761 chgrp -R bin "$wadir"
762 chmod -R og-w "$wadir"
763 chmod -R a+rx "$wadir"
765 if [ $var_dir != "/var" ]; then
766 # Make log directory non-world-readable or writable
767 chown -R root $var_dir
768 chgrp -R bin $var_dir
769 chmod -R og-rwx $var_dir
771 # Fix up bad permissions from some older installs
772 for m in ldap-client ldap-server ldap-useradmin mailboxes mysql postgresql servers virtual-server; do
773 if [ -d "$config_dir/$m" ]; then
774 chown root $config_dir/$m
775 chgrp bin $config_dir/$m
776 chmod og-rw $config_dir/$m
777 chmod og-rw $config_dir/$m/config 2>/dev/null
783 # Save target directory if one was specified
784 if [ "$wadir" != "$srcdir" ]; then
785 echo $wadir >$config_dir/install-dir
787 rm -f $config_dir/install-dir
790 if [ "$nopostinstall" = "" ]; then
791 echo "Running postinstall scripts .."
792 (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/run-postinstalls.pl")
797 # Run package-defined post-install script
798 if [ -r "$srcdir/setup-post.sh" ]; then
799 . "$srcdir/setup-post.sh"
802 if [ "$nostart" = "" ]; then
803 if [ "$inetd" != "1" ]; then
804 echo "Attempting to start Webmin mini web server.."
806 if [ $? != "0" ]; then
807 echo "ERROR: Failed to start web server!"
815 echo "***********************************************************************"
816 echo "Webmin has been installed and started successfully. Use your web"
817 echo "browser to go to"
820 if [ "$ssl" = "1" ]; then
821 echo " https://$host:$port/"
823 echo " http://$host:$port/"
826 echo "and login with the name and password you entered previously."
828 if [ "$ssl" = "1" ]; then
829 echo "Because Webmin uses SSL for encryption only, the certificate"
830 echo "it uses is not signed by one of the recognized CAs such as"
831 echo "Verisign. When you first connect to the Webmin server, your"
832 echo "browser will ask you if you want to accept the certificate"
833 echo "presented, as it does not recognize the CA. Say yes."
838 if [ "$oldwadir" != "$wadir" -a "$upgrading" = 1 -a "$deletedold" != 1 ]; then
839 echo "The directory from the previous version of Webmin"
841 echo "Can now be safely deleted to free up disk space, assuming"
842 echo "that all third-party modules have been copied to the new"