Difference between revisions of "Samba for AIX"

From SambaWiki
(add description how to build and install samba 4.1 on AIX)
 
(add some notes on creating tar archive of binary)
Line 141: Line 141:
 
== Installing on another AIX 6 system ==
 
== Installing on another AIX 6 system ==
   
Create an archive of /appl/samba or copy /appl/samba to th other machine. After unpacking
+
Create a tar archive of /appl/samba to copy /appl/samba to the other machine.
  +
(NB: tar as shipped with AIX does not support the z-flag. Manually g(un)zip the .tar if needed.)
this file there, and creating /appl/samba/etc/smb.conf, one can start smbd:
+
After unpacking this file there, and creating /appl/samba/etc/smb.conf, one can start smbd:
   
 
# export LIBPATH=/appl/samba/lib:/appl/samba/lib/private
 
# export LIBPATH=/appl/samba/lib:/appl/samba/lib/private
Line 149: Line 150:
 
No need to run ./configure or make, no need to install xlc. You _do_ need Python to run Samba.
 
No need to run ./configure or make, no need to install xlc. You _do_ need Python to run Samba.
   
FIXME: this installation procedure needs some more details, and needs proper testing!
 
   
 
[1] When these symlinks are not created, trying to run smbclient will give
 
[1] When these symlinks are not created, trying to run smbclient will give

Revision as of 13:32, 5 March 2015

How to install samba-4.1.16 on aix-6.1

Joost van Baal-Ilić, credativ BV, february 2015

Based upon instructions by Noël Köthe, credativ GmbH, sept 2014.

We describe how to build, configure, pack/unpack and install Samba --the Open Source SMB/CIFS file, print, and login server for Unix-- version 4.1.16 on a PowerPC running IBM's AIX 6.1.

Building and installing

   bash-4.2-12.aix5.1.ppc.rpm
   bzip2-1.0.6-1.aix5.1.ppc.rpm
   db4-4.7.25-2.aix5.1.ppc.rpm
   expat-2.1.0-1.aix5.1.ppc.rpm
   fontconfig-2.10.2-1.aix5.1.ppc.rpm
   freetype2-2.5.2-1.aix5.1.ppc.rpm
   gdbm-1.11-1.aix5.1.ppc.rpm
   gettext-0.17-1.aix5.1.ppc.rpm
   glib2-2.38.2-1.aix5.1.ppc.rpm
   gmp-5.1.3-1.aix5.1.ppc.rpm
   info-5.2-1.aix5.1.ppc.rpm
   libXft-2.3.1-1.aix5.1.ppc.rpm
   libXrender-0.9.8-1.aix6.1.ppc.rpm
   libgcc-4.8.2-1.aix7.1.ppc.rpm
   libiconv-1.14-2.aix5.1.ppc.rpm
   libpng-1.6.9-1.aix5.1.ppc.rpm
   libstdc++-4.8.2-1.aix7.1.ppc.rpm
   libstdc++-devel-4.8.2-1.aix7.1.ppc.rpm
   pkg-config-0.28-1.aix5.1.ppc.rpm
   python-2.7.5-1.aix6.1.ppc.rpm
   python-devel-2.7.5-1.aix6.1.ppc.rpm
   python-libs-2.7.5-1.aix6.1.ppc.rpm
   readline-6.2-5.aix5.1.ppc.rpm
   renderproto-0.11.1-1.aix5.1.ppc.rpm
   sqlite-3.8.1-1.aix5.1.ppc.rpm
   tcl-8.5.15-1.aix5.1.ppc.rpm
   tk-8.5.15-1.aix5.1.ppc.rpm
   zlib-1.2.8-1.aix5.1.ppc.rpm

Install them by running:

  # rpm -ivh * --nodeps
  • In a directory with enough space (ideally _not_ under the install root /appl/samba), unpack the samba sources
   # gunzip samba-4.1.16.tar.gz && tar -xf samba-4.1.16.tar && cd samba-4.1.16
  • Build and install
   # export PATH=$PATH:/opt/IBM/xlC/13.1.0/bin/
   # ./configure --prefix=/appl/samba --check-c-compiler=xlc
   [...]
   'configure' finished successfully
   # make
   [...]
   Compiling ...
   Linking ...
   'build' finished successfully
   # make install
   [...]
   'install finished successfully'
  • Fix missing symlinks to .so-files [1]:
   # cd /appl/samba/lib/private/
   # ls | grep "so\.[0-9]$" | while read f; do ln -s $f ${f%.?}; done
   # ls | grep "so\.[0-9][0-9]$" | while read f; do ln -s $f ${f%.??}; done

See also http://bugzilla.samba.org/show_bug.cgi?id=1084 NB: this is NOT the same as Noël's script!

  • Add a configuration file:
# vi /appl/samba/etc/smb.conf

This one works for tests:

    [global]
        workgroup = SIM
        netbios name = SERVERNAME
        server string = Fileserver
        security = user
        ;interfaces = en 192.168.1.2/24
        ;bind interfaces ony = yes

        log level = 2
        log file = /appl/samba/logs/log.%m
        syslog = 0

    [SHARE]
        comment = production share
        path = /LOCAL/EXISTING/PATH/OF/A/SHARE
        read only = no
        ;create mask = 0775
        directory mask = 775
        ;valid user =
        ;force user =
        ;force group =

See also samba-4.1.16/examples/smb.conf.default .

Testing

In order to run the samba binaries, set this:

# export LIBPATH=/appl/samba/lib:/appl/samba/lib/private

Test samba:

# /appl/samba/bin/smbclient -L localhost

Add a samba user, and give this user a samba password, for more testing:

# /appl/samba/bin/smbpasswd -a <localunixusername>
[...]
"Added user [...]

Start the Samba daemon:

# /appl/samba/sbin/smbd -D

Test a user login:

# /appl/samba/bin/smbclient -U <username> //localhost/INTERFACES
smb: \> ls
[...]
smb: \> cd .snapshot
smb: \.snapshot\> ls
[...]


Installing on another AIX 6 system

Create a tar archive of /appl/samba to copy /appl/samba to the other machine. (NB: tar as shipped with AIX does not support the z-flag. Manually g(un)zip the .tar if needed.) After unpacking this file there, and creating /appl/samba/etc/smb.conf, one can start smbd:

# export LIBPATH=/appl/samba/lib:/appl/samba/lib/private
# /appl/samba/sbin/smbd -D

No need to run ./configure or make, no need to install xlc. You _do_ need Python to run Samba.


[1] When these symlinks are not created, trying to run smbclient will give an error 'Cannot load module libtevent.so.'