audiohacked / googlecodeimport-dotmac

Automatically exported from code.google.com/p/dotmac
0 stars 1 forks source link

****Snow Leopard Thread**** #110

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
For the time being, please post any problems with using dotmac with snow
leopard in this thread.

Original issue reported on code.google.com by rob....@gmail.com on 27 Aug 2009 at 11:02

GoogleCodeExporter commented 9 years ago
Hi Rob,
I've got a few thoughts to setup/04_download_conf. I took it that it's purpose 
is to freshly download a load of configs directly from Apple.
That's cool as log as everything intended to work together comes from that 
source in whole and in a short time frame. The project's reverse 
dev'ed server-side scripts don't. They naturally have a lag to what Apple does. 
So those .plists and other stuff will develop (done by Apple) 
ahead of the project's files, right? And thus they'll tend to be incompatibel.
I'd rather pack this stuff together with the modules and server scripts and the 
like to have them with integrity in one place. 
One reason I could imagine is against that approach: legal concerns esp. with 
GPL3. If that stuff is clearly Apple's IP?

If a user goes straight along all those scripts starting at 01, then at step 03 
he'll bravely modify his /etc/hosts with new pointers. Script 04 
then grabs wherever that user has defined configuration.apple.com shall point 
at but it's not Apple. Maybe some arrangement could help here 
avoiding a pitfall.

Besides that the line with wget has a # at pos. 1, it hasn't download anything 
successfully into my folder (after removal of # of course). Don't 
know why yet, I'll discover further. But I'm not good in perl at all.

Cheers, Jan.

ps. Generally, pls don't get me wrong when I'm talking about things that don't 
seem perfect yet. It's not meant to be criticism or negative or 
the like. I've high respect for you and your work and what I say is meant to be 
contribution.

Original comment by j...@versteh-ich.net on 3 Nov 2009 at 10:57

GoogleCodeExporter commented 9 years ago
Hi, sorry for beeing quite...   ;)   lot of other work.

Today i installed the new trunk, everything worked fine during installation, 
but theres no hosting at all. dotmac 
uses now a exclusive ip-address on port 80 and 443. all setup-scripts ran 
successful.

but when pointing a browser to the idiskUserAdmin, there is no hosting (Not 
Found)    :/

Gerhard

Original comment by hufnagl....@googlemail.com on 5 Nov 2009 at 12:47

GoogleCodeExporter commented 9 years ago
gerhard

check to make sure that mod_perl is enabled

Original comment by rob....@gmail.com on 12 Nov 2009 at 4:42

GoogleCodeExporter commented 9 years ago
Hi there,
the most recent trunk (rev. 400) let me stumble a bit when starting httpd in 
debug mode:

root# /usr/sbin/httpd -e debug
[Wed Nov 18 00:16:22 2009] [debug] mod_so.c(246): loaded module 
authn_file_module
[Wed Nov 18 00:16:22 2009] [debug] mod_so.c(246): loaded module authn_dbm_module
[Wed Nov 18 00:16:22 2009] [debug] mod_so.c(246): loaded module 
authn_anon_module
:
:
[Wed Nov 18 00:05:45 2009] [debug] mod_so.c(246): loaded module rewrite_module
[Wed Nov 18 00:05:45 2009] [debug] mod_so.c(246): loaded module bonjour_module
[Wed Nov 18 00:05:45 2009] [debug] mod_so.c(246): loaded module perl_module
Reading Config file from /etc/dotmobile.us/conf
[Wed Nov 18 00:05:45 2009] UserAdmin.pm: DBD::SQLite::db prepare failed: no 
such table: auth(1) at dbdimp.c line 271 at 
/Library/WebServer/dotmobile/perlmodules/DotMac/DotMacDB.pm line 315, <CONF> 
line 11.
Syntax error on line 24 of /private/etc/apache2/other/dotmac.conf:
\t(in cleanup) Can't call method "execute" on an undefined value at 
/Library/WebServer/dotmobile/perlmodules/DotMac/DotMacDB.pm line 316, 
<CONF> line 11.\n
root#

The mentioned  /etc/dotmobile.us/conf  has been double-checked and looks fine, 
the one in  /etc/apache2/other/dotmac.conf  is out of the 
box (aka trunk).  Do you have any advise on how to proceed?
Here are some basic details in case you need them: 10.6.1, Apache 2.2.11, 
SQLite 3.6.12, perl 5.10.0

Thanks a lot in advance,
Jan.

Original comment by j...@versteh-ich.net on 17 Nov 2009 at 11:51

GoogleCodeExporter commented 9 years ago
@jan

when I asked Rob politely to merge down all branches to trunk, he threw me a 
little surprise party.
From now on trunk holds our latest developments - which basically means our 
theGuide is outdated.

You should have gotten a folder 'setup' upon checking out;
this folder holds the setup scripts needed for setting up things.
Run these one by one - and you should be all set up.

Please _do_ take notes whilst installing; I'm afraid there _will_ be some 
pitfalls.
I do realize I need to update theGuide asap; any help here is appreciated.
Feel free to contact me (email) whenever you're running into trouble.

Original comment by walin...@gmail.com on 18 Nov 2009 at 12:05

GoogleCodeExporter commented 9 years ago
Hi walinsky,
the folder 'setup' with its ten scripts is exactly what I've applied to my 
setup (I'm working on trunk rev. 400 (the 
most recent)). Where I am is right behind script no. 10--now I want to start 
apache (again). This unfortunately 
doesn't happen successfully. On loading config, httpd is throwing errors (which 
I've posted in #54) and refuses to 
start. 
To me, the errors have to do with sqlite and table preparation or some sort of 
initializing which I cannot drill 
down much further since I don't 'speak' perl (yet) nor have I experience with 
sqlite. Furthermore I think the two 
errors are consecutive--once the first will be cleared out the second will be 
gone, too.

I'm also aware that theGuide is outdated, which I haven't been using since my 
first steps with v0.5.0 of dotmac.

Original comment by j...@versteh-ich.net on 18 Nov 2009 at 1:32

