Tuesday, May 24, 2011

Make Fedora Linux as Xserve file server for Mac

Apple need afp to connect to other server, and that means linux need to run one.

first install netatalk and avahi.

#yum install avahi netatalk

for RPM package, on my case, I use Fedora 9, so here is the RPM that my linux has :

avahi-0.6.22-10.fc9.i386, netatalk-2.0.3-21.fc9.i386

Configure Appletalk Netatalk

# vi /etc/atalk/afpd.conf
- -noddp -tcp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword -advertise_ssh

# vi /etc/atalk/netatalk.conf

Change the following values:

ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

Configure Netatalk to share home folders

# vi /etc/atalk/AppleVolumes.default

allow: users and groups allowed to access share

rwlist: users and groups allowed read and write access

Change <users> to your users separated by commas jim.bob.doug
Change <@group> to your groups separated by commas @accounting, @marketing (keep the @ infront of the group name)
* Users and Groups must already exist in Linux

Add for Users Home Folders

~/ "$u" allow:<users> rwlist:<user>,<@group> cnidscheme:cdb

Add a folder:

/home/folder <share_name> allow:<users>,<@group> rwlist:<users>,<@group> cnidscheme:cdb options:usedots,upriv

Configure Avahi and mDNS (linux version of bonjour)

We need to configure Avahi and mDNS so the Mac computers on the network can find our Appletalk file server

We need to create a service file for our afpd service:

# vi /etc/avahi/services/afpd.service

Add the following:

<?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>

Add mDNS to nsswitch

# vi /etc/nsswitch.conf

Add mdns to the line hosts:

hosts: files dns mdns

source http://www.kernelhardware.org/appletalk-file-server-on-fedora-linux/>;

current

last archive