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
507 echo premodules=WebminCore >> $cfile
509 # Append package-specific info to config file
510 if [ -r "$wadir/miniserv-conf" ]; then
511 cat "$wadir/miniserv-conf" >>$cfile
514 md5pass=`$perl -e 'print crypt("test", "\\$1\\$A9wB3O18\\$zaZgqrEmb9VNltWTL454R/") eq "\\$1\\$A9wB3O18\\$zaZgqrEmb9VNltWTL454R/" ? "1\n" : "0\n"'`
516 ufile=$config_dir/miniserv.users
517 if [ "$crypt" != "" ]; then
518 echo "$login:$crypt:0" > $ufile
520 if [ "$md5pass" = "1" ]; then
521 $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "\$1\$XXXXXXXX"),":0\n"' "$login" "$password" > $ufile
523 $perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "XX"),":0\n"' "$login" "$password" > $ufile
527 echo "userfile=$ufile" >> $cfile
529 kfile=$config_dir/miniserv.pem
530 openssl version >/dev/null 2>&1
531 if [ "$?" = "0" ]; then
532 # We can generate a new SSL key for this host
534 openssl req -newkey rsa:512 -x509 -nodes -out $tempdir/cert -keyout $tempdir/key -days 1825 >/dev/null 2>&1 <<EOF
538 Webmin Webserver on $host
543 if [ "$?" = "0" ]; then
544 cat $tempdir/cert $tempdir/key >$kfile
546 rm -f $tempdir/cert $tempdir/key
548 if [ ! -r $kfile ]; then
549 # Fall back to the built-in key
550 cp "$wadir/miniserv.pem" $kfile
553 echo "keyfile=$config_dir/miniserv.pem" >> $cfile
559 echo "Creating access control file.."
560 afile=$config_dir/webmin.acl
562 if [ "$defaultmods" = "" ]; then
563 echo "$login: $allmods" >> $afile
565 echo "$login: $defaultmods" >> $afile
571 if [ "$login" != "root" -a "$login" != "admin" ]; then
572 # Allow use of RPC by this user
573 echo rpc=1 >>$config_dir/$login.acl
577 if [ "$noperlpath" = "" ]; then
578 echo "Inserting path to perl into scripts.."
579 (find "$wadir" -name '*.cgi' -print ; find "$wadir" -name '*.pl' -print) | $perl "$wadir/perlpath.pl" $perl -
584 echo "Creating start and stop scripts.."
585 rm -f $config_dir/stop $config_dir/start $config_dir/restart $config_dir/reload
586 echo "#!/bin/sh" >>$config_dir/start
587 echo "echo Starting Webmin server in $wadir" >>$config_dir/start
588 echo "trap '' 1" >>$config_dir/start
589 echo "LANG=" >>$config_dir/start
590 echo "export LANG" >>$config_dir/start
591 echo "#PERLIO=:raw" >>$config_dir/start
592 echo "unset PERLIO" >>$config_dir/start
593 echo "export PERLIO" >>$config_dir/start
594 echo "PERLLIB=$PERLLIB" >>$config_dir/start
595 echo "export PERLLIB" >>$config_dir/start
596 uname -a | grep -i 'HP/*UX' >/dev/null
597 if [ $? = "0" ]; then
598 echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf &" >>$config_dir/start
600 echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf" >>$config_dir/start
603 echo "#!/bin/sh" >>$config_dir/stop
604 echo "echo Stopping Webmin server in $wadir" >>$config_dir/stop
605 echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/stop
606 echo "kill \`cat \$pidfile\`" >>$config_dir/stop
608 echo "#!/bin/sh" >>$config_dir/restart
609 echo "$config_dir/stop && $config_dir/start" >>$config_dir/restart
611 echo "#!/bin/sh" >>$config_dir/reload
612 echo "echo Reloading Webmin server in $wadir" >>$config_dir/reload
613 echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/reload
614 echo "kill -USR1 \`cat \$pidfile\`" >>$config_dir/reload
616 chmod 755 $config_dir/start $config_dir/stop $config_dir/restart $config_dir/reload
620 if [ "$upgrading" = 1 ]; then
621 echo "Updating config files.."
623 echo "Copying config files.."
625 newmods=`$perl "$wadir/copyconfig.pl" "$os_type/$real_os_type" "$os_version/$real_os_version" "$wadir" $config_dir "" $allmods`
626 if [ "$upgrading" != 1 ]; then
627 # Store the OS and version
628 echo "os_type=$os_type" >> $config_dir/config
629 echo "os_version=$os_version" >> $config_dir/config
630 echo "real_os_type=$real_os_type" >> $config_dir/config
631 echo "real_os_version=$real_os_version" >> $config_dir/config
632 if [ -r /etc/system.cnf ]; then
633 # Found a caldera system config file .. get the language
634 source /etc/system.cnf
635 if [ "$CONF_LST_LANG" = "us" ]; then
637 elif [ "$CONF_LST_LANG" = "uk" ]; then
640 grep "lang=$CONF_LST_LANG," "$wadir/lang_list.txt" >/dev/null 2>&1
641 if [ "$?" = 0 ]; then
642 echo "lang=$CONF_LST_LANG" >> $config_dir/config
646 # Turn on logging by default
647 echo "log=1" >> $config_dir/config
649 # Use licence module specified by environment variable
650 if [ "$licence_module" != "" ]; then
651 echo licence_module=$licence_module >>$config_dir/config
654 # Disallow unknown referers by default
655 echo "referers_none=1" >>$config_dir/config
657 # one-off hack to set log variable in config from miniserv.conf
658 grep log= $config_dir/config >/dev/null
659 if [ "$?" = "1" ]; then
660 grep log= $config_dir/miniserv.conf >> $config_dir/config
661 grep logtime= $config_dir/miniserv.conf >> $config_dir/config
662 grep logclear= $config_dir/miniserv.conf >> $config_dir/config
665 # Disallow unknown referers if not set
666 grep referers_none= $config_dir/config >/dev/null
667 if [ "$?" != "0" ]; then
668 echo "referers_none=1" >>$config_dir/config
671 echo $ver > $config_dir/version
675 # Set passwd_ fields in miniserv.conf from global config
676 for field in passwd_file passwd_uindex passwd_pindex passwd_cindex passwd_mindex; do
677 grep $field= $config_dir/miniserv.conf >/dev/null
678 if [ "$?" != "0" ]; then
679 grep $field= $config_dir/config >> $config_dir/miniserv.conf
682 grep passwd_mode= $config_dir/miniserv.conf >/dev/null
683 if [ "$?" != "0" ]; then
684 echo passwd_mode=0 >> $config_dir/miniserv.conf
687 # If Perl crypt supports MD5, then make it the default
688 if [ "$md5pass" = "1" ]; then
689 echo md5pass=1 >> $config_dir/config
692 # Set a special theme if none was set before
693 if [ "$theme" = "" ]; then
694 theme=`cat "$wadir/defaulttheme" 2>/dev/null`
696 oldthemeline=`grep "^theme=" $config_dir/config`
697 oldtheme=`echo $oldthemeline | sed -e 's/theme=//g'`
698 if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$wadir/$theme" ]; then
699 echo "theme=$theme" >> $config_dir/config
700 echo "preroot=$theme" >> $config_dir/miniserv.conf
703 # Set the product field in the global config
704 grep product= $config_dir/config >/dev/null
705 if [ "$?" != "0" ]; then
706 echo product=webmin >> $config_dir/config
709 if [ "$makeboot" = "1" ]; then
710 echo "Configuring Webmin to start at boot time.."
711 (cd "$wadir/init" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/init/atboot.pl" $bootscript)
716 # If password delays are not specifically disabled, enable them
717 grep passdelay= $config_dir/miniserv.conf >/dev/null
718 if [ "$?" != "0" ]; then
719 echo passdelay=1 >> $config_dir/miniserv.conf
722 if [ "$nouninstall" = "" ]; then
723 echo "Creating uninstall script $config_dir/uninstall.sh .."
724 cat >$config_dir/uninstall.sh <<EOF
726 printf "Are you sure you want to uninstall Webmin? (y/n) : "
729 if [ "\$answer" = "y" ]; then
731 echo "Running uninstall scripts .."
732 (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir LANG= "$wadir/run-uninstalls.pl")
733 echo "Deleting $wadir .."
735 echo "Deleting $config_dir .."
740 chmod +x $config_dir/uninstall.sh
745 echo "Changing ownership and permissions .."
746 # Make all config dirs non-world-readable
747 for m in $newmods; do
748 chown -R root $config_dir/$m
749 chgrp -R bin $config_dir/$m
750 chmod -R og-rw $config_dir/$m
752 # Make miniserv config files non-world-readable
753 for f in miniserv.conf miniserv.pem miniserv.users; do
754 chown -R root $config_dir/$f
755 chgrp -R bin $config_dir/$f
756 chmod -R og-rw $config_dir/$f
758 chmod +r $config_dir/version
759 if [ "$nochown" = "" ]; then
760 # Make program directory non-world-writable, but executable
761 chown -R root "$wadir"
762 chgrp -R bin "$wadir"
763 chmod -R og-w "$wadir"
764 chmod -R a+rx "$wadir"
766 if [ $var_dir != "/var" ]; then
767 # Make log directory non-world-readable or writable
768 chown -R root $var_dir
769 chgrp -R bin $var_dir
770 chmod -R og-rwx $var_dir
772 # Fix up bad permissions from some older installs
773 for m in ldap-client ldap-server ldap-useradmin mailboxes mysql postgresql servers virtual-server; do
774 if [ -d "$config_dir/$m" ]; then
775 chown root $config_dir/$m
776 chgrp bin $config_dir/$m
777 chmod og-rw $config_dir/$m
778 chmod og-rw $config_dir/$m/config 2>/dev/null
784 # Save target directory if one was specified
785 if [ "$wadir" != "$srcdir" ]; then
786 echo $wadir >$config_dir/install-dir
788 rm -f $config_dir/install-dir
791 if [ "$nopostinstall" = "" ]; then
792 echo "Running postinstall scripts .."
793 (cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/run-postinstalls.pl")
798 # Run package-defined post-install script
799 if [ -r "$srcdir/setup-post.sh" ]; then
800 . "$srcdir/setup-post.sh"
803 if [ "$nostart" = "" ]; then
804 if [ "$inetd" != "1" ]; then
805 echo "Attempting to start Webmin mini web server.."
807 if [ $? != "0" ]; then
808 echo "ERROR: Failed to start web server!"
816 echo "***********************************************************************"
817 echo "Webmin has been installed and started successfully. Use your web"
818 echo "browser to go to"
821 if [ "$ssl" = "1" ]; then
822 echo " https://$host:$port/"
824 echo " http://$host:$port/"
827 echo "and login with the name and password you entered previously."
829 if [ "$ssl" = "1" ]; then
830 echo "Because Webmin uses SSL for encryption only, the certificate"
831 echo "it uses is not signed by one of the recognized CAs such as"
832 echo "Verisign. When you first connect to the Webmin server, your"
833 echo "browser will ask you if you want to accept the certificate"
834 echo "presented, as it does not recognize the CA. Say yes."
839 if [ "$oldwadir" != "$wadir" -a "$upgrading" = 1 -a "$deletedold" != 1 ]; then
840 echo "The directory from the previous version of Webmin"
842 echo "Can now be safely deleted to free up disk space, assuming"
843 echo "that all third-party modules have been copied to the new"