#!/usr/bin/perl # save_vserv.cgi # Save virtual server options such as the port and address require './apache-lib.pl'; &ReadParse(); $access{'vaddr'} || &error($text{'vserv_ecannot'}); $conf = &get_config(); ($vmembers, $vconf) = &get_virtual_config($in{'virt'}); &can_edit_virt($vconf) || &error($text{'virt_ecannot'}); if ($in{'delete'}) { # Delete a virtual server %vnames = map { $_, 1 } &virt_acl_name($vconf); &lock_file($vconf->{'file'}); &before_changing(); &save_directive_struct($vconf, undef, $conf, $conf); &delete_file_if_empty($vconf->{'file'}); &flush_file_lines(); &unlock_file($vconf->{'file'}); &update_last_config_change(); &after_changing(); # Remove from acls &read_acl(undef, \%wusers); foreach $u (keys %wusers) { %uaccess = &get_module_acl($u); if ($uaccess{'virts'} ne '*') { $uaccess{'virts'} = join(' ', grep { !$vnames{$_} } split(/\s+/, $uaccess{'virts'})); &save_module_acl(\%uaccess, $u); } } &webmin_log("virt", "delete", &virtual_name($vconf, 1)); &redirect(""); } else { # Update virtual server and directives &error_setup($text{'vserv_err'}); # Check address if (defined($in{'addrs'})) { # Multiple addresses local @addrs = split(/\s+/, $in{'addrs'}); @addrs || &error($text{'vserv_eaddrs'}); foreach $a (@addrs) { local $ac = $a; $ac =~ s/:(\d+)$//; $ac eq '*' || $ac eq '_default_' || &to_ipaddress($ac) || $ac =~ /^\[(\S+)\]$/ && &to_ip6address("$1") || &error(&text('vserv_eaddr2', $ac)); } $addr = join(" ", @addrs); } else { # One address if ($in{'addr_def'} == 1) { if ($httpd_modules{'core'} >= 1.2) { $addr = "_default_"; } else { $addr = "*"; } } elsif ($in{'addr_def'} == 2) { $addr = "*"; } elsif ($in{'addr'} !~ /\S/) { &error($text{'vserv_eaddr1'}); } elsif (!&to_ipaddress($in{'addr'}) && !&to_ip6address($in{'addr'})) { &error(&text('vserv_eaddr2', $in{'addr'})); } elsif (&check_ip6address($in{'addr'})) { # IPv6 address $addr = "[$in{'addr'}]"; } else { # IPv4 address or hostname $addr = $in{'addr'}; } } # Check port if ($in{'port_mode'} == 0) { $port = ""; } elsif ($in{'port_mode'} == 1) { $port = ":*"; } elsif ($in{'port'} !~ /^\d+$/) { &error(&text('vserv_eport', $in{'port'})); } else { $port = ":$in{'port'}"; } # Check document root if (!$in{'root_def'}) { (-d $in{'root'}) || &error(&text('vserv_eroot', $in{'root'})); $root = $in{'root'}; $root = "\"$root\"" if ($root =~ /\s/); } # Check server name if (!$in{'name_def'}) { $in{'name'} =~ /^[a-z0-9\.\_\-]+$/i || &error(&text('vserv_ename', $in{'name'})); $name = $in{'name'}; } # Update <VirtualHost> directive &lock_file($vconf->{'file'}); &before_changing(); $vconf->{'value'} = "$addr$port"; &save_directive_struct($vconf, $vconf, $conf, $conf, 1); # Update DocumentRoot and ServerName &save_directive("DocumentRoot", $root ? [ $root ] : [ ], $vconf->{'members'}, $conf); &save_directive("ServerName", $name ? [ $name ] : [ ], $vconf->{'members'}, $conf); # Update any <Directory> blocks under the old path if ($in{'root'} ne $in{'old_root'}) { @dirs = &find_directive_struct("Directory", $vmembers); foreach $dir (@dirs) { if ($dir->{'words'}->[0] eq $in{'old_root'}) { # Same dir $dir->{'value'} = $in{'root'}; } elsif ($dir->{'words'}->[0] =~ /^\Q$in{'old_root'}\E(\/.*)$/) { # Under the dir $dir->{'value'} = $in{'root'}.$1; } else { next; } &save_directive_struct($dir, $dir, $vconf, $vconf, 1); } } # Write out file &flush_file_lines(); &after_changing(); &unlock_file($vconf->{'file'}); &format_config_file($vconf->{'file'}); &webmin_log("virt", "save", &virtual_name($vconf, 1), \%in); &redirect(""); }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 4.06 KB | 0644 |
|
acl_security.pl | File | 5.44 KB | 0755 |
|
allmanual_form.cgi | File | 1.26 KB | 0755 |
|
allmanual_save.cgi | File | 915 B | 0755 |
|
apache-lib.pl | File | 57.96 KB | 0755 |
|
auth-lib.pl | File | 3.09 KB | 0755 |
|
autoindex.pl | File | 9.54 KB | 0755 |
|
backup_config.pl | File | 1.4 KB | 0755 |
|
browsermatch.pl | File | 2.15 KB | 0755 |
|
cache.pl | File | 3 KB | 0755 |
|
cgi_args.pl | File | 1.02 KB | 0755 |
|
change_dir.cgi | File | 1.36 KB | 0755 |
|
change_files.cgi | File | 1.13 KB | 0755 |
|
config-AlmaLinux-7.0-ALL | File | 419 B | 0644 |
|
config-Amazon-Linux-2-ALL | File | 419 B | 0644 |
|
config-CentOS-Linux-7.0-ALL | File | 419 B | 0644 |
|
config-CentOS-Stream-Linux-8.0-ALL | File | 419 B | 0644 |
|
config-CloudLinux-8.0-ALL | File | 419 B | 0644 |
|
config-Fedora-Linux-20.00-ALL | File | 419 B | 0644 |
|
config-Oracle-Linux-8.0-ALL | File | 419 B | 0644 |
|
config-Redhat-Enterprise-Linux-7.0-ALL | File | 419 B | 0644 |
|
config-Rocky-Linux-7.0-ALL | File | 419 B | 0644 |
|
config-Scientific-Linux-7.0-ALL | File | 419 B | 0644 |
|
config-aix | File | 300 B | 0644 |
|
config-cobalt-linux | File | 311 B | 0644 |
|
config-coherent-linux | File | 387 B | 0644 |
|
config-corel-linux | File | 412 B | 0644 |
|
config-debian-linux | File | 412 B | 0644 |
|
config-debian-linux-10.0-ALL | File | 552 B | 0644 |
|
config-debian-linux-3.1-6.9 | File | 607 B | 0644 |
|
config-debian-linux-7.0-9.0 | File | 637 B | 0644 |
|
config-freebsd | File | 457 B | 0644 |
|
config-freebsd-8.0-ALL | File | 465 B | 0644 |
|
config-generic-linux | File | 321 B | 0644 |
|
config-gentoo-linux | File | 447 B | 0644 |
|
config-hpux | File | 321 B | 0644 |
|
config-irix | File | 321 B | 0644 |
|
config-irix-6.5 | File | 359 B | 0644 |
|
config-lfs-linux | File | 503 B | 0644 |
|
config-macos | File | 533 B | 0644 |
|
config-macos-1.3-8.1 | File | 382 B | 0644 |
|
config-macos-9.2-ALL | File | 347 B | 0644 |
|
config-mandrake-linux | File | 401 B | 0644 |
|
config-msc-linux | File | 301 B | 0644 |
|
config-netbsd | File | 421 B | 0644 |
|
config-open-linux-2.3 | File | 377 B | 0644 |
|
config-open-linux-2.3e | File | 363 B | 0644 |
|
config-open-linux-2.4 | File | 363 B | 0644 |
|
config-open-linux-2.5 | File | 460 B | 0644 |
|
config-open-linux-3.1e | File | 471 B | 0644 |
|
config-openSUSE-Linux-15.0-ALL | File | 539 B | 0644 |
|
config-openbsd | File | 383 B | 0644 |
|
config-openmamba-linux | File | 417 B | 0644 |
|
config-openserver | File | 461 B | 0644 |
|
config-osf1 | File | 321 B | 0644 |
|
config-pardus-linux | File | 397 B | 0644 |
|
config-redhat-linux | File | 311 B | 0644 |
|
config-redhat-linux-12.1-12.9 | File | 388 B | 0644 |
|
config-redhat-linux-13.0-23.0 | File | 373 B | 0644 |
|
config-redhat-linux-24.0-ALL | File | 419 B | 0644 |
|
config-redhat-linux-7.0-7.4 | File | 431 B | 0644 |
|
config-redhat-linux-8.0 | File | 387 B | 0644 |
|
config-redhat-linux-8.1 | File | 473 B | 0644 |
|
config-redhat-linux-9.0-12.0 | File | 387 B | 0644 |
|
config-slackware-linux | File | 212 B | 0644 |
|
config-slackware-linux-12.0-ALL | File | 422 B | 0644 |
|
config-slackware-linux-7.0-7.1 | File | 349 B | 0644 |
|
config-slackware-linux-8.0-ALL | File | 388 B | 0644 |
|
config-sol-linux | File | 333 B | 0644 |
|
config-solaris | File | 321 B | 0644 |
|
config-solaris-10 | File | 325 B | 0644 |
|
config-solaris-11-ALL | File | 475 B | 0644 |
|
config-solaris-9 | File | 325 B | 0644 |
|
config-suse-linux | File | 414 B | 0644 |
|
config-suse-linux-7.1-8.0 | File | 412 B | 0644 |
|
config-suse-linux-8.2 | File | 439 B | 0644 |
|
config-suse-linux-9.0 | File | 471 B | 0644 |
|
config-suse-linux-9.1-ALL | File | 547 B | 0644 |
|
config-syno-linux | File | 321 B | 0644 |
|
config-trustix-linux | File | 372 B | 0644 |
|
config-turbo-linux | File | 311 B | 0644 |
|
config-united-linux | File | 403 B | 0644 |
|
config-unixware | File | 461 B | 0644 |
|
config-windows | File | 449 B | 0644 |
|
config.info | File | 2.03 KB | 0644 |
|
config.info.bg | File | 3.31 KB | 0644 |
|
config.info.ca | File | 2.22 KB | 0644 |
|
config.info.cs | File | 2.03 KB | 0644 |
|
config.info.da | File | 479 B | 0644 |
|
config.info.de | File | 2.24 KB | 0644 |
|
config.info.es | File | 1.76 KB | 0644 |
|
config.info.fa | File | 2.36 KB | 0644 |
|
config.info.fr | File | 2.46 KB | 0644 |
|
config.info.hr | File | 0 B | 0644 |
|
config.info.hu | File | 775 B | 0644 |
|
config.info.ja | File | 2.16 KB | 0644 |
|
config.info.ms | File | 2.15 KB | 0644 |
|
config.info.nl | File | 1.98 KB | 0644 |
|
config.info.no | File | 2.05 KB | 0644 |
|
config.info.pl | File | 2.12 KB | 0644 |
|
config.info.pt_BR | File | 2.15 KB | 0644 |
|
config.info.ru | File | 1.56 KB | 0644 |
|
config.info.ru.UTF-8 | File | 1.56 KB | 0644 |
|
config.info.sv | File | 650 B | 0644 |
|
config.info.tr | File | 1.81 KB | 0644 |
|
config.info.uk | File | 1.58 KB | 0644 |
|
config.info.zh | File | 568 B | 0644 |
|
config.info.zh_TW | File | 1.23 KB | 0644 |
|
config_solaris.txt.1.25 | File | 81 B | 0644 |
|
core.pl | File | 40.41 KB | 0755 |
|
create_dir.cgi | File | 1.24 KB | 0755 |
|
create_files.cgi | File | 1014 B | 0755 |
|
create_htaccess.cgi | File | 1.49 KB | 0755 |
|
create_virt.cgi | File | 7.4 KB | 0755 |
|
defaultacl | File | 119 B | 0644 |
|
delete_htaccess.cgi | File | 552 B | 0755 |
|
delete_vservs.cgi | File | 832 B | 0755 |
|
dir_index.cgi | File | 1.94 KB | 0755 |
|
edit_authgroup.cgi | File | 1.52 KB | 0755 |
|
edit_authuser.cgi | File | 1.75 KB | 0755 |
|
edit_defines.cgi | File | 799 B | 0755 |
|
edit_dir.cgi | File | 1.03 KB | 0755 |
|
edit_files.cgi | File | 1.06 KB | 0755 |
|
edit_global.cgi | File | 1.62 KB | 0755 |
|
edit_gmime_type.cgi | File | 1.01 KB | 0755 |
|
edit_htaccess.cgi | File | 999 B | 0755 |
|
edit_mods.cgi | File | 1.04 KB | 0755 |
|
edit_virt.cgi | File | 1.46 KB | 0755 |
|
feedback_files.pl | File | 125 B | 0755 |
|
files_index.cgi | File | 1.68 KB | 0755 |
|
find_htaccess.cgi | File | 1.78 KB | 0755 |
|
htaccess.cgi | File | 1.28 KB | 0755 |
|
htaccess_index.cgi | File | 2.38 KB | 0755 |
|
index.cgi | File | 15.34 KB | 0755 |
|
install_check.pl | File | 450 B | 0755 |
|
list_authgroups.cgi | File | 1.42 KB | 0755 |
|
list_authusers.cgi | File | 1.88 KB | 0755 |
|
log_parser.pl | File | 3.7 KB | 0755 |
|
manual_form.cgi | File | 3.2 KB | 0755 |
|
manual_save.cgi | File | 2.24 KB | 0755 |
|
mod_access.pl | File | 3.18 KB | 0755 |
|
mod_actions.pl | File | 2.57 KB | 0755 |
|
mod_alias.pl | File | 5.7 KB | 0755 |
|
mod_apachessl.pl | File | 13.47 KB | 0755 |
|
mod_asis.pl | File | 125 B | 0755 |
|
mod_auth.pl | File | 1.88 KB | 0755 |
|
mod_auth_basic.pl | File | 983 B | 0755 |
|
mod_auth_dbm.pl | File | 1.79 KB | 0755 |
|
mod_auth_digest.pl | File | 1.56 KB | 0755 |
|
mod_authn_dbm.pl | File | 1.02 KB | 0755 |
|
mod_authn_file.pl | File | 838 B | 0755 |
|
mod_authz_dbm.pl | File | 1.38 KB | 0755 |
|
mod_authz_groupfile.pl | File | 863 B | 0755 |
|
mod_authz_host.pl | File | 314 B | 0755 |
|
mod_authz_owner.pl | File | 139 B | 0755 |
|
mod_autoindex.pl | File | 2.15 KB | 0755 |
|
mod_bandwidth.pl | File | 3.86 KB | 0755 |
|
mod_browser.pl | File | 274 B | 0755 |
|
mod_cache.pl | File | 2.73 KB | 0755 |
|
mod_cern_meta.pl | File | 1.13 KB | 0755 |
|
mod_cgi.pl | File | 1.26 KB | 0755 |
|
mod_cgid.pl | File | 1.26 KB | 0755 |
|
mod_dav.pl | File | 1.1 KB | 0755 |
|
mod_dir.pl | File | 1.06 KB | 0755 |
|
mod_disk_cache.pl | File | 1.03 KB | 0755 |
|
mod_env.pl | File | 2.03 KB | 0755 |
|
mod_expires.pl.broken | File | 3.22 KB | 0644 |
|
mod_ext_filter.pl | File | 2.63 KB | 0755 |
|
mod_fastcgi.pl | File | 181 B | 0755 |
|
mod_fcgid.pl | File | 169 B | 0755 |
|
mod_http2.pl | File | 107 B | 0755 |
|
mod_imap.pl | File | 2.35 KB | 0755 |
|
mod_include.pl | File | 601 B | 0755 |
|
mod_info.pl | File | 145 B | 0755 |
|
mod_log_agent.pl | File | 1.08 KB | 0755 |
|
mod_log_common.pl | File | 1.14 KB | 0755 |
|
mod_log_config.pl | File | 4.49 KB | 0755 |
|
mod_log_referer.pl | File | 1.59 KB | 0755 |
|
mod_mem_cache.pl | File | 1.1 KB | 0755 |
|
mod_mime.pl | File | 6.16 KB | 0755 |
|
mod_mime_magic.pl | File | 521 B | 0755 |
|
mod_mpm_prefork.pl | File | 820 B | 0755 |
|
mod_negotiation.pl | File | 1.25 KB | 0755 |
|
mod_perl.pl | File | 147 B | 0755 |
|
mod_php.pl | File | 93 B | 0755 |
|
mod_php3.pl | File | 147 B | 0755 |
|
mod_php4.pl | File | 2.89 KB | 0755 |
|
mod_php5.pl | File | 2.82 KB | 0755 |
|
mod_php7.pl | File | 2.82 KB | 0755 |
|
mod_proxy.pl | File | 8.42 KB | 0755 |
|
mod_proxy_balancer.pl | File | 173 B | 0755 |
|
mod_rewrite.pl | File | 121 B | 0755 |
|
mod_ruby.pl | File | 155 B | 0755 |
|
mod_setenvif.pl | File | 3.04 KB | 0755 |
|
mod_speling.pl | File | 565 B | 0755 |
|
mod_ssl.pl | File | 6.22 KB | 0755 |
|
mod_status.pl | File | 542 B | 0755 |
|
mod_suexec.pl | File | 1.24 KB | 0755 |
|
mod_userdir.pl | File | 2.58 KB | 0755 |
|
mod_vhost_alias.pl | File | 2.33 KB | 0755 |
|
module.info | File | 265 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 104 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 156 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 154 B | 0644 |
|
module.info.bg | File | 35 B | 0644 |
|
module.info.bg.auto | File | 130 B | 0644 |
|
module.info.ca | File | 109 B | 0644 |
|
module.info.ca.auto | File | 15 B | 0644 |
|
module.info.cs | File | 26 B | 0644 |
|
module.info.cs.auto | File | 87 B | 0644 |
|
module.info.da | File | 25 B | 0644 |
|
module.info.da.auto | File | 85 B | 0644 |
|
module.info.de | File | 92 B | 0644 |
|
module.info.de.auto | File | 15 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 170 B | 0644 |
|
module.info.es | File | 28 B | 0644 |
|
module.info.es.auto | File | 93 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 106 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 171 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 119 B | 0644 |
|
module.info.fr | File | 27 B | 0644 |
|
module.info.fr.auto | File | 96 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 162 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 110 B | 0644 |
|
module.info.hu | File | 95 B | 0644 |
|
module.info.hu.auto | File | 15 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 118 B | 0644 |
|
module.info.ja | File | 28 B | 0644 |
|
module.info.ja.auto | File | 115 B | 0644 |
|
module.info.ko | File | 26 B | 0644 |
|
module.info.ko.auto | File | 95 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 137 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 124 B | 0644 |
|
module.info.ms | File | 108 B | 0644 |
|
module.info.ms.auto | File | 15 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 118 B | 0644 |
|
module.info.nl | File | 25 B | 0644 |
|
module.info.nl.auto | File | 83 B | 0644 |
|
module.info.no | File | 25 B | 0644 |
|
module.info.no.auto | File | 83 B | 0644 |
|
module.info.pl | File | 96 B | 0644 |
|
module.info.pl.auto | File | 14 B | 0644 |
|
module.info.pt | File | 28 B | 0644 |
|
module.info.pt.auto | File | 84 B | 0644 |
|
module.info.pt_BR | File | 31 B | 0644 |
|
module.info.pt_BR.auto | File | 90 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 114 B | 0644 |
|
module.info.ru | File | 35 B | 0644 |
|
module.info.ru.auto | File | 111 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 116 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 115 B | 0644 |
|
module.info.sv | File | 25 B | 0644 |
|
module.info.sv.auto | File | 84 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 235 B | 0644 |
|
module.info.tr | File | 28 B | 0644 |
|
module.info.tr.auto | File | 99 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 150 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 160 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 138 B | 0644 |
|
module.info.zh | File | 25 B | 0644 |
|
module.info.zh.auto | File | 76 B | 0644 |
|
module.info.zh_TW | File | 34 B | 0644 |
|
module.info.zh_TW.auto | File | 82 B | 0644 |
|
mpm_netware.pl | File | 1.26 KB | 0755 |
|
mpm_winnt.pl | File | 801 B | 0755 |
|
notes | File | 1.12 KB | 0644 |
|
perchild.pl | File | 4.05 KB | 0755 |
|
postinstall.pl | File | 92 B | 0755 |
|
prefork.pl | File | 796 B | 0755 |
|
prefs.info | File | 52 B | 0644 |
|
reconfig.cgi | File | 543 B | 0755 |
|
reconfig_form.cgi | File | 1.55 KB | 0755 |
|
remove_vserv.pl | File | 814 B | 0755 |
|
restart.cgi | File | 1019 B | 0755 |
|
save_authgroup.cgi | File | 1.09 KB | 0755 |
|
save_authuser.cgi | File | 1.17 KB | 0755 |
|
save_defines.cgi | File | 462 B | 0755 |
|
save_dir.cgi | File | 640 B | 0755 |
|
save_files.cgi | File | 745 B | 0755 |
|
save_global.cgi | File | 483 B | 0755 |
|
save_gmime_type.cgi | File | 745 B | 0755 |
|
save_htaccess.cgi | File | 671 B | 0755 |
|
save_mods.cgi | File | 883 B | 0755 |
|
save_sync.cgi | File | 488 B | 0755 |
|
save_virt.cgi | File | 1.05 KB | 0755 |
|
save_vserv.cgi | File | 3.73 KB | 0755 |
|
search_virt.cgi | File | 4.12 KB | 0755 |
|
show.cgi | File | 3.64 KB | 0755 |
|
show_dir.cgi | File | 1.99 KB | 0755 |
|
show_files.cgi | File | 1.99 KB | 0755 |
|
show_htaccess.cgi | File | 2.02 KB | 0755 |
|
show_virt.cgi | File | 2.12 KB | 0755 |
|
start.cgi | File | 309 B | 0755 |
|
stop.cgi | File | 290 B | 0755 |
|
syslog_logs.pl | File | 457 B | 0755 |
|
useradmin_update.pl | File | 957 B | 0755 |
|
virt_index.cgi | File | 4.92 KB | 0755 |
|
worker.pl | File | 1.57 KB | 0755 |
|