|
About Linux
Hardware
Network
Installation
Partitions
Packages
Display Adapter
Server
Settings
Client
Settings
Bindings
More
Information
|
My wife and I had been called
to be workers in the Hayward (Californa) Stake Family History
Center because we "knew so much about computers". Not the
first calling I had received for that reason! Well, there
were other reasons why we were called, too, I'm sure.
It only took about three minutes
to figure out that constantly swapping CDs was definitely
not the high point of the patrons' experiences. Especially
because a lot of them were scared enough just to be using
a computer, much less having to monkey with the CD drive.
My first long TempleReady run was excruciating, and I can
only imagine what was going through that good sister's mind.
Like "How will I ever remember this?".
I called Salt Lake to find out if we were
even allowed to network our computers together (after all,
the FHC in the Oakland Temple Visitor's Center did it!) and
was rewarded a few days later with a draft document describing
how to do it. Based on what information I haven't gotten on
subsequent calls I was EXCEEDINGLY lucky to talk to the person
I did. Those folks seems to have a personal vendetta against
us networkers, almost as though we were members of a whole
different organization. I guess different people have different
ideas of making the kingdom go forward.
I was absolutely determined, regardless of
how long it took me, to make my network run under Linux. I
had enough spare parts to build a server machine and I wanted
to keep Bill Gates out of the Lord's work as much as I could.
Peter Yorke
November 22, 1999
|
|
|
ABOUT
LINUX
|
Before I talk directly about
software, let me say one thing in big, bold letters about
the Linux solution I picked. It is absolutely free.
I chose the distribution of Linux that I
am the most familiar with, Red Hat. From when I started this
project to when I went live with it Red Hat had gone through
more than one release, and we are at the most recent, 6.1.
There is wisdom in this choice; succeeding
releases have been much better at recognizing older equipment
such as network cards and display cards, and rather than cobbling
up my own drivers I found everything I needed on this release.
One other big advantage to Red Hat 6.1 is
that it supports software RAID in a very user-friendly way.
I have taken advantage of this and will explain how further
on.
Red Hat Linux comes with two packages that
are important to me, Samba and Apache. Apache I will talk
about later.
Samba is the network server part of Linux,
and like the rest of Linux it is totally free. Yet it provides
the same functionality (and, depending on your sources, better
performance) than Microsoft Windows NT and Novell NetWare.
It provides both disk and printer services.
A couple thoughts about Linux
will make this document easier to read.
Linux is the IBM PC-compatible version of
a popular operating system called Unix. In some ways Linux
is (or looks like) PC DOS and it's descendants, Windows and
OS/2. In other important ways it is very different.
One important difference is the disk directory.
In Linux there is no concept of drive letter (the ubiquitous
C:). Rather than addressing a disk partition by a letter the
partition is "mounted" as a subdirectory of a giant tree that
represents all available disk space.
For example, there is always
a "root" directory, which is represented as "/" (notice we
use a slash, not a backslash). All of the FamilySearch material
looks like it is in the directory "/pool". When it gets trans+lated
via Samba into Windows it looks like it's on the H:, I:, J:,
K:, L:, M: and N: "drives".
|
|
|
HARDWARE
|
Linux runs very well on less machine than
its Microsoft and Novell counterparts. I already had a Pentium
II-MMX 200 MHz box laying around unused, so I pressed it into
service. But I could have gotten by with a lot less computer
if I had needed to.
It is obvious that there is no need for the
server, while it is sitting there in the FHC, to need a mouse,
a< keyboard, a floppy drive, a cdrom drive or a display, so
in my plan I was not going to provide them. It turns out that
Linux does indeed want a keyboard and at least a display adaptor,
so that's what it has for now. When I get some more spare
(ha!) cash I will put an A-B switch on it so I can share the
keyboard, mouse and the actual display with another machine.
As for the cdrom drive, I just plugged one
in long enough to install Linux and to copy all the CDs over.
I didn't really even need to use it to copy CDs. Once hooked
into the network I could have used the cdrom drives of all
the other machines, concurrently, to load the CDs. My BIOS
is new enough that it supports bootable CDs (the official
version of Red Hat is bootable) so I never really needed a
floppy drive.
I started out with a Maxtor 10GB drive ($135
at Costco) and soon after added a Maxtor 20GB ($190 at Costco).
The operating system, including swap space, takes about 1.5GB.
I figured that I should be able to get most of the popular
stuff from FamilySearch on the 28.5GB and then add more disk
space as my budget allowed.
Well, I was wrong. As many of you have already
figured out, the Ancestral File, IGI and TempleReady programs
are rigged such that it's pretty much all or nothing. You
either get it all on hard drive or you get it all on CDs.
28.5GB is still slim, and I told my FHC co-directors
that I soon as I could afford one more 20GB drive we would
be set. They looked into their FHC budget situation and figured
out that they hadn't spent any of their 1999 budget of $175
and would just lose it if they didn't. So now we have 48.5GB,
which I hope is enough for all the FamilySearch stuff and
also the newer census stuff that's come available.
To avoid the hassle of getting
all the needed CDs on any one disk without crossing over disk
boundaries, I have used Linux's software RAID code. With RAID
(Redundant Array of Inexpensive Drives) I can make all my
data space look like one giant drive of 48.5GB. This was so
simple to do I almost hesitate to give instructions. But I
will, later.
|
|
|
NETWORK
|
My machines are networked together with 10Base-T
Cat 5 Ethernet. I have a big box of the Cat 5 cable and just
terminate whatever length I need. Commercially manufactured
patch cables are probably an even better choice because the
strands of wire are actually lasered onto the terminators.
But they cost more.
I think 10 Mbps is probably more than adequate
for any family history center. The 'purist' in me demands
100 Mbps, but the four donated machines had 10 Mbps NICs in
them already, so I forwent my purism.
Linux does TCP/IP like a duck treads water,
and Samba (the networking software) does IPX (which is what
Windows 95 is looking for) without even having to set parameters.
Actually, no. I did set one parameter, the name of the workgroup.
Windows defaults to "Workgroup",
so to "Workgroup" so that it would
be consistent with Windows 95.
The draft document that Salt Lake sent to
me suggests creating a separate subdirectory for each application
(/ad = Addendum, /igi = IGI, etc.) and a different drive letter
for each subdirectory (h: = /ad, j: = /igi, etc.).
I created the subdirectories in my pool space
(/pool, which is where /dev/md0 is mounted) before copying
the CDs into their respective directories.
In the Samba control file (/etc/smb.conf)
I added a resource for each logical drive I needed (/pool/af
= [af], /pool/igi = [igi], etc.). I will talk more about Samba
parameters later.
|
|
|
INSTALLATION
|
I'm not going to give a blow-by-blow account
of the installation process, just the highlights. If people
are interested in more detail I will insert that detail into
this document.
Red Hat 6.1 provides three modes of installation
(Workstation, Server and Custom) and two desktop environments
(Gnome and KDE). Just by their names one would expect that
Server would be the best choice of installation mode, but
from what I gleaned from the installation materials this didn't
give me the flexibility I felt I needed in distributing my
disk space. So I used the Custom option.
The choise of a desktop environment
is purely a religious decision. I personally like the Gnome
look-and-feel better, but KDE has a strong following. KDE
seems to have tried harder to make itself look like Windows,
which I find offensive.
|
|
|
PARTITIONS
|
Red
Hat uses Disk Druid to partition the hard drives. If you have
no need of a RAID array, for instance if you are fitting everything
onto one physical drive, then you can ignore devices hdb and
hdc in the table and all the references to RAID. Here are the
settings I used:
| Device
| Amount
| Mount Point
| Type
| Comment
|
| hda
| 16MB
| /boot
| Linux Native
| Small partition that must be below cylinder
1024
|
| hda
| 128MB
|
| Linux Swap
| Swap Space
|
| hda
| 1536MB
| /
| Linux Native
| Root (all the rest of the installation)
|
| hda
| the rest
|
| Linux RAID
| Pool Space
|
| hdb
| all
|
| Linux RAID
| Pool Space
|
| hdc
| all
|
| Linux RAID
| Pool Space
|
Once the three RAID partitions are created
you can push the button marked "Make RAID device". The ensuing
dialog will let you choose all of your Linux RAID partitions.
Create a RAID 0 device as /dev/md0. I mount this device as /pool.
That, folks, is all it takes.
The installation system does everything else that's needed,
including creating the RAID configuration file and starting
the RAID process.
|
|
|
INSTALLATION
PACKAGES
|
I made it easy on myself. I took the choice
at the very end of the list that says "Install everything".
1.5GB is plenty of disk space for everything.
If I were inclined to not install some of
the packages I would probably pick all the ones that have
to do development, rebuilding the kernel, etc.
I would not leave out any packages that have
to do with the Internet because I have a special plan in mind
that I will talk about later.
|
|
|
DISPLAY
&
ADAPTER
|
On the one hand nobody in the Family History
Center is going to be logging on to your server, so there's
not much point in dedicating a lot of time and effort into
the display and the display adaptor.
On the other had, Linux has some GUI tools
that make maintenance very easy.
The installation program should be able to
pick out what type of display adapter you have and tell you
what it is.
I just choose "generic multisync" as my display
type and everything seems to run great.
The installation probe into your hardware
may come up with the correct display adapter but it may not
know how to use all its capabilities. So if you want to use
the GUI tools (I particularily like the GUI version of Linuxconf),
go through the display adaptor configuration once more after
the installation is complete. This is done by logging on to
root and running a program. called Xconfigurator.
One of the things I have to set after the
installation is the screen resolution. The installation program
sets it at 640x480 and I prefer 1024x168.
|
|
|
NETWORK
SETTINGS:
LINUX
|
Linux network settings (like most Linux settings)
are kept in disk files mostly in /etc. A very knowledgeable
person can just go right to the right file and make what changes
need to be made. For the rest of us there is Linuxconf.
Here are a set of settings that
work. Note that I am only giving the information that is needed
for this solution:
- Config
- Networking
- Client tasks
- Basic host information
- Host name
- Adaptor 1
- Enabled = true
- Config mode = Manual
- Primary name + domain =
server
- Aliases (opt) = server.fhc.net
- IP address = 192.168.0.101
- Netmask (opt) = 255.255.255.0
- Net device = eth0
- Kernel module = ne2k-pci
(Installation figured this out)
- Name server specification (DNS)
- DNS usage = DNS
is required
- nameserver 1 = 192.168.0.101
- search domain 1 (opt) = fhc.net
- Routing and gateways
- Host name search path
- Network Information System (NIS)
- IPX interface setup
- PPP/SLIP/PLIP
- Server tasks
- Exported file systems (NFS)
- IP aliases for virtual hosts
- Apache Web server (We won't go
here right now)
- Domain Name Server (DNS) (We won't
go here, either)
- Mail delivery system (sendmail)
- Samba file server
- Defaults
- Base config
- Synchronise SMB from
Linx passwords = true
- Synchronise Linux from
SMB passwords = false
- Server description
= Samba Server
- Work group = Workgroup
- Passwords
- Encrypted password
required = false
- Authentication mode
= Share
- Map to guest = Never
- Access
- Networking
- Auto-accounts
- Features
- Default setup for users's home
- Default setup for printers
- Netlogon setup
- Disk shares
-
| Share
| Comment
| Directory
|
| pool
| RAID
drive
| /pool
|
| af
| Ancestral
File
| /pool/af
|
| igi
| International
Genealogical Index
| /pool/igi
|
| ad
| International
Genealogical Index Addendum
| /pool/ad
|
| lc
| Family
History Library Catalog
| /pool/lc
|
| mi
| Military
Index
| /pool/mi
|
| scr
| Scottish
Church Records
| /pool/scr
|
| ss
| Social
Security Death Index
| /pool/ss
|
All these shares should be marked "enabled",
"Browsable", "Public
access" and "Writable".
- Ftp server (wu-ftp)
- Misc
- Information about other hosts
-
| IP number
| name & aliases
|
| 127.0.0.1
| localhost
localhost.localdomain
|
| 192.168.0.101
| server server.fhc.net
|
- Information about other networks
- Linuxconf network access
- Users accounts
- Normal
- User accounts (Add this new user)
- The account is enbaled = true
- Login name = smbuser
- Full name = Samba
User
- group = smb
- Supplementary groups
- Home directory(opt) = /home/public
- Command interpreter(opt) =
/bin/bash
- User ID(opt) = Let
Linuxconf pick it
- Group definitions
- Change root password
- Special Accounts
- Email aliases
- Policies
- File systems
- Miscellaneous services
- boot mode
- Control
|
|
|
NETWORK
SETTINGS:
WINDOWS
|
The
Windows (95) network settings can be found at Start-Settings-Control
Panel-Network, Or the "Properties" menu item when right mouse
clicking Network Neighborhood. Again, this is what works for
me:
- applications
- Installed network components
- Client for Microsoft Networks
- Log on to Windows NT domain
= false
- Windows NT Domain = leave
blank
- Logon and restore network connections
= true
- 3Com EtherLInk 10/100 PCI for Complete
PC Management - This depends on your Network Interface Card
- 3Com TCAATDI Diagnostic TDI - This
depends on your Network Interface Card
- IPX/SPX-compatible Protocol - No
changes here
- NetBEUI - No changes
here
- TCP/IP
- IP Address
- Specify an IP Address
- IP Address = 192.168.0.102
- Subnet Mask = 255.255.255.0
- WINS Configuration
- Gateway
- DNS Configuration
- Bindings
- Advanced
- NetBIOS
- File and printer sharing for Microsoft
Networks
- Primary Network Logon
- File and Print Sharing (The Big Button)
- I want to be able to give others
access to my files = true
- I want to be able to allow others
to print to my printer(s). = true
- Identification
- Computer Name = (just
pick a name)
- Workgroup = Workgroup
- Computer Description = whatever
you want
- Access Control
- Share-level access control = true
|
|
|
SECURITY
|
Okay, I'll admit it. I have built practically
no security at all into this system. Everyone logs onto the
Windows machines as guest and all the Samba shares are at
the share level.
And, to boot, my root password is....password.
Oh well.
|
|
|
BINDINGS
|
Based
on the partitioning scheme for the /pool area, I have created
the following drive bindings:
- J: = \\server\ad
- K: = \\server\af
- L: = \\server\igi
- M: = \\server\lc
- N: = \\server\mi
- O: = \\server\scr
- P: = \\server\ss
- W: = \\server\pool
Furthermore, when you install FamilySearch program
on W:, using the 'install network' method, be sure and put these
drives in. |
|
|
FOR
THE
FUTURE
|
Earlier in this document I said I would talk
about Apache. Apache is a full-featured web server that comes
free with Linux. In other words one of the computers on my
network could start their favorite browser and point it to
the Linux server and actually get something back.
I have started, and will be working on for
a while I'm afraid, an online training course that will be
available from all of the computers in the Family History
Center.
Not only will there be a tutorial
for everything a person needs to know in the Family History
Center, but there will also be "How do I ..." sections.
|
|
|
FOR
MORE
INFORMATION
|
Search
the FHC Tech email list for Linux information.
|
|
|