This applies to CharterHouse versions 3.10A and later.
Yes, it does work. CharterHouse does not support this configuration, but it has been tested and is available for your inspection. It works far better than Windows NT server (also not supported). You are welcome to make an appointment to come and examine our setup. If you do not understand this document, do not attempt this. There is no such thing as UNIX FOR DUMMIES.
Advice: Buy Linux Network Toolkit by Paul G. Sery (IDG books ISBN 0764531468). This is a step-by-step guide and contains both Red Hat 5 and Samba. It is worth every cent of its $50 cover price. There is also Samba: Integrating UNIX and Windows by John D. Blair ($30 published by Computer Literacy, ISBN 1578310067) which you may wish to browse.
If you follow Sery's instructions, perhaps it is permissible to be a UNIX dummy.
Our system consists of a Slackware 7 Linux server (host) and MS-DOS clients. We suggest a Slackware distribution of Linux, although other distributions will also work. You will need to compile a stable ("not experimental") Linux kernel version 2.0.33 or higher that supports the hardware upon which it runs. When you 'make config', say NO to Samba so that the Samba you load is the one you compiled; thus no surprises. Since Microsoft networking requires SMB, we recommend you use Samba, version 1.9 or higher (stable release). In order to minimize the use of third party software, we use TCP/IP, which requires that you assign an IP address (preferably two) to each computer on the network. Samba contains a sufficient Name Server. You can download a package that will allow Windows 3.1, Windows 3.11 ("Win3.1x") and / or MS-DOS version 3.31 and higher to LOGIN to the UNIX server, currently at ftp://ftp.microsoft.com/bussys/Clients/MSCLIENT/. Please read the license agreement and be aware that there are no installation instructions with this package. It also uses gobs of conventional and expanded memory, so we recommend that a good memory manager such as QEMM be employed; CharterHouse programs need at least 570K of conventional memory on each client to run efficiently. Windows for Workgroups requires that you use Microsoft's 32-bit TCP/IP from ftp://ftp.microsoft.com/peropsys/windows/public/tcpip/WFWT32.EXE. You should also peruse the directories under /bussys and /peropsys there. Windows 95 and Windows 98 ("Win9x") do not require any additional software. Windows NT Workstation cannot be used. Samba can be obtained from the source at ftp://samba.anu.edu.au/pub/samba. We recommend that you document your setup / configuration decisions immediately after compiling a working Samba setup; it will prove valuable in testing and configuring Samba.
Although Linux can and will run on a PC, the use of the term "PC" within this document refers to a computer with an Intel or compatible CPU running under Microsoft DOS version 3.31 or higher. If you use a DOS version lower than 5.00, a third party memory manager will be required. With a version of DOS that contains MEMMAKER, you may get by with EMM386.EXE RAM, although we were not able to obtain a sufficient LARGEST EXECUTABLE PROGRAM SIZE (our best was 510K; CharterHouse needs 570K) when we ran MEM_t_AKER. While other DOSes do exist, CharterHouse does not support its software for use under any operating system other than Microsoft DOS. "UNIX" and "Linux" refer to the host computer, which may run any processor that Linux can support. Again, while there are other UNIX operating systems than Linux, their use is at your risk. We have tested only Linux.
Create accounts with passwords for each user. UNIX does not care whether or not a password exists, but DOS requires it. Be aware that there are security problems in the default UNIX passwording which PAM or Shadow are designed to solve. However, neither is 100% compatible with all software so you will need to decide whether or not to use one of these. Our system runs fine with Shadowed passwords and Slackware.
Create a directory for your CharterHouse (and other) programs; we use /apps. On the PC, this directory will display as if it were a volume label. (This is not the executable \CHARTER directory). Set the attributes of this directory so that there are no restrictions on its access; that is, chmod 777 it. We recommend it be a top-level directory.
Edit Samba's Makefile so that it matches your directory structure and reflects your decision regarding PAM or Shadowed passwords. Make and install it. Edit smb.conf (wherever you had make put it) and add a section to it similar to the following:
comment = Applications
path = /apps
valid users = john1 john2 kim1 kim2 peter1 peter2 tina1 tina2
create mask = 0777
guest ok = yes
writable = yes
Run testparm to confirm that smb.conf is error-free. Check /etc/rc.d to verify that rc.samba exists and is executable. Reboot the UNIX box and confirm that Samba loads.
FILES= CharterHouse suggests that Win3.1x-based machines set 99; DOS machines can get by with 45.
BUFFERS= Set the maximum number of BUFFERS that will not reduce conventional memory. For Win9x this is usually 20 or 34. For DOS 5 or higher, it is near 40.
Where possible, set
STACKS=0,0 In cases where that fails, set STACKS=9,256. Win9x needs no STACKS setting.
DOS and Win3.1x machines should also set
AUTOEXEC.BAT is only needed on machines that run DOS or Win3.1x; Win9x does not need any AUTOEXEC.BAT at all. Microsoft creates a recommended CONFIG.SYS and AUTOEXEC.BAT when the TCP/IP software is installed; you should use these as guides. CharterHouse does not need any drive cache, but if you insist, use the most current version you can find (SMARTDRV v5.1 or higher). Please keep its memory usage minimal and load it after MSCDEX so that it caches the CD-ROM. The network drivers must be loaded as soon as possible, so your AUTOEXEC.BAT should look something like this:
C:\DOS\MSCDEX.EXE /D:driveID /E /L:D /M:32 /V
C:\DOS\SMARTDRV.EXE /X A- B- C D 256 16 /B:8192
If needed, increase "256" and "16" to 4096, RAM permitting...
Reboot the computer if you changed any of these settings.
Go to the Control Panel and select the Network icon. Select the Identification tab and set the Computer name to one of your valid UNIX (Machine Name) logins. Set the Workgroup to correspond to that in Samba. You may leave the Computer Description blank. Select the Configuration tab and click the Add button. Select Client and click Add. Select Microsoft on the left and Client for Microsoft Networks on the right, then click OK. Add the Adapter (which may also add the IPX protocol); install the proper card drivers for your network card. Once again click Add, select Protocol and click Add. Select Microsoft on the left and TCP/IP on the right, then click OK. This step is optional but recommended: remove the IPX protocol. Make sure Primary Network Logon is Client for Microsoft Networks. Select the TCP/IP protocol and click on Properties. Bindings are to Client for Microsoft. For now, set DNS to Disabled. In Gateway, Add the IP address of the UNIX box. For now, disable WINS resolution. Finally, specify the IP address for this machine so that it corresponds to that on the Linux box. Click OK on Properties. Click OK on Network. Windows will install any necessary software and suggest you reboot the computer. Do so. Confirm that you get a network login prompt when Windows restarts. In that prompt, enter the same password as that set up on the UNIX box and click OK.
Go to Network Neighborhood and confirm that the UNIX server shows. Double click on its icon, then right click on the directory icon; map a drive letter to the directory. Click Reconnect at logon and OK. If you are prompted for a password, use the UNIX password for this PC.
NET USE F: \\servername\CHARTER /PERSISTENT:YES  /SAVEPW:YES
If you are prompted for a password, use the UNIX password for this PC. You should now be able to type DIR F: and see a directory listing. Start Windows if applicable.
Go to the UNIX box and chmod 777 the installation directory and all files in it, as well as the data directory and all files in it; users must have unrestricted access. If you run ATTRIB *.* and see R (read-only) attributes, you have not granted full access and CharterHouse will fail.
Cold boot both the Linux box and the PC. Run your CharterHouse program. In the Master Menu, confirm that the correct company is selected for processing and that the Machine Name is displayed in the top left corner of the screen. If not, fix it - usually by running MNAME.EXE UNIXname before starting the CharterHouse program. Now you can create a batch file, PIF or shortcut to run the software. MNAME comes with CharterHouse's Windows Integration Kits.
For a laser printer, suppress form feeds (:sf:) may be inappropriate. Make sure you can print from UNIX:
Check your Samba smb.conf file, which should look similar to this:
comment = All Printers
path = /var/spool/lpd/oki
browseable = no
print ok = yes
create mask = 0700
On the PC, capture the printer as LPT2 (or LPT3). Do not install any print driver on the PC for this printer. In CharterHouse, test by selecting some print option and enter correct information at the PREPARE YOUR PRINTER prompt. For a dot matrix printer this would be 2:NORMAL while for a laser printer it would be 2:LASER-N (assuming 80-column reports).
Our setup does not require the use of any print filter. But yours might.
Q: Slackware 3.4.0 won't compile Samba.
A: There is a problem with the binary distribution of the GNU C compiler. Either update your Slackware or recompile gcc-220.127.116.11 from the source on the CD. The configuration for Slackware is i486-unknown-linux-gnulibc1.
Q: Can I open two or more instances of CharterHouse
A: No. Well, at your own risk. It is discouraged because irrecoverable data corruption can occur with non-unique Machine Names.
Q: Why must I use Microsoft DOS?
A: As the software publisher, CharterHouse has the right to specify the operating environment under which it runs. We require a robust, standard DOS. Our source code and compilers are created using Microsoft products. Samba expects Microsoft Networking.
Q: Can the workstations be simple serial devices attached
to the server?
A: No. We require that the client execute DOS programs, which requires the client to boot a DOS operating system.
Q: I'm stuck. Even after checking out your system I
can't make my setup work. Can't you help me?
A: No. If you can't build it, you can't maintain it either.
Q: Why TCP/IP rather than some other protocol?
A: Because other protocols require that some third party software be used. TCP/IP works. The "whole world" is using TCP/IP because it is the "protocol of the Internet". Linux support of other protocols is no longer being maintained.
Q: Can CharterHouse users gain access to other parts
of my UNIX system? In particular, I'm concerned about the password file
and other security issues.
A: No, because you must specifically grant access. See the documentation for smb.conf. However, be very careful about granting access via a dialup connection; savvy users might avoid (not be restricted by) Samba. And avoid smbmount.
Q: Can I backup and restore from the client?
A: Yes. We recommend the use of our Zip Backup package for backup and restore of the data files. It does not backup the executable directory, so you'll probably want a tape backup on the UNIX system also.
Q: My Windows clients occasionally hang while processing.
Reboot, retry is almost always successful. What is causing these crashes?
A: This is the author's opinion, so take it for what its worth. Windows is a multitasking environment and it "just gets lost". It "forgets" that an application is running so it does not return to it. For example, you can watch Windows check the CD-ROM drive when no disk is in it and while you are running some application; why does it do that? Grr! The other most common reason is video. In spite of years of problems caused by bad video drivers, they still proliferate. I think this is because they are designed to perform well in Winstone rather than be robust. Shame, because there are Lies, Damn Lies and Benchmarks (in that order)... And the final reason is that Microsoft wants DOS to die, so support for DOS programs is as minimal as they can justify.
Q: What does SMB mean?
A: SMB is an acronym for Session Message Block protocol.
Q: What precautions should I take?
A: Charterhouse printer definitions are destroyed if you reinstall. Save the files with @MM extensions if they are modified for your printers. Computer setups, company records, passwords and other information that is either difficult or time-consuming to recreate are in files with MM extensions. We recommend you make simple backups of these so they can be easily restored:
COPY *.MM *.SAV will do the trick.
Old files in the data directory which have numeric extensions should be purged occasionally. Purge files in the executable directory that begin with TEMP and those with RPT or numeric extensions.
Backup often and use a rotating backup so that at least 3 backups are available for restoration. One should be kept offsite.
REINDEX and TRUNK data files occasionally. It speeds file access and helps prevent data errors.
Run CHLOCK regularly. Watch out for users who show as logged in when they are not. Find the reason and fix the problem so it does not continue. It is critical that every user have a unique, non-blank Machine Name which is displayed in the top left corner of the Master Menu screen. Duplicate or blank machine names are guaranteed to cause you grief.  When you run CHLOCK, there should never be a "User no. 1".