Fixing error 73 AND Open Directory without Internet

dnsinternetopen-directoryosx-server

I have been messing with an old PowerMac G4 running OSX 10.5 Leopard Server trying to get Open Directory running on a small network I set up for testing purposes. I can't find anything useful online about my specific situation.

My network hasn't got, and never will have, an internet connection, but I have multiple Mac machines connected either through Ethernet or WiFi.

I found on the internet that I would need a DNS server with a forward and reverse lookup name and so I set the DNS service up with a hostname I randomly picked. I don't think the fact I randomly picked a name matters because the network will be offline. Is this wrong?

When I try to set up an Open Directory master, I get:
"This server has not been configured as an Open Directory Master. Error has Occurred! Error value = 73"

When running sudo changeip -checkhostname I get:

Primary address = 192.168.1.15  
Current Hostname = PowerMac.exampledomain.net  
DNS Hostname = PowerMac.exampledomain.net  
The names match. There is nothing to change.

I do not get dirserv:success = "success". Does this cause error 73?

Am I doing something wrong?

Best Answer

I've now managed to solve my errors and such. I will now explain how to fix error 73 and how to set your server up as an OD Master. Hopefully someone else will find this useful and save themselves many months of pain trying to resolve their issues.

  • Firstly, we need to completely reset the database. To do this, we will open up terminal and enter sudo slapconfig -destroyldapserver. The OD service should be reset now. To ensure changes take effect we need to reboot the system. Don't skip this part.

  • Next we need to configure DNS. Make a new domain on the local network and add the to-be-OD master's local ip address as an A record. Make sure the reverse record also matches up. If this doesn't make sense to you then you need to look up how to set DNS up. Make sure you click the Start DNS button to start up the service.

  • Now add the local DNS server to your router's DNS output so that your router gives all DHCP connected devices your DNS servers local IP address. To allow external internet connections, you may want to add another DNS server to your local one, so any invalid addresses can be tried for a non-authoritative answer.

  • Go back to terminal and type in sudo changeip -checkhostname. If there are any issues then follow the example given to fix your machines host name.

  • Reboot again if you had to make changes. If not then skip the next step.

  • Redo the last two steps.

We now have to fix LDAP permissions causing error 73:

  • In terminal type sudo mkdir -m755 /var/db/openldap.

  • Reboot yet again...

Lastly we can now create the OD server following some of the strict rules explained below:

  • Open Server Admin, choose Open Directory, under General, click Change...

  • Choose Master.

    Ensure you do not use any account details which are associated with a local machine account in the Master Domain Administrator account fields.

  • Click continue.

  • Under Kerberos Realm type in your machines new DNS host name.

  • Click continue.

  • Click continue.

Be greeted with the success message and a working OD Master .

I hope this helped someone. Feel free to remake my guide in a better form and reply with it.