Configure Coda without DNS

From Codawiki

For coda to work smoothly, you're really better off setting up your DNS records properly. Each host needs a name as well as an IP and each collection of servers (even if your collection of servers consists of only one server) needs a realm name. Jan Harkes gives a good overview of realms and how to create dns records that allow coda clients to automatically determine all of the servers in a given realm here: http://www.coda.cs.cmu.edu/maillists/codalist/codalist-2003/4830.html

See What is all the fuss about DNS.

If you don't have modification access to a DNS service (not connected to Internet?? there are free such services there!) then you can still setup coda, but you need to properly configure each of the servers and clients. And if you add a new server, then each client's configuration will need to be updated. Not a great idea.

Linux/BSD

  • First, each server and client needs a properly configured /etc/hosts file. If you have a coda server and its hostname is codaserver, then you need to make absolutely sure that that name is not listed on the same line as the loopback address, 127.0.0.1. If the IP address of that machine is 192.168.0.10, then that machine and every other server and client in the realm must have these lines in their /etc/hosts file:
127.0.0.1          localhost localhost.localdomain
192.168.0.10       codaserver1
192.168.0.11       codaserver2
As you add servers, every client and server will need to have their /etc/hosts file updated and the new hosts added to it.
  • Second, on each server you need to edit the /etc/coda/server.conf file to make sure that the server knows its own IP address. Modify the ipaddress= line to have the server's IP.
  • Third, in your coda setup files in the /vice/db directory on the server, all references to the server should be made by name and not IP. So your vicetab and servers files should have no IP addresses in them. Note: I'm not sure this makes a difference, so if you have a working configuration that disproves that statement, then feel free to edit this.
  • Finally, each client needs to edit the /etc/coda/realms file to define a realm name and the servers that serve that realm. So if you have two coda servers named codaserver1 and codaserver2 and your realm name was myrealm then you would have a realms file that looks like this:
# My local realm
myrealm             codaserver1 codaserver2
# Our little Coda realm at CMU
coda.cs.cmu.edu     verdi.coda.cs.cmu.edu mozart.coda.cs.cmu.edu marais.coda.cs.cmu.edu
# WWU realm
coda.cs.wwu.edu     southfork.ldc.cs.wwu.edu mainfork.ldc.cs.wwu.edu nooksack.ldc.cs.wwu.edu
At this point you may need to restart the client (I'm not sure on this point) and then you should be able to list the files in these directories:
/coda/myrealm
/coda/coda.cs.cmu.edu
/coda/coda.cs.wwu.edu
  • And if you chiefly plan on accessing just the myrealm realm then you would want to edit your /etc/coda/venus.conf file and add the line:
realm=myrealm
which will make loging and other operations default to your realm.

Good luck.

Windows

I expect the instructions above will work as windows machines have hosts files. The Locations of those is %WINDIR%/system32/drivers/etc/