Setting Up A Linux Office Server

author-image
PCQ Bureau
New Update

The advantages of having a Local Area Network are well
known. However, people have been scared away by the cost–both of the Network
Operating System (NOS) software and hardware required by these commercial
NOSs.

One major objective we set was to give our readers a
feasible alternative–one that doesn’t cost much and will work on mortal
hardware, while providing all the services one would expect from a proper office server.
Linux does a good job in fulfilling these objectives.

At this point we assume that you have successfully
installed Linux, using the previous article Installing Rad Hat as a guide.

We will now configure Linux box to become a file, print
and, domain/security server for your network. It isn’t very difficult–all it
takes is a bit of file editing.

width="400" height="239">Setting up a printer

Before you begin, make sure that you have installed a
printer (if you intend to use print services) and configured Linux to use it. If you didn’t
do it at the time of installation, you can do so now–just fire up X Windows
(startx)
while you are logged in as root, and click the Printer icon in the Control Panel
that appears on the left side of your screen. It won’t hurt to run through the
process quickly again even if you have configured a printer–just skip the
adding stuff and go straight to the tests. If things don’t work, this is where to set
them right.

Here is a quick description of the process (we assume that
the printer is directly attached to the Linux machine):

  1. Fire up the printer configuration tool from the Control
    Panel.
  2. Click the Add button, and select Local Printer.
    You will get a panel showing the ports available. You have nothing to worry about unless
    every port shown is "not detected"
    .
  3. Next you will be asked for details about the printer. Choose
    a name (you can leave the default or put in something like hplj4 if your printer is a HP
    LaserJet 4), the spool directory (leave this as the default), the file limit (leave this
    at 0 KB, indicating no limit), and the printer device (the default should be OK).
  4. Next you have to select the Input Filter. Hit that button
    and select your printer (or a close match). If your printer supports Postscript, select Postscript
    Printer
    , else make sure you select a reasonably close relative of your printer.
    Some printers let you choose the desired resolution but the default is usually fine. One
    particularly nasty item can be the paper size–set it to the paper size you use most
    often, especially if you have a printer that senses the paper size. Otherwise, it might
    prompt you to insert paper matching size A4 or something similar (thereby stopping
    the print process) if you have wrong paper loaded. Finally, enable Fix Stair-stepping
    text
    , though this option plays a role only with text that originates from a Unix
    machine.
  5. When you hit OK, you get back to the Printer definition
    panel, where you should definitely select Suppress Headers unless you like a lot of
    user information printed at the beginning of every new print job!
  6. Finally, click OK, and your printer definition is over. Now you should test the new printer. Make sure paper is
    loaded and printer is online. Select the printer definition and pull down the Tests menu.

    Select Print ASCII test page and make sure
    everything is printed normally. You should not see Stair-stepping-text that
    advances to the next line but not to the beginning of the line.

    Next, test Postscript printing. Here you will see your
    first minor miracle–even if your printer is non-postscript, it will print graphics
    using Postscript! This is because the print-job is routed through the supplied utility,
    GhostScript, which converts the Postscript code into something your printer can
    understand.

    If both tests are cleared, your printer is properly
    installed and you can proceed.

    Configuring for Windows networking

    Windows-style networking is probably the most common one
    today (Netware enthusiasts, don’t gnash your teeth–read Netware and Linux) and
    that’s what we are going to set up now.

    There are two kinds of Windows networking–Domain-based
    (where you have to log into the server to even see its resources) and Share-based
    (where you need to know the password for resources you wish to access). The former is the
    type of networking used by Windows NT, while the latter, also called Workgroup computing,
    is typically found in Windows for Workgroups 3.11. Each has its merits, and we do not want
    to get too deep into that now. We will assume that you want to set up Linux to offer
    Domain-based networking, complete with a security login.

    The technical name for Windows-style networking is SMB
    (Server Message Block) protocol-based networking or LanManager-style networking. Though
    Microsoft refers to it only as Windows Networking, it is actually used by many
    operating systems and architectures, including OS/2, Digital PathWorks, and so on. There
    is nothing really Microsoft or Windows specific in the protocol.

    SMB-style networking is implemented under Linux using
    Andrew Tridgell’s original implementation of the SMB protocol for Unix, called SAMBA.
    It is an extremely complex piece of work, but fortunately very easy to configure–just
    about every configuration item is stored within a single configuration file that is plain
    text, with plenty of comments included to help you along.

    This text file is called smb.conf and is found in
    the /etc directory (like just about every configuration file in Red Hat Linux-based
    systems). A few changes in that file are required to get your server up and running, so
    let’s quickly make them.

    Note:

    The SAMBA code originally shipped with Red Hat
    Linux 5.0 is not optimal, so we upgrade it during the installation process using the
    upgrades kit we have supplied along with our CD-ROM. If you have not yet applied those
    upgrades, you should do so now. The SAMBA code originally shipped with Red Hat
    Linux 5.0 is not optimal, so we upgrade it during the installation process using the
    upgrades kit we have supplied along with our CD-ROM. If you have not yet applied those
    upgrades, you should do so now.

    Here we also introduce our favorite little text editor, JOE
    (Joe’s Own Editor), and anyone who has ever used WordStar or Borland’s original
    programmer editor is going to feel right at home using it. (Why did we mention this here?
    Because, you wouldn’t believe how many people have shied away from Unix/Linux in the
    past saying "I don’t won’t to learn VI or EMACS….".) Learn to use JOE, now, while working:

    Make sure that you are logged in as root, and issue the command joe /etc/smb.conf. This
    will fire up the editor and load configuration items.

    Go ahead, use your cursor keys to scroll and read the file.
    If you already know something about Windows Networking, you’ll see many familiar
    terms and settings.

    Now hit Ctrl-T-W. (This turns off the word-wrap
    feature that could otherwise mess up the file).

    Done? OK, now watch how easy it is to get things
    configured:

    1. Scroll down and find the item workgroup =. Here your
      Windows workgroup (and also domain) is defined. The default is something like
      Mygroup. In
      your office, you probably don’t want to have a name like that for a network group, so
      let’s change it to something meaningful. Here at PC Quest Labs, we changed it
      to PCQLABS, though you could use any other name. Make sure it is eight characters or less,
      and contains no spaces. This is not a limitation of SAMBA but of some older Windows
      clients.
    2. Scroll down further till you find the item security =.
      This defines whether you require a formal login into the server before shares are made
      available, or whether you just want a user to know his password for the actual shared
      resource. The default is set to security = user and you should leave it that way.
    3. Find the item called local master = and set it to yes,
      then the item os level =, which should be set to 33. The next item is domain
      master =
      which you should also set to yes. Ditto for preferred master =.
      Make sure that no semicolon (;) is given before any of these entries or the entry will be
      disabled.
    4. Now comes the important thing–find the item domain
      logons =
      and set it to yes.
    5. Almost there, scroll down till you find a commented-section ;.
      Remove the semicolons from the beginning of each line in that section. Note that the path
      is shown as

      /home/netlogon
      (we will need this value later).
    6. Finally, scroll down till you find a commented-section ;
      and remove the semicolons from that section too.
    7. Now save the file and quit (Ctrl-KXI).

    We could have done more, but let’s first get these
    running. To create the netlogon directory

    (/home/netlogon), enter the command mkdir /home/netlogon. Enter chmod 0755
    /home/netlogon
    to give it read and execute, but not write permissions.

    Done? OK, let’s test that using the command testparm
    | less
    . Scroll through the results and look for any error messages–if you have
    followed the above steps correctly, your shouldn’t see any. Hit q to quit the
    viewer and go back to the command prompt.

    Finally, enter the command /etc/rc.d/init.d/smb restart to
    tell the SAMBA server components to restart using this new configuration file. You should
    see the existing components being stopped and then restarted. At this point, your Linux-based file, print, and security
    server is ready for action!

    Configuring Windows clients

    To access the Linux file server, your Windows clients must
    be configured for Windows NT networking–Linux running SAMBA and configured the way we
    did emulates a Windows NT server. In fact, Windows, if asked what server it is connected
    to, will report a Microsoft Windows NT server! (If you don’t have Win 95 distribution
    on your hard disk, as is often found with pre-installed Win 95 setups, make sure you have
    your Win 95 CD-ROM or disks at hand.)

    1. In Win 95, select Start-Settings-Control Panel-Network.
    2. If you do not have Client for Microsoft Networks
      installed, click on Add-Client, Add-Microsoft, Client for Microsoft
      Networks
      , and click OK.
    3. Select Client for Microsoft Networks, and click on Properties.
    4. Enable Logon to Windows NT domain, and enter the
      Domain/Workgroup name you have earlier defined in /etc/smb.conf in Windows NT
      Domain field. In our case, this was PCQLABS–you may have chosen some other name.
    5. On the same screen make sure you enable Quick logon.
      Then click on OK.
    6. Now make sure you have TCP/IP installed. If you don’t
      have, click on Add-Protocol-Add-Microsoft-TCP/IP-OK.
    7. If you have several TCP/IP entries appearing in the network
      component list, select the one pointing to your network card and click on Properties.
    8. Select IP Address. If you already have a TCP/IP-based
      network running, you will probably have a network address shown there. Since the preferred
      way of doing things is to use DHCP to obtain such information, and since we have
      configured a DHCP server (Read Configuring DHCP and DNS Services), let’s use that.
      Enable Obtain an IP address automatically.
    9. Select WINS and make sure that Use DHCP for WINS
      resolution
      is checked.
    10. Select Gateway and make sure no gateways are defined
      (delete any that are shown there). You will be issued a Gateway address by the DHCP
      process.
    11. Select DNS configuration and disable DNS (don’t
      worry, DHCP will supply you with the needed values).
    12. Select Bindings and ensure that Client for
      Microsoft Networks
      is enabled.
    13. Select Advanced and make sure that this protocol is
      set as the default protocol, then click on OK.
    14. At the Network configuration screen, make sure Primary
      Network Logon
      is set to Client for Microsoft Networks.
    15. Now click the Identification tab at the top. Enter a
      unique name for your computer, and set the Workgroup to your Domain/Workgroup name (which
      we set to PCQLABS). You can also enter a short description for your computer.

    Finally, click on OK in the Network Configuration
    screen. This will probably install a number of components–some of which require the
    Windows CD-ROM/disks. When it is through, it will ask you whether it can restart your
    computer. Click on Yes after closing all applications. The machine will reboot. If all went well, you should be presented with a Network
    Logon screen, with your domain name already filled in. At this point, you need to make
    sure that you have a user account on the Linux machine. If you don’t, create one
    (while logged in as root) using the command useradd userid or use the User
    configuration applet from the Linux control panel if you have X Windows running. In either
    case, make sure that a password is assigned to the user. From the Linux command line you
    can do that with the command passwd userid. OK, now try logging in from your
    Windows machine! Enter your user ID and the password. After a brief delay, you should see
    your Windows desktop, complete with Network Neighborhood icon.

    Note:

    You may be prompted for a Windows password if
    this is the first time you logged in this way. Typically, the password will already be
    filled in in the first field (it uses your network login password). Do not confirm the
    password! Wipe out this pre-filled password and click on OK. This will stop Windows from
    asking you for this (effectively useless) password in the future. You may be prompted for a Windows password if
    this is the first time you logged in this way. Typically, the password will already be
    filled in in the first field (it uses your network login password). Do not confirm the
    password! Wipe out this pre-filled password and click on OK. This will stop Windows from
    asking you for this (effectively useless) password in the future.

    Once you are succesfully logged in, you should be able to
    see your Linux server’s name through the Network Neighborhood icon. Double click on
    that, and you should see various items, including your private home directory folder, the
    Tmp (temporary files) folder, and the printer you defined at the beginning.

    Open your personal folder. You can now copy files into it
    and use it just the way a file server should be used.

    Ready for some network printing? Open My Computer
    and select Printers. Choose Add printer-Next-Network Printer-Next-Browse,
    select the entry for your Linux server, find the printer icon, click OK-Next, set
    it as your Windows default printer, and allow it to print a test page. If your network
    printer is ready, online, and loaded with paper, you should now see the familiar Windows
    printer test page printing out. Tell Windows that it printed OK, and that’s it!

    Adding more resources

    You will now want to add more sharable resources. For
    example, let’s make the CD-ROM drive on the Linux server sharable by everyone on the
    network.

    Simply run joe /etc/smb.conf, go to the bottom of
    the file (Ctrl-KV will get you there), and add these lines:



    comment = LAN CDROM drive (if empty, no CDROM mounted)

    path = /mnt/cdrom

    public = yes

    writable = no


    printable = no

    Now restart SAMBA server components with

    /etc/rc.d/init.d/smb restart. If you refresh your Network Neighborhood, you should
    see a share called cdrom which will show you the contents of the CD-ROM (which you
    do by inserting a CD-ROM and running the command mount /mnt/cdrom), or nothing if
    no CD-ROM is mounted.

    Congratulations, your server is up and running!

Stay connected with us through our social media channels for the latest updates and news!

Follow us: