Success: Compiling netatalk-1.4b2+asun2.1.4 with pam and dhx under RH7


Subject: Success: Compiling netatalk-1.4b2+asun2.1.4 with pam and dhx under RH7
From: Guillaume (webmasternewbie@online.fr)
Date: Fri Mar 23 2001 - 04:59:44 EST


Hi,

I encounter a lot of troubles when I tried to do a rpm based install of Netatalk (netatalk-1.4b2+asun2.1.4) on my RedHat 7.0 server.

Only guest login were OK...cause the rpm binary install do not support pam, des, ssl by default :-(

One night after, and reading this mailing archives, I did it successfully.

So here are my tips, hoping it will help someone one day!

Compile your kernel with support for Appletalk DDP as a module.
(I use a custom modified kernel based on 2.2.16 kernel instead of the 2.2.16-22 from the RH7)

If not installed, install the external libs: pwdb, pam, openssl
easy install with RH rpms:
openssl-0.9.5a-14
openssl-devel-0.9.5a-14
pam-0.72-26
pwdb-0.61.1-1

also, check that you have the /usr/include/des.h on your box.

Install the source from the rpm :
rpm -i netatalk-1.4b2+asun2.1.4-0.i386.rpm

cd /usr/src/redhat/SOURCE (where rpm put it!)

to unzip the source:
tar -zxvf netatalk-1.4b2+asun2.1.4.tar.gz
cd netatalk-1.4b2+asun2.1.4

then edit the Makefile
uncomment the install prefixes:
SBINDIR=${INSTALL_PREFIX}/usr/sbin
BINDIR=${INSTALL_PREFIX}/usr/bin
LIBDIR=${INSTALL_PREFIX}/usr/lib
RESDIR=${INSTALL_PREFIX}/usr/lib/atalk
ETCDIR=${INSTALL_PREFIX}/etc/atalk
INCDIR=${INSTALL_PREFIX}/usr/include
MANDIR=${INSTALL_PREFIX}/usr/man

set the crypto dir var to:
CRYPTODIR=/usr/include/openssl
( this is the default location from the openssl rpm install)

set the vars:
DESDIR=/usr/lib
PAMDIR=/usr

and, (and also that's why I spend one night awake), edit the etc/uams/Makefile and near the line 43, change:
CRYPTOINCPATH="-I${CRYPTODIR}/include -I${CRYPTODIR}/include/openssl";\
by :
CRYPTOINCPATH="-I${CRYPTODIR}"; \

then run a : make depend; make && make install

edit your /etc/atalk/afpd.conf and add the needed dso modules to the uamlist of your config.

then start the daemon:
/etc/init.d/atalk start

check the /var/log/messages for lines like:

afpd[7991]: uam: uams_dhx.so loaded
afpd[7991]: uam: uams_randnum.so loaded
afpd[7991]: uam: "2-Way Randnum exchange" available
afpd[7991]: uam: "Randnum exchange" available
afpd[7991]: uam: "DHCAST128" available

...

note that some of the dso are links:
#ls -al /usr/lib/atalk/uams/
total 48
lrwxrwxrwx 1 root root 11 mar 22 17:24 uams_clrtxt.so -> uams_pam.so
lrwxrwxrwx 1 root root 15 mar 22 17:24 uams_dhx.so -> uams_dhx_pam.so
-rwxr-xr-x 1 root root 8757 mar 22 17:24 uams_dhx_pam.so
-rwxr-xr-x 1 root root 5948 mar 22 17:24 uams_dhx_passwd.so
-rwxr-xr-x 1 root root 3386 mar 22 17:24 uams_guest.so
-rwxr-xr-x 1 root root 6027 mar 22 17:24 uams_pam.so
-rwxr-xr-x 1 root root 4001 mar 22 17:24 uams_passwd.so
-rwxr-xr-x 1 root root 9286 mar 22 17:24 uams_randnum.so

that's it, now my Mac clients are able to login with their Unix accounts too, no need for .passwd files!

a call to sleep(12*3600) needed now :-)

Guillaume.



This archive was generated by hypermail 2b28 : Sun Oct 14 2001 - 03:04:35 EDT