%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,mail,shell_exec,system,proc_open,popen,ini_alter,dl,proc_close,curl_exec,curl_multi_exec,readfile,parse_ini_file,escapeshellarg,escapeshellcmd,show_source,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,mail,php_uname,phpinfo MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/apache/ |
Upload File : |
#!/usr/bin/perl # virt_index.cgi # Display a menu for some specific virtual server, or the default server require './apache-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); &can_edit_virt($v) || &error($text{'virt_ecannot'}); $desc = &text('virt_header', &virtual_name($v)); &ui_print_header($desc, $text{'virt_title'}, "", undef, undef, undef, undef, &restart_button()); # Display header and icons $sw_icon = { "icon" => "images/show.gif", "name" => $text{'virt_show'}, "link" => "show.cgi?virt=$in{'virt'}" }; if ($in{'virt'} && $access{'types'} eq '*') { $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'virt_edit'}, "link" => "manual_form.cgi?virt=$in{'virt'}" }; } if ($v->{'value'} =~ /:80$/ || $v->{'value'} !~ /:/) { # Hide SSL icon for non-SSL sites $access_types{14} = 0; } &config_icons("virtual", "edit_virt.cgi?virt=$in{'virt'}&", $sw_icon, $ed_icon ? $ed_icon : ()); # Display per-directory options @dir = ( &find_directive_struct("Directory", $conf) , &find_directive_struct("DirectoryMatch", $conf), &find_directive_struct("Files", $conf), &find_directive_struct("FilesMatch", $conf), &find_directive_struct("Location", $conf), &find_directive_struct("LocationMatch", $conf), &find_directive_struct("Proxy", $conf) ); if (@dir) { print &ui_hr(); print &ui_subheading($text{'dir_title'}); foreach $d (@dir) { $what = &dir_name($d); substr($what, 0, 1) = uc(substr($what, 0, 1)); push(@links, "dir_index.cgi?idx=".&indexof($d, @$conf). "&virt=$in{'virt'}"); push(@titles, $what); push(@icons, "images/dir.gif"); push(@types, $d->{'name'}); } if ($config{'show_list'}) { # Show as list print &ui_columns_start([ $text{'virt_path'}, $text{'virt_type'} ]); for($i=0; $i<@links; $i++) { print &ui_columns_row([ &ui_link($links[$i], $titles[$i]), $text{'virt_'.$types[$i]} ]); } print &ui_columns_end(); } else { # Show as icons &icons_table(\@links, \@titles, \@icons, 3); } print "<p>\n"; } # Show form to create a dir print &ui_form_start("create_dir.cgi", "post"); print &ui_hidden("virt", $in{'virt'}); print &ui_table_start($text{'virt_adddir'}, undef, 2); print &ui_table_row($text{'virt_type'}, &ui_select("type", undef, [ map { [ $_, $text{'virt_'.$_} ] } $httpd_modules{'core'} >= 2.0 ? ( "Directory", "Files", "Location", "Proxy" ) : $httpd_modules{'core'} >= 1.2 ? ( "Directory", "Files", "Location" ) : ( "Directory", "Location" ) ])); if ($httpd_modules{'core'} >= 1.2) { print &ui_table_row($text{'virt_regexp'}, &ui_radio("regexp", 0, [ [ 0, $text{'virt_exact'} ], [ 1, $text{'virt_re'} ] ])); } print &ui_table_row($text{'virt_path'}, &ui_textbox("path", undef, 50)); print &ui_table_end(); print &ui_form_end([ [ "", $text{'create'} ] ]); $d = &is_virtualmin_domain($v); if ($in{'virt'} && $access{'vaddr'} && !$d) { # Show form for changing virtual server print &ui_hr(); print &ui_form_start("save_vserv.cgi"); print &ui_hidden("virt", $in{'virt'}); print &ui_table_start($text{'virt_opts'}, undef, 2); $val = $v->{'value'}; if ($val =~ /\s/) { $addrs = $val; } if ($val =~ /^\[(\S+)\]:(\d+)$/) { # IPv6 address and port $addr = $1; $port = $2; } elsif ($val =~ /^\[(\S+)\]$/) { # IPv6 address $addr = $1; } elsif ($val =~ /^(\S+):(\d+)$/) { # IPv4 address or hostname and port $addr = $1; $port = $2; } else { # IPv4 address or hostname $addr = $val; } if ($addrs) { # Multiple addresses and ports print &ui_table_row($text{'vserv_addrs'}, &ui_textarea("addrs", join("\n", split(/\s+/, $addrs)), 4, 30)); } else { # Address and port print &ui_table_row($text{'vserv_addr'}, &ui_radio("addr_def", $addr eq "_default_" ? 1 : $addr eq "*" ? 2 : 0, [ [ 1, $text{'vserv_addr1'} ], [ 2, $text{'vserv_any'} ], [ 0, &ui_textbox("addr", $addr eq "*" || $addr eq "_default_" ? "" : $addr, 40) ] ])); print &ui_table_row($text{'vserv_port'}, &choice_input($port eq "*" ? 1 : $port > 0 ? 2 : 0, "port_mode", "0", "$text{'vserv_default'},0", "$text{'vserv_any'},1", ",2"). &ui_textbox("port", $port > 0 ? $port : "", 5)); } # Document directory $root = &find_directive_struct("DocumentRoot", $v->{'members'}); print &ui_table_row($text{'vserv_root'}, &opt_input($root->{'words'}->[0], "root", $text{'vserv_default'}, 50). &file_chooser_button("root", 1, 1)); print &ui_hidden("old_root", $root->{'words'}->[0]); # Server name $name = &find_directive("ServerName", $v->{'members'}); print &ui_table_row($text{'vserv_name'}, &opt_input($name, "name", $text{'vserv_default'}, 30)); print &ui_table_end(); print &ui_form_end([ [ undef, $text{'save'} ], [ "delete", $text{'delete'} ] ]); } elsif ($in{'virt'} && $access{'vaddr'} && $d) { print "<b>",&text('vserv_virtualmin', $d->{'dom'}),"</b><p>\n"; } &ui_print_footer("", $text{'index_return'});