From 2e7c59c24470766e37309c7a8bfa4c7b81c57614 Mon Sep 17 00:00:00 2001 From: Derrell Lipman Date: Wed, 3 Jan 2007 19:57:40 +0000 Subject: r20515: Continued work on the Web Application Framework. Until we get all of the functionality of the old scripts incorporated into the new framework, the old scripts need to still be available. I've reverted to having the old scripts be the default pages, and added an option to access the preview of the new SWAT. (This used to be commit b43620d4b8eff815f4a6dc02522a8dfc9fdcaef4) --- webapps/install/vampire.esp | 120 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 webapps/install/vampire.esp (limited to 'webapps/install/vampire.esp') diff --git a/webapps/install/vampire.esp b/webapps/install/vampire.esp new file mode 100644 index 0000000000..9ce874cd18 --- /dev/null +++ b/webapps/install/vampire.esp @@ -0,0 +1,120 @@ +<% page_header("columns", "Windows to Samba Migration", "install"); + + include("/scripting/forms.js"); + libinclude("base.js"); + libinclude("provision.js"); + + var misc = misc_init(); +%> + +

Windows to Samba4 domain migration

+ +<% +var f = FormObj("Provisioning", 0, 2); +var i; +var lp = loadparm_init(); + +if (lp.get("realm") == "") { + lp.set("realm", lp.get("workgroup") + ".example.com"); +} + + +var subobj = provision_guess(); +/* Don't supply default password for web interface */ +subobj.ADMINPASS = ""; + +f.add("REALM", "DNS Domain Name"); +f.add("DOMAIN", "NetBIOS Domain Name"); +f.add("ADMIN", "Administrator Username"); +f.add("ADMINPASS", "Administrator Password", "password"); +f.add("HOSTNAME", "My Hostname"); +f.add("HOSTIP", "My Host's IP"); +f.add("DEFAULTSITE", "Default Site"); +f.submit[0] = "Migrate"; +f.submit[1] = "Cancel"; + +if (form['submit'] == "Cancel") { + redirect("/"); +} + +if (form['submit'] == "Migrate") { + for (r in form) { + subobj[r] = form[r]; + } +} + +for (i=0;iWe need the administrator password for the " + subobj.DOMAIN + " domain to proceed. Please try again."); + f.display(); + } else if (!provision_validate(subobj, writefln)) { + f.display(); + } else if (strupper(lp.get("server role")) == "PDC") { + writefln("You need to set 'server role' to 'member server' before starting the migration process"); + } else { + var creds = credentials_init(); + var samdb; + creds.set_username(form.ADMIN); + creds.set_password(form.ADMINPASS); + creds.set_domain(form.DOMAIN); + creds.set_realm(form.REALM); + + var info = new Object(); + var paths = provision_default_paths(subobj); + var session_info = session.authinfo.session_info; + var credentials = session.authinfo.credentials; + + info.credentials = credentials; + info.session_info = session_info; + info.message = writefln; + info.subobj = subobj; + + /* Setup a basic database structure, but don't setup any users */ + if (!provision(subobj, writefln, true, paths, + session_info, credentials)) { + writefln("Provision failed!"); + + /* Join domain */ + } else if (!join_domain(form.DOMAIN, form.HOSTNAME, misc.SEC_CHAN_BDC, creds, writefln)) { + writefln("Domain Join failed!"); + + /* Vampire */ + } else if (!vampire(form.DOMAIN, session.authinfo.session_info, + session.authinfo.credentials, writefln)) { + writefln("Failed to syncronsise remote domain into local database!"); + } else if (!provision_dns(subobj, writefln, paths, + session.authinfo.session_info, session.authinfo.credentials)) { + writefln("DNS Provision failed!"); + } else if (!(samdb = open_ldb(info, paths.samdb, false))) { + writefln("Opening " + paths.samdb + " failed!"); + info.samdb = samdb; + } else if (!setup_name_mappings(info, samdb)) { + writefln("Setup of name mappings failed!"); + } else { + var zonepath = paths.dns; + %> +

Database migrated!

+ +You need to do the following to complete the process: + + + <% + } + } +} else { + f.display(); +} +%> + + +<% page_footer(); %> -- cgit