Server IP : 195.201.23.43 / Your IP : 18.220.50.218 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : 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, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/virtual-server/ |
Upload File : |
#!/usr/bin/perl # Add a new MySQL or PostgreSQL clone module require './virtual-server-lib.pl'; &can_edit_templates() || &error($text{'newmysqls_ecannot'}); &error_setup($text{'newmysqls_err'}); &ReadParse(); # Validate inputs if ($in{'mode'} == 0) { &to_ipaddress($in{'host'}) || &error($text{'newmysqls_ehost'}); &check_ipaddress($in{'host'}) && &error($text{'newmysqls_eip'}); $host = $in{'host'}; } elsif ($in{'mode'} == 1) { $in{'sock'} =~ /^\/\S+$/ || &error($text{'newmysqls_esock'}); $sock = $in{'sock'}; } if (!$in{'port_def'}) { $in{'port'} =~ /^\d+$/ || &error($text{'newmysqls_eport'}); $port = $in{'port'}; } $in{'myuser'} =~ /^\S+$/ || &error($text{'newmysqls_euser'}); $user = $in{'myuser'}; $pass = $in{'mypass'}; $ssl = $in{'ssl'}; # Add the clone module $mm = { 'minfo' => { }, 'config' => { 'host' => $host, 'port' => $port, 'login' => $user, 'pass' => $pass }, }; if ($in{'type'} eq 'mysql') { # Add as MySQL module $mm->{'config'}->{'ssl'} = $ssl; $mm->{'config'}->{'sock'} = $sock; &create_remote_mysql_module($mm); # Check that the MySQL connection works, and delete if not $mod = $mm->{'minfo'}->{'dir'}; &foreign_require($mod, "mysql-lib.pl"); ($ok, $err) = &foreign_call($mod, "is_mysql_running"); if ($ok != 1) { &delete_remote_mysql_module($mm); &error(&text('newmysqls_econn', $err)); } } else { # Add as PostgreSQL module $sock && &error($text{'newmysqls_esock2'}); $mm->{'config'}->{'sslmode'} = 'require' if ($ssl); &create_remote_postgres_module($mm); # Check that the connection works $mod = $mm->{'minfo'}->{'dir'}; &foreign_require($mod, "postgresql-lib.pl"); ($ok, $err) = &foreign_call($mod, "is_postgresql_running"); if ($ok != 1) { &delete_remote_postgres_module($mm); &error(&text('newmysqls_econn', $err)); } } &webmin_log("create", "newmysql", $host || $sock, $mm->{'config'}); &redirect("edit_newmysqls.cgi");Private