Posted on: 08/30/04 08:59am
By: danv
I just installed GL on 2 separate servers for 2 sites for public schools. Both servers run MacOSX10.3, and went thru the exact same process on both machines, but I am having the problems logging into GL on one of them.
Here's the deal:
Server 1 - users hit via URL (works completely.) I can login to GL from Server 1, from Server 2, other Macs, and from a laptop using Windows/IE.
Server 2 - users access via IP address - there is no DNS entry for this machine (and only some users can login.) I can not login to GL on this machine from Server 1 or 2, or other Mac's, but I CAN login to GL from Windows/IE laptop.
SO - basically Mac's can login to GL on server 1 but not server 2. Windows machine can login to GL on both.
The Mac machines don't get a cookie from server 2, the Windows machine does. The Macs are configured to accept all cookies, and can login to GL site on Server1, so I believe I've isolated it to the config.php on server 2.
I went thru the FAQ, and adjusted cookie settings to make sure I'm not having a cookie collision (gave different cookie names, and tried changing cookiedomain - same result regardless - Windows can login to GL, Mac cannot.)
Are the Mac's are not accepting the cookie from server 2 because they are hitting the website via IP, and they want to have a DNS name instead?
Current issues with (no) tech people running DNS with this organization make it very difficult to get a new DNS name for Server 2. Is there a workaround that would allow me to get Mac's to login to server 2 without configuring a DNS name for it?
Many thanks,
Dan
Login fails on OSX, works on Windows
Posted on: 08/30/04 02:11pm
By: macboy
1) What browser are you using on the Mac clients, and what OS is running on them.
2) Clear the browser cache on the Macs, and then do a shift-refresh just to make sure..
3) Do you have Server2's IP address where the DNS name should be in config.php
4) Is the GL site running OS X server or client?
5) I'd be happy to help you test. I'm also running GL on OS 10.3 and 10.2
Login fails on OSX, works on Windows
Posted on: 08/30/04 05:33pm
By: danv
1) Mac clients running Safari on 10.3 also. To clarify... they CAN login to GL on server 1, just not on server 2.
2) I also tried IE on the clients, and no dice. Cleared cache, shift-refresh, etc..., they just don't even get the cookie from the server 2 session, regardless of browser.
3) Yes. Currently http://IPaddress
4) GLsite running on OSX client
5) Unfortunately the server that's not working is on an internal, non-routable IP, so that one I can't have you connect to.
I'm not a Mac specialist, but it seems that the Macs know more about each other than the Windows machine knows about them, which is causing the Mac's to deny the cookie based on security that the name of the cookie (with the IP as domain name) isn't matching what they're expecting from that machine... does that sound reasonable? And if so, what would the Mac client be expecting (so I can populate that into the cookiename...)
I appreciate your help.
Dan
Login fails on OSX, works on Windows
Posted on: 08/30/04 05:52pm
By: macboy
1) That's what boggles me the most - that fact that Server1 works fine. I'm starting to wonder if it's more of a config problem.
2) OR, perhaps it could be Rendezvous.... I've run into some odd problems with this... "...but it seems that the Macs know more about each other than the Windows machine knows about them..."
3) This sounds dumb, but have you shut down the client and rebooted it during your testing? Also, have you checked from more than one Mac client?
4) Are the Mac clients connected to a OS X server?
5) Have you logged into the Mac as a different user and duplicated the problem?
I'll email you to discuss more off-line.
Login fails on OSX, works on Windows
Posted on: 08/30/04 06:37pm
By: danv
1) I too think it's a config issue, and I'm convinced that it's solely because of the IP address with no DNS entry, because other that that, server 1 and server2 config is identical.
I'm going to test that out later, by switching the config's on the two machines. But that has to wait until tomorrow for other reasons.
In the meantime, other speculation about what might be the issue at hand here is welcome!
2) I don't know what Rendezvous is (in terms of Macs...) but I thought that perhaps the communication protocol may be different between the Macs, than between the Mac server and Windows client, resulting in the Macs denying the cookie...
does this thought make sense? And if so, what would the client expect, so that I can try that in the cookie_domain...
3) Sure have. Lots of times. Several different clients. All same result.
4) Clients do not connect to OSX server, just a network of standalones...
5) Yes. different users, same result...
Thanks for the email follow up... will post again after next test tomorrow.
Dan
Login fails on OSX, works on Windows
Posted on: 08/31/04 08:46am
By: rjrufo
I recently switched my GL to a Mac OSX machine, and had a similar problem. I checked the differences in many files from the UNIX machine that previously ran the site and the OSX machine. The only difference I could find was that in php.ini, register_globals was off instead of on. Once I fixed that, the site ran perfectly - even faster than the UNIX machine. (It is a geriatric machine, so I'm not surprised.)
You may want to verify that register_globals is on, since that was causing me problems similar to yours.
Login fails on OSX, works on Windows
Posted on: 08/31/04 10:14am
By: danv
Thanks, but yep, I did this in the course of the setup, and checked it again, and again the only difference between the 2 servers is the IP instead of URL.
And the weirdest thing is that I can login into GL on this server from a Windows machine... so it's not like the server isn't working.
It's that the Mac clients don't accept the cookie for some reason.
Thank you for the suggestion.
Dan
Login fails on OSX, works on Windows
Posted on: 08/31/04 11:01am
By: rjrufo
Are you using OSX' built in web server, or something else? You said that it's not accessible from the net, how are you blocking it from the outside world? Firewall? NAT?
Have you tried deleting all your cookies?
I think it's strange that your Macs can't log in, but your Windows machine can. I also find it strange that your Macs aren't accepting cookies. Have you tried various browsers such as Camino, Firebird, or even IE for Mac?
Login fails on OSX, works on Windows
Posted on: 08/31/04 11:27am
By: macboy
I'm actually starting to think the Mac's CAN login.... but the refresh isn't working.
Try this...
Go to Server2 and type in your login credentials. After the page redraws and it "looks" like you didn't login, do a shift-refresh. If that doesn't work, do it again. I had this issue with one of my GL sites running under OS X, but the problem went away after a GL upgrade.
BTW, what's the cookie name from Server2???
Login fails on OSX, works on Windows
Posted on: 08/31/04 02:13pm
By: danv
OK - I know I'm going to hear about it on this, but the school wants to use Webstar for their server.
Now before anyone says "there's the problem," have a look at server1 - which IS working, and also uses Webstar:
www.mves.aps.edu
As far as why they want to use Webstar, it has to do with ease of administration, automatic updates, and support/license agreements. Understand, they don't have tech people - teachers are going to maintain this site after I get GL set up for them.
Yep, I've deleted cookies, and tried IE for Mac.
And to answer your question, macboy, I have tried the refresh trick as well, with no result. The cookie just never shows up on the client Mac.
As far as how server2 is non-accessable, it's just on a non-routable IP on a completely internal network. It's to be used by the kids in the school, and this provides them with a way to safely chat, post their work, etc. Server1 is for the school to communicate to the outside world, but kids won't use it.
Login fails on OSX, works on Windows
Posted on: 08/31/04 02:22pm
By: danv
UPDATE:
Part of this project was to document the process so it could be duplicated at other elementary schools. This way they can have their own sites without paying a company $200/month to host it for them.
So - I'm now cloning server1 over server2 to test that procedure.
Until I've completed that, and get it config'd back to be the interal server with the IP as Site_URL again, I can't test anymore ideas.
Here's what I would like to request of all of you out there..
Can anyone with a MacOS X10.3 GL server, try to configure their site_URL as an IP address instead of a URL, then try to login to it with another MacOSX client, and let me know if you can successfully do it. I would be very grateful to know what had to go into the config.php to make it work.
If you can't login with a Mac client - try to login to it with a Windows machine. If that does work then the issue is replicated.
Thank you,
Dan
Login fails on OSX, works on Windows
Posted on: 08/31/04 02:53pm
By: rjrufo
[QUOTE BY= danv]
Can anyone with a MacOS X10.3 GL server, try to configure their site_URL as an IP address instead of a URL, then try to login to it with another MacOSX client, and let me know if you can successfully do it. I would be very grateful to know what had to go into the config.php to make it work.
If you can't login with a Mac client - try to login to it with a Windows machine. If that does work then the issue is replicated.
Thank you,
Dan[/QUOTE]
Dan, out of curiosity, I tried using the IP address on my development server (OSX - 10.3.5 client), with no luck - as far as the Macs are concerned. I don't have any Windows machines anymore, so I couldn't test it with that, but if the Mac didn't receive any cookies, I'm going to assume that that's your problem. I have a duplicate GL installation on the development server to make any modifications that I need, and to test them out, before uploading the changes to the main server. I have the config.php file set to http://localhost, but that won't work for you I'm afraid.
Also, I registered on your site to see how you have it set up, so feel free to delete my account. The username is the same as mine here.
Login fails on OSX, works on Windows
Posted on: 08/31/04 05:13pm
By: danv
Thanks rjrufo... I appreciate you checking it out. I can try a Windows machine if your dev server has public access... let me know.
Dan
Login fails on OSX, works on Windows
Posted on: 09/10/04 08:47pm
By: danv
Well, I finished the clone, and am working on setting up an internal DNS server to get around this problem... still can't figure out why it won't work by IP...
Login fails on OSX, works on Windows
Posted on: 09/10/04 09:49pm
By: Anonymous (AddictedToMac)
Have you tried to put your ip address as the $_CONF['cookiedomain'] in your config.php I think I read somewhere that you have to do that for security reasons for some browsers (I might be mis-remembering though).
Login fails on OSX, works on Windows
Posted on: 09/10/04 11:13pm
By: danv
yes - sure have... and again, it works when logging in via windows, so it's config'd properly, just Mac's can't login.
I read something about browsing in Mac environments by Rendezvous names - so I'm going to try that next, and see if that fixes it - if so - it will also mean that only Mac client's will be able to connect... but that should be OK in this location...
Login fails on OSX, works on Windows
Posted on: 09/10/04 11:24pm
By: macboy
Rendezvous will give you a bogus domain name of "machine-name.local" Windows machines
will fail lookups for this.
You'll find more on Rendezvous (which is actually Apple's name for the Zero-Conf open standard) at
http://www.zeroconf.org/[*1] and also at
http://developer.apple.com/macosx/rendezvous/faq.html[*2] Give it a go and let us know how it works. By the way, OS X's built in Apache under 10.3 (and somewhere in the 10.2.x series) has mod_rendezvous_apple.c configured by default - which lets Apache advertise its websites via Rendezvous. Check the Apache config file in /etc/httpd/httpd.conf and look for
rendezvous_apple_module and
mod_rendezvous_apple.c.
Login fails on OSX, works on Windows
Posted on: 09/15/04 12:30pm
By: danv
OK - this is the answer (I had suspected that someting like this was the case, but thank you's go to macboy for identifying it)...
If I use an IP address for the Site_URL on a GL installation running on a MacOSX machine, I can login with Windows machines AND any MacOS9 or previous - no problems there.
But what happens with the MacOSX clients is that they talk in Rendezvous to the MacOSX server, and they know the Rendezvous name of the server, (machinename.local).
The OSX client rejects the cookie coming from that machine - because GL names it with the Site_URL (in this case the IP) and they expect it to be named with teh Rendezvous name.
SO - to accomodate the OSX clients, I changed the Site_URL to match the Rendezvous name, and browsed to the GL site by Rendezvous name (http://machinename.local), and they now can login great....
the problem with this is that now the Windows and MacOS9 clients cannot login - because they don't speak Rendezvous. (I've looked around for Rendezvous protocol installers for Windows and MacOS9 with no luck so far...)
I've experimented previously with changing around the cookie_name and other settings in the config.php, but this was before I knew about the Rendezvous thing... so I'm next going to see about getting both OS9 and OSX to work by having the Site_URL be the IP address, and manipulating the cookie_name to match the Rendezvous name....
I'll post more if I can figure out anything else.
Login fails on OSX, works on Windows
Posted on: 09/15/04 12:56pm
By: macboy
Since this is indeed the case, the fix is to simply turn off Rendezvous on the server, OR, disable apache from using it. For our purposes, we'll just disable it in Apache. That way all platforms & browsers will be happy (and the fix only takes a few minutes to do)
As always, (insert legal disclaimer here)make sure you back up your httpd.conf file BEFORE editing!!!!!
Open the Apache config file in your favorite editor (I use vi, but you can use whatever floats yer boat!):
sudo vi /etc/httpd/httpd.conf
locate this line:
LoadModule rendezvous_apple_module libexec/httpd/mod_rendezvous_apple.so
...and comment it out like by adding a "#" in front of it so it looks like this:
# LoadModule rendezvous_apple_module libexec/httpd/mod_rendezvous_apple.so
Next, find this line:
AddModule mod_rendezvous_apple.c
and comment it out as well. Save the file and restart Apache. Now Apache will not advertise itself via Rendezvous, and all your problems should be fixed. Let me know how it goes.
Login fails on OSX, works on Windows
Posted on: 09/15/04 01:05pm
By: macboy
This is from the Apple Developer site:
http://developer.apple.com/macosx/rendezvous/[*3]
and says
"...Rendezvous technology is now available on Windows 2000 and XP. This preview release includes full link-local support, allowing Windows machines to discover advertised HTTP and FTP servers using Internet Explorer..."Though installing this on every machine is
NOT the answer, I thought you may find it interesting. There is no hope for OS 9, though. Apple announced last year it was at it's End of Life and no updates would be made pase 9.2.2.
Login fails on OSX, works on Windows
Posted on: 09/15/04 01:46pm
By: danv
[QUOTE BY= macboy] the fix is to simply turn off Rendezvous on the server, OR, disable apache from using it. [/QUOTE]
aaah - but this webserver is runing Webstar instead of Apache... (see above a bit...)
So I'll look up how to disable Rendezvous on the server - or do you have a quick link you can email me?
Thanks a ton, macboy! I really appreciate your help.
Dan
Login fails on OSX, works on Windows
Posted on: 09/15/04 02:03pm
By: macboy
Then I'm not sure how 4D Webstar knows to advertise itself via Rendezvous. Look for this file WSWebServer.prefs.xml or use the Webstar Admin Client and see if there's anything in there to disable Rendezvous advertising of HTTP. If that doesn't work, I'll tell you how to stop Rendezvous from running entirely.
Login fails on OSX, works on Windows
Posted on: 09/16/04 01:03pm
By: Anonymous (danv)
Can't find anything in the webstar config to disable Rendezvous.
Found this on the Apple website to disable Rend. for server: http://docs.info.apple.com/article.html?artnum=151464
Is that the right thing to disable?
Thx, Dan
Login fails on OSX, works on Windows/OS9
Posted on: 09/16/04 01:32pm
By: danv
OK - I disabled Rendezvous in the directory access GUI, and I still can't login with OSX clients... unless I configure "site_url" as machinename.local - but then OS9 clients can't login.
Any other ideas before going the internal DNS route?
thanks again,
Dan
Login fails on OSX, works on Windows
Posted on: 09/16/04 01:47pm
By: macboy
That article does not disable Rendezvous. It just stops the server from discovering certain things, not from offering them. I have to go off-site for the rest of the afternoon. I'll post the removal details for you tonite.
Login fails on OSX, works on Windows
Posted on: 09/17/04 04:35pm
By: danv
Will this do it? (Copied from
this site...[*4] )
If you want to prevent Rendezvous from running on the system, move
/System/Library/StartupItems/mDNSResponder directory to a backup location and restart the system.
Just don't muck around with settings that depend on it, like the Rendezvous plug-in in Directory Access after removing the startup item.
Login fails on OSX, works on Windows
Posted on: 09/17/04 05:02pm
By: macboy
That's exactly what I was going to tell you. In addition, document that you've done it. I have come across a software package or 2 that assumes the mDNSresponder is running if the host is >=10.2... this has wreaked havoc on one commercial package that I deployed...
****CYA disclaimer***
In order to do this, you must be root, or use sudo
from the command line. Backup before doing this, ect.... Here we go!!
sudo mv /System/Library/StartupItems/mDNSResponder ~/Desktop
That will move the file to your desktop (basically, we're not deleting it, just moving it out of the way). Now reboot the machine. ***NOTE we've just broken ALL SERVICES THAT RELY ON Rendezvous on this box. That means no iTunes music sharing, no local iChat using Rendezvous, no Rendezvous file-shares or printers.... You get the point.
If you need to roll this back, simply issue this command:
sudo mv ~/Desktop/mDNSResponder /System/Library/StartupItems/
...and then reboot. All will be well again.
Let me know how this works!!!! If it doesn't, you'll have to run Geeklog in the built-in Apache, and disable mod_rendezvous.
Login fails on OSX, works on Windows
Posted on: 09/17/04 05:28pm
By: rjrufo
After disabling Rendezvous, you can set up Apache 2.0.48 by using the downloadable package, Complete Apache 2, from
Server Logistics[*5] . While you're at it, why not install Complete MySQL as well? I've found them much easier to use than going into Terminal and using the command line. They also have Preference Panes so you can control them from the System Preferences window.
Login fails on OSX, works on Windows
Posted on: 09/18/04 07:46pm
By: danv
Well, I did the directory move & reboot as listed above, and it worked, and it didn't...
Now, I can login with OSX clients using Mozilla, Netscape, or IE - but I cannot login using Safari.
This IS an improvement - before OSX clients could not login - regardless of browser. However, they REALLY want to use Safari - so does anyone have any tips?
I've already cleared the cache, deleted cookies, power refreshed, multiple times... no dice. I don't get the cookie at all with Safari, hence can't login...
Login fails on OSX, works on Windows
Posted on: 09/18/04 08:01pm
By: macboy
Good Job! Glad to hear that it worked (sort-of). What version of Safari, and what OS (10.2 or 10.3)??
You will not be able to use machine-name.local with Safari (if that's what you're trying). You may also have to change you cookie name and the site_url again. Make sure you're not using xxxxx.local anywhere in the config.php file, because Safari will attempt to resolve, and fail (other browsers are not Rendezvous enabled, so they work just fine).
1: Are you using the IP when attempting to connect with Safari?
2: Will Safari even bring up the main page and let you see the login?
I'm guessing that you see the page, and when you click to login, the page refreshes and looks like nothing happened. Is that correct?? If so, my guess is to check your config.php file and make sure you've removed all occurences of xxxx.local.
Let me know!
Login fails on OSX, works on Windows
Posted on: 09/19/04 03:55pm
By: danv
The config.php is solid. There are no instances of machinename.local anywhere in it. The site_url is set to 'http://IP address', and the other cookie settings are the standard defaults.
Other than the login problem on Safari, the site works fine - no images missing or anything else that would indicate a problem in the config.php.
Since Rendezvous has been disabled, I can login with other browsers, regardless of OS. All OS X machines are 10.3. Safari can browse the site, but I can't login with it.
I'm using the IP address to connect to the site - and Safari can see the page, but it doesn't get a cookie (no cookies for the site show up in the cookie folder, yet Safari is configured to accept all cookies. I do get cookies from other sites.)
When connecting via Safari, and attempt to login, I can see the name of the user show up in the 'Who's Online' block, but I also still get the username/password form show up in the 'User Functions' block, and I don't have access to any pieces of the site that are not allowed for anonymous users.
This symptom is much the same as if I disable cookies on the other browsers. When they can't get the cookie they experience the same issue. This is what has been happening, even in the other browsers on OS X clients, before I disabled Rendezvous.
So my guess is that Safari is still communicating in some other protocol to the server machine - even with Rendezvous disabled. And I can demonstrate that Rend. is effectively disabled because I cannot browse to the site any longer by using machinename.local.
Login fails on OSX, works on Windows
Posted on: 09/19/04 09:20pm
By: macboy
This is the same issue I was experiencing with Safari, and a Geeklog site that I was running on 10.2 Server. After login, the page refreshed and showed the login block again in the User Functions. It looked just like I was not logging in.... Checking the site in a different browser showed the user was indeed logged in (just like you described). After trying a few times, I noticed that if I did a shift-refresh after logging in that Safari redrew the pages correctly and the logged-in content appeared. I never went so far as to check the cookies folder, as the shift refresh solved my problem. (this is what I was talking about in our first few posts).
What exactly are your cookie session and cookie name lines? Can you paste them here?
$_CONF['cookie_session'] = 'gl_session';
$_CONF['cookie_name'] = 'geeklog';
Those are the samples.
Login fails on OSX, works on Windows
Posted on: 09/20/04 08:35am
By: dewdoo
I have been running geeklog on my G4 400 "Sawtooth" w/Mac OS X Server not "client" successfully for about 3 years. As I remember I had the same problem trying to run my geek site on "Client Version" of OS X and I had the same problem with logging in. I changed over to Mac OS X Server and been running smoothly, except one thing.....I have to refresh my page twice to login, I believe this a chache issue in Safari. All other browsers worked fine and on the PC too.
On my Mac OS X Server, I had to turn on register_globals on in the php.ini and I turned off permformance cache off. I am using DynDNS.org hostname because I am am on a dynamic ip addy w/my internet provider. If there is anything I can do to help let me know......I gave u some tibits on how I got my Mac to host my Geeklog Site. Oh, one more thing. I also had to port foward 8080 to my site, because my provider has blocked port 80. Dunno if that makes a difference.
My site
here[*6]
Login fails on OSX, works on Windows
Posted on: 09/27/04 08:59am
By: macboy
Hey danv, Haven't heard from you. Did you get it working?
Login fails on OSX, works on Windows
Posted on: 09/27/04 09:48am
By: danv
Well, pretty much. They've decided to use Mozilla - the shift-refresh didn't work, and my cookie settings are just standard - no more changes:
$_CONF['cookie_session'] = 'gl_session';
$_CONF['cookie_name'] = 'geeklog';
$_CONF['cookie_password'] = 'password';
$_CONF['cookie_theme'] = 'theme';
$_CONF['cookie_language'] = 'language';
$_CONF['cookie_lastvisit'] = 'LastVisit';
$_CONF['cookie_lastvisittemp'] = 'LastVisitTemp';
$_CONF['cookie_ip'] = 0;
$_CONF['default_perm_cookie_timeout'] = 604800;
$_CONF['session_cookie_timeout'] = 7200;
$_CONF['cookie_path'] = '/';
$_CONF['cookiedomain'] = ''; // e.g. '.example.com'
$_CONF['cookiesecure'] = 0;
So thanks for all of the help, I'm just having them use Mozilla, and that works, so it's good. If I can figure out the Safari problem eventually, then it would be good, too.
And, to dewdoo's point, yes, my register_globals is on, but I will have to check on 'performance cache' - switching to OSX server is not an option at this point.
Thanks again!
Dan
Login fails on OSX, works on Windows
Posted on: 09/27/04 02:59pm
By: Anonymous (AddictedToMac)
In every test I did (I did many and couldn't duplicate your situation) if you use an ip address as your url you need to set your $_CONF['cookiedomain'] to your ip address for it to work with Safari.
Login fails on OSX, works on Windows
Posted on: 09/27/04 03:23pm
By: danv
In every test I did (I did many and couldn't duplicate your situation) if you use an ip address as your url you need to set your $_CONF['cookiedomain'] to your ip address for it to work with Safari.
That has been tried, and documented above, to no avail. I did this before AND after disabling Rendezvous, and it did not seem to have an affect.
macboy was able to replicate the problem... so I don't know why you couldn't... are you using a OSX 10.3 client as your GL server?
The above copy/paste of my config.php is what I've reverted to when the other changes had no effect on Safari working.
Thanks for your reply.
Login fails on OSX, works on Windows
Posted on: 10/18/04 08:00pm
By: Anonymous (HazMatt)
I am having the same problem where my internal site can be acessed via windows using just the machine name, but you need machinename.local to get it on OS X. This is very frustrating. I have tried everything suggested, short of completely disabling rendevous. I really don't want to do that. Is there some other way? It sounds like I could upgrade to OS X server. Any other ideas?
Login fails on OSX, works on Windows
Posted on: 10/19/04 07:55pm
By: danv
[QUOTE BY= HazMatt] ...internal site can be acessed via windows using just the machine name, but you need machinename.local to get it on OS X. This is very frustrating. I have tried everything suggested, short of completely disabling rendevous.[/QUOTE]I had to disable Rendezvous on the server (OSX client OS) in order to allow clients to log in, in a mixed OS9/OSX/Windows environment.
My question for you is, are you able to log in, once you've hit the site, on either Windows or OSX?
In my case, I was trying to access the server by IP address, and was unable to login with OSX at all when using machinename as the site_URL in config.php. I had to match the site_URL to the Rendezvous name (machinename.local) to get OSX clients to log in - but then the OS9 and Windows clients couldn't login.
What is your site_URL set to?
If it's just set to machinename, and you can still login with OSX and Windows clients, you're in better shape than I was... maybe you will end up helping me!