Index: locker/deploy/bin/advancedbook
===================================================================
--- locker/deploy/bin/advancedbook	(revision 470)
+++ locker/deploy/bin/advancedbook	(revision 472)
@@ -29,4 +29,10 @@
 close(FILE);
 
-totmp("-d \"action=Create%20table&db=$sqldbcurl&host=$sqlhost&name=$sqluser&pass=$sqlpass\"");
-`curl -K $tmp http://$server/~$USER/$addrend/install.php 2>/dev/null`;
+fetch_uri(
+    'install.php',
+    {},
+    {action => 'Create table',
+     db => $sqldb,
+     host => $sqlhost,
+     name => $sqluser,
+     pass => $sqlpass});
Index: locker/deploy/bin/advancedpoll
===================================================================
--- locker/deploy/bin/advancedpoll	(revision 470)
+++ locker/deploy/bin/advancedpoll	(revision 472)
@@ -18,10 +18,14 @@
 close(FILE);
 
-`curl http://$server/~$USER/$addrend/install.php\?action=step_2 2>/dev/null`;
-`curl http://$server/~$USER/$addrend/install.php\?action=step_3 2>/dev/null`;
-`curl http://$server/~$USER/$addrend/install.php\?action=step_4 2>/dev/null`;
+fetch_uri('install.php', {action => 'step_2'});
+fetch_uri('install.php', {action => 'step_3'});
+fetch_uri('install.php', {action => 'step_4'});
 
-totmp("-d \"action=step_6&username=$admin_username&password=$admin_password\""); 
-`curl -K $tmp http://$server/~$USER/$addrend/install.php\?action=step_6 2>/dev/null`;
+fetch_uri(
+    'install.php',
+    {action => 'step_6'},
+    {action => 'step_6',
+     username => $admin_username,
+     password => $admin_password});
 
 `rm -r include/contemp.php`;
Index: locker/deploy/bin/e107
===================================================================
--- locker/deploy/bin/e107	(revision 470)
+++ locker/deploy/bin/e107	(revision 472)
@@ -6,13 +6,36 @@
 setup();
 
-totmp("-d \"server=$sqlhost&name=$sqluser&password=$sqlpass&db=$sqldbcurl&prefix=e107_&stage=3\""); 
-my $preva=`curl -K $tmp http://$server/~$USER/$addrend/install.php 2>/dev/null | grep previous_steps | cut -d "'" -f 6`;
+my ($preva) = fetch_uri(
+    'install.php',
+    {},
+    {server => $sqlhost,
+     name => $sqluser,
+     password => $sqlpass,
+     db => $sqldb,
+     prefix => 'e107_',
+     stage => 3}) =~ /name='previous_steps' value='(.*)'/;
 
-my $prevb=`curl -d "stage=4&previous_steps=$preva" http://$server/~$USER/$addrend/install.php 2>/dev/null | grep previous_steps | cut -d "'" -f 6`;
+my ($prevb) = fetch_uri(
+    'install.php',
+    {},
+    {stage => 4,
+     previous_steps => $preva}) =~ /name='previous_steps' value='(.*)'/;
 
-totmp("-d \"u_name=$admin_username&d_name=$admin_username&pass1=$admin_password&pass2=$admin_password&email=$human\@mit.edu&stage=6&previous_steps=$prevb\"");
-my $prevc=`curl -K $tmp http://$server/~$USER/$addrend/install.php 2>/dev/null | grep previous_steps | cut -d "'" -f 6`;
+my ($prevc) = fetch_uri(
+    'install.php',
+    {},
+    {u_name => $admin_username,
+     d_name => $admin_username,
+     pass1 => $admin_password,
+     pass2 => $admin_password,
+     email => "$human\@mit.edu",
+     stage => 6,
+     previous_steps => $prevb}) =~ /name='previous_steps' value='(.*)'/;
 
-`curl -d "stage=7&previous_steps=$prevc" http://$server/~$USER/$addrend/install.php >/dev/null 2>/dev/null`;
+fetch_uri(
+    'install.php',
+    {},
+    {stage => "7",
+     previous_steps => $prevc});
 
-`rm -rf install.php`;
+unlink 'install.php';
Index: locker/deploy/bin/joomla
===================================================================
--- locker/deploy/bin/joomla	(revision 470)
+++ locker/deploy/bin/joomla	(revision 472)
@@ -11,11 +11,35 @@
 chomp($title);
 
