MorphOS has built-in support for mounting Samba shares but cannot serve files over Samba itself. However, there is a Samba package for MorphOS dating back to 2007 that should work fine. The following guide is based off a German board post and documents how a Samba server could be setup on MorphOS.
The first step is to download the Samba 3.0.4 MorphOS package and unpack it to RAM:. After that, download the MorphOS Samba update package and unpack it to RAM:. The second package just contains a binary called samba-upd-morphos that must be copied to RAM:samba/sbin/smbd.
After that, a location should be chosen where a folder can be created to host the Samba install. For example, SYS:Tools/AmiTCP could be the folder hosting the Samba install so now copy the samba folder from RAM: to SYS:Tools/AmiTCP:
copy all clone RAM:sam#? SYS:Tools/AmiTCP
Now, edit S:user-network-startup and add the following line:
assign amitcp: SYS:Tools/AmiTCP
This line is for Samba but for all software that uses ixemul.library, that is, the Unix-Amiga emulation library that takes care of resolving assets between Unix and the Amiga such as drive letters, paths and shell escape sequences.
Now a guest user has to be created that will be allowed to browse shares. For that, access the menu Settings -> System... and click the icon looking like a yellow key. Change the tab first to users and set up a user named pcguest as follows.
pcguest,1001,1001,ram:,nologin
then, switch to the groups tab and set up a group named pcguest as follows.
pcguest,1001,pcguest
Inetd will be running the smbd, respectively nmbd services on demand and the services have to be added. For that, change directory in a shell to ENVARC:sys/net and edit inetd.conf in order to append the two following lines:
netbios-ssn stream tcp nowait root amitcp:samba/sbin/smbd smbd netbios-ns dgram udp wait root amitcp:samba/sbin/nmbd nmbd
that set up two services netbios-ssn for streams and netbios-ns for Samba datagrams.
Note that if the guide has been followed correctly, both amitcp:samba/sbin/smbd and amitcp:samba/sbin/nmbd excusables should exist. It's easy to test, perhaps by opening another shell and then writing:
list amitcp:samba/sbin/smbd
respectively
list amitcp:samba/sbin/nmbd
to check that the files exist.
Now, the services must be allowed by the ancient host/deny security mechanism from Unix that Amiga via ixemul.library supports. In order to do that, edit the file inet.access in ENVARC:sys/net and add at the end:
netbios-ssn *.*.*.* allow netbios-ns *.*.*.* allow
The last step is to configure Samba itself and add some shares by editing AmiTCP:lib/smb.conf to match the following configuration:
[global] workgroup = WORKGROUP netbios name = COMPUTER_NAME server string = COMPUTER_NAME security = SHARE log file = /amitcp/Samba/log/log.%m max log size = 500 load printers = No local master = No guest account = pcguest guest only = Yes guest ok = Yes map to guest = Bad User [ram] comment=ram path = /ram/ public = yes writable = yes printable = no browsable = yes guest ok = yes
where:
COMPUTER_NAME should be set to the name of the MacOS computer,WORKGROUP can be set to the local LAN network in case it existsThis configuration will allow anyone to access the RAM disk-drive of the Amiga MorphOS via the network without being prompted for credentials.
It is of course possible to edit AmiTCP:samba/lib/smb.conf and extend the number of shares just by duplicating:
[ram] comment=ram path = /ram/ public = yes writable = yes printable = no browsable = yes guest ok = yes
and specifying a different path instead of /ram/, for example /dh1 for the first SYS: boot-drive.