GoogleCodeExporter commented 9 years ago
If you upgraded trunk, your db (dotmac) scheme is incompatible.
We haven't built a db upgrade thingie - so the best thing you can probably do 
is replace your old db with the 
new one - and create your users again.
(don't forget to make apache owner of the db)

Original comment by walin...@gmail.com on 18 Nov 2009 at 12:38

GoogleCodeExporter commented 9 years ago
No, didn't upgrade, I did a full svn checkout into a new folder and started 
with setup from the scratch. Except for 
the patched apache modules, which I found to remain unmodified.

What I find the most confusing part is to figure out where all the stuff from 
trunk belong to. In my case the setup 
scripts ran into errors now and then which required me to manually do things. 
This went fine til my show stopper 
httpd (see #54). 

Now (after reading #57) I understand that I've got to create a new database and 
create new users. So I created a 
db executing "../sql/dotmac.sqlite.sql" using sqlite3. How to name it? Where to 
put it? Regarding the latter I 
assume it must go to <dotmobile>/private.  
From v0.5.0 I remember that users are being created using the web interface. So 
that comes a bit later not 
before apache is running happily. Can you pls give me a hint regarding 
sqlite-db? Thanks a lot. Cheers, Jan.

Original comment by j...@versteh-ich.net on 18 Nov 2009 at 11:22

GoogleCodeExporter commented 9 years ago
The db is provided from svn; 
http://code.google.com/p/dotmac/source/browse/trunk/server/var/www/dotmac/privat
e/dotmac
just make sure apache has access to it
_and_ make sure apache owns 'private' 

Original comment by walin...@gmail.com on 19 Nov 2009 at 12:45

GoogleCodeExporter commented 9 years ago
Woa! That was a useful information. Thx a lot! Now I was able to bring the 
user-db into play and start apache 
successfully. I also created an admin user, once I found new tool 
'genAdminAccount.pl' in the same folder.

Now, as apache is running, it dumps a 500+ lines of log into system.log. Not 
bad :)  Seems to originate from 
apache2/other/dotmac.conf     I need to poke around to see what comes next.  
Cheers, Jan.

Original comment by j...@versteh-ich.net on 19 Nov 2009 at 1:40

GoogleCodeExporter commented 9 years ago
@jan

the location for (dotmac) log files is hardcoded in dotmac.conf
(we like logging in separate files)
verify if this is the correct path for your specific platform

and _do_ take notes please

Original comment by walin...@gmail.com on 19 Nov 2009 at 2:47

GoogleCodeExporter commented 9 years ago
Hi there,
in setting dotmobile up I'm at a point where everything under the hood is 
prepared and now a dotmobile-user needs to be 
created. For doing so, I recall from v0.5.0 instructions that   
https://idisk.me.com/idiskAdmin  is the URL of choice [I've never had 
a running dotM before, so I'm all theorist]. But what I get is 403 (no 
permission to access /idiskAdmin). I understand that 
idiskAdmin is an alias, so there's no corresponding file is in folder 
.../idisk/  or elsewhere. If I do the same req. using http instead 
of https and put a file there (../idisk/favicon.ico), it instantly works. With 
SSL not.
I've double-checked every file's ownerships and permissions to be correct 
(according to leopard-guide) and kept in mind that 
certain things in  ../private  have to be owned by root only and having 
restricted mode. I also checked the (successful) output of  
apachectl configtest  with an extra eye on <Virtual Host {my IP}:443> section. 
To me, it looks fine. But I'm no perl hacker. Though, 
there is an alias definition  /idiskAdmin  which of course is of special 
interest quite now that happens to be commented out. 
Switching that to reverse has the same result (403). 

As things have evolved since v0.5.0 and theGuide I am wondering if the URL  
.../idiskAdmin  is still valid in this post-dotmac and 
now-dotmobile world. Is the procedure still valid for creating a dm-user? 
Having in mind that things cannot change too radically, 
I keep believing that yes. If you have a hint or pointer for me I'd appreciate. 
Thanks a lot, Jan.

Original comment by j...@versteh-ich.net on 24 Nov 2009 at 11:15

GoogleCodeExporter commented 9 years ago
@jan,

the genadminaccount script ( 
http://code.google.com/p/dotmac/source/browse/trunk/server/var/www/dotmac/privat
e/genAdminAccount
.pl ) should get you started. Run it with arguments username and password and 
your admin user should be 
added to the dotmac db. If you want to verify if users are inserted to the db, 
you can cd into the private folder 
and:
private jan#  sudo sqlite3 dotmac "select * from auth";
should dump you all users in your db.

All hosts in the https host section should work with /idiskAdmin 
I prefer using https://configuration.apple.com/idiskAdmin - but thats just 
because I like the idea.
Does the server ask you repeatedly for login/pass - or does it throw 403 
immediatly ?
In the latter case, try studying both your error_log and your idiskErrorlog. 
You might have a permissions thing 
(apache mod_perl not being able to execute scripts) on your hand.
Let us know how things work out.

Original comment by walin...@gmail.com on 25 Nov 2009 at 4:26

GoogleCodeExporter commented 9 years ago
Walinsky - I think the genAdminAccount script is pointing to the file "dotmac", 
whereas the apache dotmac.conf 
file is using "iDiskUsers".

Original comment by kurtzm...@gmail.com on 26 Nov 2009 at 2:22

GoogleCodeExporter commented 9 years ago
Those should probably be removed because they are no longer necessary, but I 
don't
believe they are causing the problem. The following lines are the ones that 
actually
setup which database file to use:
DBDriver $dotMacDBServType
DBDParams $dotMacDbParams

private/dotmac is the correct place.

-Rob

Original comment by rob....@gmail.com on 26 Nov 2009 at 2:38

GoogleCodeExporter commented 9 years ago
@jan and gerhard (and maybe others)
marc found a stupid mistake we made in the dotmac.conf file.
try updating from trunk; and let me know if it works now

Original comment by walin...@gmail.com on 28 Nov 2009 at 12:15

GoogleCodeExporter commented 9 years ago
Hi walinsky,
thank you for confirmation about .../idiskAdmin's validity. Yes, 403 comes 
directly. No prompt for u/p. 

Well, two remarkable things: idiskErrorlog is empty and so is idiskAccesslog. 
My guess is that idiskAdmin hasn't generally taken 
action yet. 
Second, on every (re)start of apache, system.log gets flooded by 500 lines per 
second! syslogd is a bit bitchy on that as it drops 
lines beyond that. At least it let know. That's a bit bad because I'm blind of 
a good portion of start sequence report and overall 
result. It stops at <Virtual Host ...:80> for gallery.mac.com. My attempts to 
raise or ditch that limit failed for now. It's about 
fumbling "-mps_limit" into syslog's start command.

I'm also pretty sure having a permissions mismatch. So first I've to nail that 
down before turning to the issue about the 
dotmac.conf (which I fetched, though).

Cheers, Jan.

Original comment by j...@versteh-ich.net on 28 Nov 2009 at 9:55

GoogleCodeExporter commented 9 years ago
@jan
are you running mpm-prefork ?
http://perl.apache.org/docs/2.0/api/Apache2/ServerRec.html#Limited_Functionality
_under_Threaded_MPMs

If you have no special reasons for running MPMs you should try running your 
apache as a non-threaded MPM.

Original comment by walin...@gmail.com on 29 Nov 2009 at 11:38

GoogleCodeExporter commented 9 years ago
Hi walinsky,
regarding mpm: yes I do resp. did. I do not have a special reason for that, 
it's just default by Apple in Snow Leo. I turned it off. In 
combination with my next paragraph it doesn't have any (obvious) effect.

I managed to get rid of this permissions thingy. That pesky 403 Forbidden is 
gone (hooray) which brings me straight to the fact that I'm 
now faced with a 404 Not Found ("... requested URL /idiskAdmin was not found 
..."). Well, 403->404 -- that +1 I call a huge progress 
today ;)  Since I did this step only minutes ago, I will see what I'm able to 
find about this not working alias.

Logfiles  idiskErrorlog  and  idiskAccesslog  are still empty. So I'm still in 
early stages of  dotmac.conf  as I understand the interaction.

Bye, Jan.

Original comment by j...@versteh-ich.net on 29 Nov 2009 at 8:22

GoogleCodeExporter commented 9 years ago
Jan - are you connecting using HTTPS?

so:

https://idisk.mac.com/idiskAdmin

Original comment by kurtzm...@gmail.com on 29 Nov 2009 at 8:41

GoogleCodeExporter commented 9 years ago
Hi Folks,

@kurztmarc:  yes, I am using SSL. This works fine with real files in 
DocumentRoot without any hassle reg. certificate or the like. It also works 
with a variety of hostnames 
and/or domains as long as they point to my IP I've chosen for dotmobile.

For a couple of days I hat trouble with the idiskAdmin-alias and apache 
throwing an immediate 404 ("/idiskAdmin wasn't found"). I could solve this by 
stripping down the 
default Snow Leo httpd-ssl.conf in terms of <VirtualHost xxx:443>. Before that, 
a little warning in syslog told about an overlap on that. As a result, I now 
get a shiny 
admin UI which looks very nice! :)  And even more, it works in many parts! Yes! 
More on that below.

