Transfering mailman lists between servers
I have read and attempted to follow the instructions given in the FAQ but I am unable to successfully transfer mailman lists between two machines.
The source host is running mailman-2.1.5-8, the target host is running mailman-2.1.5-33.rhel4. I first created the lists on the target host in order that any logical or hard links would be set up for the archives. I next shutdown and cleared out the mail services on the source host. I then tarred the source hosts's mailman/archives/private and mailman/lists and transferred these to the target host and restored them into the appropriate directories.
Now when I access the web admin screen on the target host I am told that there are no lists configured at all. But, if I try and add one of the lists that I transferred then I am told that it already exists. What piece of configuration data am I missing and how do I provide it?
Regards, Jim
--
*** e-mail is not a secure channel ***
mailto:byrnejb.<token>@harte-lyne.ca
James B. Byrne Harte & Lyne Limited
vox: +1 905 561 1241 9 Brockley Drive
fax: +1 905 561 0757 Hamilton, Ontario
<token> = hal Canada L8E 3C3
James B. Byrne wrote:
Now when I access the web admin screen on the target host I am told that there are no lists configured at all. But, if I try and add one of the lists that I transferred then I am told that it already exists. What piece of configuration data am I missing and how do I provide it?
Are the domains different. Were the list visible when you first created them? See http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq04.029.htp. You probably need to run fix_url.py. You may also need to rebuild the archives with bin/arch if the "more info" links need to be fixed.
-- Mark Sapiro msapiro@value.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 28 Mar 2005 at 11:38, Mark Sapiro wrote:
Are the domains different. Were the list visible when you first created them? See http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq04.029. htp . You probably need to run fix_url.py. You may also need to rebuild the archives with bin/arch if the "more info" links need to be fixed.
Here is the scenario. These lists are presently hosted on a server that is to be decommissioned. At that time the host name of that server will be transferred to the target machine as a CNAME. I wish to confirm that the lists are reachable from the network on the new host before cutting over. I infer from the instructions given above that in order to test this I will have to run:
bin/withlist -l -r fix_url <listname> -u
for each list, test, and when the host name change occurs then redo it on the same host with the old name again:
bin/withlist -l -r fix_url <listname> -u
In a similar fashion the archives need to be reconstructed using bin/arch.
Does this describe the situation?
Regards, Jim
--
*** e-mail is not a secure channel ***
mailto:byrnejb.<token>@harte-lyne.ca
James B. Byrne Harte & Lyne Limited
vox: +1 905 561 1241 9 Brockley Drive
fax: +1 905 561 0757 Hamilton, Ontario
<token> = hal Canada L8E 3C3
James B. Byrne wrote:
On 28 Mar 2005 at 11:38, Mark Sapiro wrote:
Are the domains different. Were the list visible when you first created them? See http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq04.029. htp . You probably need to run fix_url.py. You may also need to rebuild the archives with bin/arch if the "more info" links need to be fixed.
Here is the scenario. These lists are presently hosted on a server that is to be decommissioned. At that time the host name of that server will be transferred to the target machine as a CNAME. I wish to confirm that the lists are reachable from the network on the new host before cutting over. I infer from the instructions given above that in order to test this I will have to run:
bin/withlist -l -r fix_url <listname> -u
for each list, test, and when the host name change occurs then redo it on the same host with the old name again:
bin/withlist -l -r fix_url <listname> -u
In a similar fashion the archives need to be reconstructed using bin/arch.
Does this describe the situation?
Depending on just how much testing you want to do, you could skip all of the above. You won't see any lists on the http://newhostname.domain.tld/mailman/listinfo/ or the http://newhostname.domain.tld/mailman/admin pages, but you should still see and be able to administer the lists by going to http://newhostname.domain.tld/mailman/listinfo/<listname> and http://newhostname.domain.tld/mailman/admin/<listname> pages and visiting their archives.
Also, if you set VIRTUAL_HOST_OVERVIEW = Off in mm_cfg.py, you should also see all the public lists on the first two pages. This should be enough to let you know things are working without actually going through all the fix_url and bin/arch stuff.
-- Mark Sapiro msapiro@value.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Your suggested approach worked and, as far as I can tell, I simply need to change the DNS records to complete the swap. At the worst I will simply have to switch back to the original server and rethink things.
Thank you.
--
*** e-mail is NOT a secure channel *** James B. Byrne mailto:ByrneJB.<token>@Harte-Lyne.ca Harte & Lyne Limited http://www.harte-lyne.ca 9 Brockley Drive vox: +1 905 561 1241 Hamilton, Ontario fax: +1 905 561 0757 Canada L8E 3CE delivery <token> = hal
In the continuing saga of transferring mailman hosts (and moving from mailman mailman-2.1.5-8 to mailman-2.1.5-33) I performed the cut-over this morning using the following steps:
Shutdown SMTP service on the old mailman host (service sendmail stop)
Clear mqueue of all outstanding mailman deliveries (sendmail - qRmailman)
Clear data of all outstanding mailman administrative requests (as a practical matter there were none).
Shutdown Mailman service on the old mailman host (service mailman stop)
# cd /var/lib/mailman
# tar -xvf mailmanArchives.tar /var/lib/mailman/archives
# tar -xvf mailmanLists.tar /var/lib/mailman/lists
# gzip -S .gz mailman*tar
Down and remove mailman IP alias address on old host. (webmin Networking module - use ifconfig and edit etc/sysconfig entries if done manually)
Log on to new mailman host.
Stop mailman service (service mailman stop).
# cd /var/lib/mailman
# sftp <oldhost>; sftp> get /var/lib/mailman/mailman*.tar.gz; sftp> quit
tar -xvzf mailman*.tar.gz
/usr/lib/mailman/bin/check_perms -f -v
Add mailman IP alias address to new host NIC (webmin as above)
Start mailman service on new host (service mailman start)
Make sure that /etc/httpd/conf/httpd.conf is configured to listen on the new IP address.
Restart httpd service on new host (service httpd restart)
Browse to mailman.domain.tld/mailman - mailman Greeting page displays! All the public lists are listed! All the list subscriber pages are reachable by hyperlink! Subscriber requests work! All list administrative pages are reachable by hyperlink!
Administrative requests work!
!!!Archives unreachable??????
The Link to a transferred list's archives gives the following error:
Forbidden
You don't have permission to access /pipermail/transferlist/ on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.0.52 (CentOS) Server at mailman.domain.tld Port 80
/var/log/httpd/error_log:
[Tue Mar 29 11:37:55 2005] [error] [client 216.185.xxx.xxx] Symbolic link not allowed: /var/lib/mailman/archives/public/transferlist
However, a list that was created on the new machine links to its own archives without problems.
This is the mailman.conf file contents:
/etc/httpd/conf.d/mailman.conf
# # httpd configuration settings for use with mailman. #
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
Alias /pipermail/ /var/lib/mailman/archives/public/
# Uncomment the following line, replacing www.example.com with your server's # name, to redirect queries to /mailman to the listinfo page (recommended).
RedirectMatch ^/mailman[/]*$ http://mailman.domain.tld/mailman/listinfo
Now, the interesting thing is that the locally created lists have archive hyperlinks of the form mailman.domain.tld while the transferred lists have archive hyperlinks of the form <realhostname>.domain.tld. I am not sure how this can be but it is the case none the less. So, do I run bin/fix_url.py or add an additional redirect directive to conf.d/mailman.conf or do something else?
Any and all assistance greatly appreciated.
Regards, Jim
--
*** e-mail is not a secure channel ***
mailto:byrnejb.<token>@harte-lyne.ca
James B. Byrne Harte & Lyne Limited
vox: +1 905 561 1241 9 Brockley Drive
fax: +1 905 561 0757 Hamilton, Ontario
<token> = hal Canada L8E 3C3
James B. Byrne wrote"
!!!Archives unreachable??????
The Link to a transferred list's archives gives the following error:
Forbidden
You don't have permission to access /pipermail/transferlist/ on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.0.52 (CentOS) Server at mailman.domain.tld Port 80
/var/log/httpd/error_log:
[Tue Mar 29 11:37:55 2005] [error] [client 216.185.xxx.xxx] Symbolic link not allowed: /var/lib/mailman/archives/public/transferlist
However, a list that was created on the new machine links to its own archives without problems.
This is the mailman.conf file contents:
/etc/httpd/conf.d/mailman.conf
# # httpd configuration settings for use with mailman. #
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/
AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> Alias /pipermail/ /var/lib/mailman/archives/public/
Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>
You have Options FollowSymLinks so that should be OK, but it apparently doesn't get applied when the host is <realhostname>.domain.tld.
Now, the interesting thing is that the locally created lists have archive hyperlinks of the form mailman.domain.tld while the transferred lists have archive hyperlinks of the form <realhostname>.domain.tld. I am not sure how this can be but it is the case none the less. So, do I run bin/fix_url.py or add an additional redirect directive to conf.d/mailman.conf or do something else?
What happens if you go to http://mailman.domain.tld/pipermail/transferlist/
Do the directives in mailman.conf only apply to the mailman.domain.tld host?
Where are these hyperlinks of the form http://<realhostname>.domain.tld/pipermail/... Are they everywhere in the archive or just on the listinfo page? Have you changed PUBLIC_ARCHIVE_URL in mm_cfg.py?
If the various links to the listinfo and admin pages have the right domain, you probably don't need to run fix_url.py.
If the 'bad' links are everywhere in the archive, then they were that way on the old machine. If you want to 'fix' them, you need to run
bin/arch --wipe
for each list, but it might be better to figure out what's needed in the Apache config to make things work as they are.
-- Mark Sapiro msapiro@value.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 29 Mar 2005 at 9:49, Mark Sapiro wrote:
What happens if you go to http://mailman.domain.tld/pipermail/transferlist/
Forbidden
You don't have permission to access /pipermail/transferlist/ on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Do the directives in mailman.conf only apply to the mailman.domain.tld host?
To my knowledge, no. As far as I can tell the mailman.conf
directives are applied across every IP address on the server.
There are no other redirects specified elsewhere that deal with
\mailman or \pipermail and I lack sufficient experience with http
directives to know whether or not this situation can be resolved by
adding a second Redirectmatch for the fqdn host or if that would
just override the one for the mailman aliased hostname.
Where are these hyperlinks of the form http://<realhostname>.domain.tld/pipermail/... Are they everywhere in the archive or just on the listinfo page?
All the archives, both the testlist and the others, have embedded http links of the form:
testlist/2004-July/index.html: <li><b><a href="http://mailman.domain.tld/mailman/listinfo/testlist">More info on this list...
and
/thread.html: <li><b><a href="http://mailman.domain.tld/mailman/listinfo/reallist">
Have you changed PUBLIC_ARCHIVE_URL in mm_cfg.py?
No.
Thanks, Jim
--
*** e-mail is not a secure channel ***
mailto:byrnejb.<token>@harte-lyne.ca
James B. Byrne Harte & Lyne Limited
vox: +1 905 561 1241 9 Brockley Drive
fax: +1 905 561 0757 Hamilton, Ontario
<token> = hal Canada L8E 3C3
James B. Byrne wrote:
On 29 Mar 2005 at 9:49, Mark Sapiro wrote:
What happens if you go to http://mailman.domain.tld/pipermail/transferlist/
Forbidden
You don't have permission to access /pipermail/transferlist/ on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
OK, now I'm really confused. I thought you said when you went to
http://<realhostname>.domain.tld/pipermail/transferlist/ you got the
above error, and if you went to
http://mailman.domain.tld/pipermail/
Are you saying that that is correct, but going to an 'old list' archive using either host name gives the 403? If that is the case, it must be a permission issue. Check the group and permissions in the archives/private/ directory for both old and new lists. If all that looks OK, it might be a SeLinux issue. Search the archives with http://www.google.com/search?&q=site%3Amail.python.org+inurl%3Amailman-users+selinux for more on this.
-- Mark Sapiro msapiro@value.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (2)
-
James B. Byrne
-
Mark Sapiro