El Jue 11 Jun 2009 14:15:21 Jeremy Cowles escribió:
> I created a project with an internal IP address (192.x.x.x) and now I want
> to test it with clients out on the internet. So I've changed the address to
> my public address (78.x.x.x) in project.xml and recreated the apps (xadd,
> update versions).
> Now clients can attach to the project using the public address, but they
> fail to receive workunits. When I turn on more detailed logging on the
> client, I continue to see the 192.x.x.x address, even though it says that
> the main URL is 78.x.x.x (on the client).
>
> Is there something I need to do to reset the client or the project? I cant
> find instances of 192.x.x.x in any of the configuration.

Changing a project master URL is not a trivial task. It's recommended that 
projects avoid keeping things prone to change in their project URLs, like 
using an IP address, or even putting the university they are in as part of 
the hostname (dock...@home had to change the URL twice or so because they 
changed university / organization / department / something). Thus, the best 
way is having a domain name just for that project. Good URLs don't change.

Even having multiple projects as boinc.example.org/project1 and 
boinc.example.org/project2 may be problematic if you eventually decide you 
want to move project2 to a different server. It's best to have 
project1.example.org and project2.example.org so they can (now or in the 
future) have different IP addresses. 

All that said, here is how you change a project URL:

1. Pick a *good* new URL according to the above recommendations, so that you 
will never need to change it again.
2. If the project was ever public, post news to let users now the URL will 
change.
3. If you have any tasks in progress or waiting to be sent, it's recommended 
you wait until they are all done before changing the URL. And/or abort the 
unsent tasks. You *could* edit the database to fix URLs for input files, to 
make the unsent workunits work once the URL is changed; but if users already 
have workunits on their computers, they will still have old URLs and you 
can't edit that.
4. Stop the project.
5. Replace URL everywhere in config.xml
6. Replace scheduler URL in html/users/schedulers.txt. Prefix should match the 
URL in <cgi_url> in config.xml.
7. If you have project-wide files, like logos for the simple GUI, replace 
download URLs in project_files.xml
8. Delete everything in html/cache, since cached pages may have links to the 
old URL, and users would get broken links for an hour or so. Don't delete the 
cache folder itself. rm -rf html/cache/*
9. Either create new application versions, or update the app_version table to 
have the new URLs:
UPDATE app_version SET xml_doc = 
REPLACE(xml_doc, "http://old.example.com/";, "http://new.example.org/";);
10. If you have forums, you may want to do a similar replacement on forum 
contents, in case users posted links to workunits / users / computers / 
something.
11. Start the project, send some test workunits,  and hope it works. Keep a 
copy of "Murphy's Law - and other reasons why things go wrong" handy.

[to be cleaned up and posted on the wiki]
_______________________________________________
boinc_dev mailing list
boinc_dev@ssl.berkeley.edu
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to