Even though I cut down every could-be-overlap between definitions in  
http-ssl.conf  and what I found in  dotmac.conf  about <VirtualHost …:443>, 
the overlap warning 
in logfile persists. I have no clue why. But there is more. As I noticed 
before, every time apache (re)starts, it dumps a load of log lines. In the 
meantime I modified 
syslogd's capabilities to log more than 500 lines per sec, which it had as a 
limit against DoS attacks. My hope was to get a complete insight of what apache 
does with 
dotmac.conf on startup. For those of you who want to have a sneak peek, I've 
put a piece of that log http://pastebin.com/m40f7eaaf. Btw: dotmac.conf is out 
of the box. 
The recording is from an apache start without any client actions.

Some oddities happen. First, log starts right in the middle of a word in the 
middle of a sentence. And so it ends.
Second: it runs cycles. The part with "dot.mac.com" starting at line 49 is 
exactly the same starting at line 329. So it goes with "ServerName 
idisk.mac.com" appearing at line 
131 and line 412. But there is an indication to what might happen: on doing the 
next 'graceful', starting a new round, the beginning of that log fits right to 
the end of the 
last one. So there seems to be some sort of shift or offset, maybe in cache. I 
have the feeling that this belongs to syslog itself, not apache nor dotmobile. 

Back to admin UI and the service itself. The MobileMe Manager works fine except 
for Statistics and Server Admin. List Users and Add User do a great job. 
Clicking on 
Statistics or Server Admin, I get a "file error - stats.tpl: not found" (and 
server.tpl respectively). There are no such files (nor in trunk) nor are there 
strings inside the scripts 
to point me where to dig deeper. What is expected to be / happen here (under 
the hood)?
The most important part of course is connectivity with clients. So I started up 
mobileme Pref Pane and entered my new user (which has gotten its skel). It 
fails with invalid 
user or pw. A few log entries pop up -- essentially the 
<dotmobile>/configuration/configurations/internetservices/FileSyncAgent  is 
missing. It's not in <dotmobile>, nor 
turns it up inside the scripts. Is it supposed to be the FSA in 
/System/Library/CoreServices/FileSyncAgent.app/Contents/MacOS/FileSyncAgent ?? 
If so, how do the go 
together? Here's the line in idiskErrorlog:

[Wed Dec 02 14:45:43 2009] [error] [client 10.0.1.3] File does not exist: 
/Library/WebServer/dotmobile/configuration/configurations/internetservices/FileS
yncAgent

One last thing (for today ;-): I wanted to ask is if anybody could provide me a 
set of his/her known-working config files under Snow Leopard to learn from 
(httpd.conf, 
httpd-ssl.conf, dotmac.conf (if it's been modified *and* not in trunk, yet). 
That would be really helpful. Thank you.

As always, any hint or advise is highly welcome, thanks in advance, Jan.

Original comment by j...@versteh-ich.net on 2 Dec 2009 at 2:47

GoogleCodeExporter commented 9 years ago
@jan

server.tpl:
http://code.google.com/p/dotmac/issues/detail?id=117&can=1&start=100

Apache needs a restart after adding/(re)configuring users - as the variables 
(userdirs, quota, ..) are set in apache 
config which is (only) parsed upon server startup.

Original comment by walin...@gmail.com on 2 Dec 2009 at 3:09

GoogleCodeExporter commented 9 years ago
What is the current status of snow leopard. If needed i could work with someone 
to have it solved....

Original comment by apok...@gmail.com on 9 Jan 2010 at 7:33

GoogleCodeExporter commented 9 years ago
@apokora
I'm not sure what you mean;
do you _need_ help, or are you _offering_ help?

Original comment by walin...@gmail.com on 10 Jan 2010 at 12:30