AFP
The Apple Filing Protocol (AFP) is a network protocol that offers file services for Mac OS X and original Mac OS. Avahi is an open source implementation of Bonjour or former Rendezvous wich advertises servers to MacOS X.
NOTE: THIS IS NOT MEANT FOR PEOPLE WHO DONT KNOW WHAT THEY ARE DOING.
Installation of netatalk into Amahi
- Open a terminal either on the desktop or SSH
- Become root (sudo -s or su -)
- yum -y install netatalk
- edit /etc/atalk/afpd.conf
- -noddp -tcp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword -advertise_ssh
- edit /etc/atalk/netatalk.conf
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
- Once the app is installed you can add the folders you wish to share over AFP by editing the /etc/atalk/AppleVolumes.default file:
~/ "$u" allow:UserName rwlist:UserName,@users cnidscheme:cdb
Change UserName to your username, this will share your homefolder over afp
- chkconfig atalk on
- service atalk start
For recent versions of Amahi/Netatalk (Tested with Amahi 6/Netatalk 2.1.3-1/Fedora 14), the service name is changed to 'netatalk.' So the above becomes;
- chkconfig netatalk on
- service netatalk start
Installation of avahi into Amahi
- Open a terminal either on the desktop or SSH
- Become root (sudo -s or su -)
- yum -y install avahi
- go to /etc/avahi/services/
- add the afpd.service file:
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h Xserve</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>
%h Xserve can be changed to your server name (not the same as your samba server!) model=Xserve can be changed to get a different icon for your server to PowerBook, PowerMac, Macmini, iMac, MacBook, MacBookPro, MacBookAir, MacPro, AppleTV1,1, AirPort
- Additionally you can make avahi advertise other services on your mac
rfb.service for screensharing without chickenvnc
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_rfb._tcp</type>
<port>5900</port>
</service>
</service-group>
samba.service so the bsod icon is replaced with a nice screen icon and is on the same server as vnc/screensharing
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_smb._tcp</type>
<port>139</port>
</service>
</service-group>
there is also a nfs.service but havent been able to get this to work on snow leopard
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">NFS Shares on %h</name>
<service>
<type>_nfs._tcp</type>
<port>2049</port>
<txt-record>path=/var/hda/files/music</txt-record>
</service>
<service>
<type>_nfs._tcp</type>
<port>2049</port>
<txt-record>path=/var/hda/files/movies</txt-record>
</service>
</service-group>
Thanks to this great tutorial for ubuntu !!
- Add mdns at the end of this line in /etc/nsswitch.conf
hosts: files dns mdns
- Starting and stopping AFP and Avahi :
service atalk (start stop restart) service avahi-daemon (start stop restart)
TODO
Integrate AFP and avahi with the Shares tab of the WebUI just as tightly as Samba is.