-totmp("-d \"DBhostname=$sqlhost&DBuserName=$sqluser&DBpassword=$sqlpass&DBDel=0&DBname=$sqldbcurl&DBPrefix=jos_&DBSample=1\""); 
-`curl -K $tmp http://$server/~$USER/$addrend/installation/install2.php 2>/dev/null`;
+fetch_uri(
+    'installation/install2.php',
+    {},
+    {DBhostname => $sqlhost,
+     DBuserName => $sqluser,
+     DBpassword => $sqlpass,
+     DBDel => 0,
+     DBname => $sqldb,
+     DBPrefix => 'jos_',
+     DBSample => 1});
 
 my $pwd = `pwd`;
 chomp($pwd);
-totmp("-d \"DBhostname=$sqlhost&DBuserName=$sqluser&DBpassword=$sqlpass&DBname=$sqldbcurl&DBPrefix=jos_&sitename=$title&siteUrl=http://$server/~$USER/$addrend&absolutePath=$pwd&adminEmail=$human%40mit.edu&adminPassword=$admin_password&filePerms=0&dirPerms=0\"");
-`curl -K $tmp http://$server/~$USER/$addrend/installation/install4.php 2>/dev/null`;
+
+print "=== $base_uri ===\n";
+    
+fetch_uri(
+    'installation/install4.php',
+    {},
+    {DBhostname => $sqlhost,
+     DBuserName => $sqluser,
+     DBpassword => $sqlpass,
+     DBname => $sqldb,
+     DBPrefix => 'jos_',
+     sitename => $title,
+     siteUrl => $base_uri,
+     absolutePath => $pwd,
+     adminEmail => "$human\@mit.edu",
+     adminPassword => $admin_password,
+     filePerms => 0,
+     dirPerms => 0});
 
 `rm -rf installation`;
Index: locker/deploy/bin/onserver.pm
===================================================================
--- locker/deploy/bin/onserver.pm	(revision 470)
+++ locker/deploy/bin/onserver.pm	(revision 472)
@@ -11,9 +11,9 @@
 use URI;
 our @ISA = qw(Exporter);
-our @EXPORT = qw(setup totmp fetch_uri print_login_info press_enter $server $tmp $USER $HOME $sname $deploy $addrend $admin_username $requires_sql $addrlast $sqlhost $sqluser $sqlpass $sqldb $sqldbcurl $admin_password $scriptsdev $human);
+our @EXPORT = qw(setup totmp fetch_uri print_login_info press_enter $server $tmp $USER $HOME $sname $deploy $addrend $base_uri $ua $admin_username $requires_sql $addrlast $sqlhost $sqluser $sqlpass $sqldb $sqldbcurl $admin_password $scriptsdev $human);
 
 our $server = "scripts.mit.edu";
 
-our ($tmp, $USER, $HOME, $sname, $deploy, $addrend, $admin_username, $requires_sql, $addrlast, $sqlhost, $sqluser, $sqlpass, $sqldb, $sqldbcurl, $admin_password, $scriptsdev, $human);
+our ($tmp, $USER, $HOME, $sname, $deploy, $addrend, $base_uri, $ua, $admin_username, $requires_sql, $addrlast, $sqlhost, $sqluser, $sqlpass, $sqldb, $sqldbcurl, $admin_password, $scriptsdev, $human);
 
 $tmp = ".scripts-tmp";
@@ -24,6 +24,5 @@
 }
 
-my $ua = LWP::UserAgent->new;
-my $base_uri;
+$ua = LWP::UserAgent->new;
 
 sub fetch_uri {
Index: locker/deploy/bin/phpbb
===================================================================
--- locker/deploy/bin/phpbb	(revision 470)
+++ locker/deploy/bin/phpbb	(revision 472)
@@ -6,6 +6,24 @@
 setup();
 
-totmp("-d \"lang=english&dbms=mysql4&upgrade=0&dbhost=$sqlhost&dbuser=$sqluser&dbname=$sqldbcurl&dbpasswd=$sqlpass&prefix=&board_email=$human\@mit.edu&server_name=$server&server_port=80&script_path=/~$USER/$addrend/&admin_name=$admin_username&admin_pass1=$admin_password&admin_pass2=$admin_password&install_step=1&cur_lang=english\"");
-`curl -K $tmp http://$server/~$USER/$addrend/install/install.php 2>/dev/null`;
+fetch_uri(
+    'install/install.php',
+    {},
+    {lang => 'english',
+     dbms => 'mysql4',
+     upgrade => 0,
+     dbhost => $sqlhost,
+     dbuser => $sqluser,
+     dbname => $sqldb,
+     dbpasswd => $sqlpass,
+     prefix => '',
+     board_email => "$human\@mit.edu",
+     server_name => $server,
+     server_port => 80,
+     script_path => "/~$USER/$addrend/",
+     admin_name => $admin_username,
+     admin_pass1 => $admin_password,
+     admin_pass2 => $admin_password,
+     install_step => 1,
+     cur_lang => 'english'});
 
 `rm -rf contrib install`;
