The Linux Intranet Server HOWTO
 Pramod Karnad, [email protected]
 v2.11, 7 August 1997

 This document describes how to setup an Intranet using Linux as the
 server which binds Unix, Netware, NT and Windows together. Hence by
 just establishing the connection to the Linux box you are provided
 transparent access to all the various platforms. Detailed explanations
 are provided for setting up HTTP using the NCSA server and connect to
 it using TCP/IP clients from Novell, Microsoft under Windows3.1,
 WFWG,Win95 and WinNT and MacTCP on the Apple PowerMac.
 ______________________________________________________________________

 Table of Contents



 1. Introduction

    1.1 What is required
    1.2 New versions of this document
    1.3 Feedback

 2. Install the HTTP server

    2.1 Preparation before downloading
       2.1.1 The Operating System
       2.1.2 Process type (ServerType)
       2.1.3 Binding Port (Port)
       2.1.4 Server user identity (User)
       2.1.5 Server group identity (Group)
       2.1.6 Server administrator email address (ServerAdmin)
       2.1.7 Location of server directory (ServerRoot)
       2.1.8 Location of HTML files (DocumentRoot)
    2.2 Compiling HTTPd

 3. Testing HTTPd

 4. Connecting to the Linux Server

    4.1 Setup the Linux server
    4.2 Setup the Netware server
    4.3 Setup the Netware Client
       4.3.1 Windows 3.x
       4.3.2 Windows 95
    4.4 Setup Microsoft Client
       4.4.1 Windows for Workgroups
       4.4.2 Windows 95
       4.4.3 Windows NT
    4.5 Setup TCP/IP on Macintosh
       4.5.1 MacTCP

 5. Setting up the Intranet

    5.1 NCPFS
       5.1.1 Installation
       5.1.2 Mounting NCPFS
    5.2 SMBFS
       5.2.1 Installation
       5.2.2 Mounting SMBFS
    5.3 NFS

 6. Accessing the Web

    6.1 Accessing the mounted filesystems
    6.2 Connecting to the Internet
    6.3 Other uses

 7. More things to do

 8. Credits and Legalities

    8.1 Thanks
    8.2 Copyright information


 ______________________________________________________________________

 1.  Introduction

 In simple terms, the Intranet is the descriptive term being used for
 the implementation of Internet technologies within a corporate
 organisation, rather than for external connection to the global
 Internet. This implementation is performed in such a way as to
 transparently deliver the immense informational resources of an
 organisation to each individuals desktop with minimal cost, time and
 effort. This document attempts to explain in simple terms how to setup
 an Intranet using tools which are readily available and are generally
 costing little or are free.

 This document assumes that you already know how to install TCP/IP on
 your Linux server and connect it physically to your LAN using an
 Ethernet network card. This also assumes you have some basic knowledge
 of Netware, WinNT and Mac systems. The configuration of the Netware
 server has been shown using version 3.1x as the basis. You can also
 use INETCFG to achieve the same result. On the client side the
 discussion is with respect to Windows 3.1x, Windows for Workgroups and
 Win95, WinNT and the Apple PowerMac.

 I am using the private network addresses (RFC-1918) of 172.16.0.0 and
 172.17.0.0 only as examples. You may choose suitable addresses
 depending on your configuration.



             Linux       Netware      WFWG/WinNT
             Server      Server       Server
            172.16.0.1   172.16.0.2   172.16.0.3
               |           |           |    172.16.0.0
         ------+-----+-----+--------+--+--------------
                     |              | 172.16.0.254
                   W/S 1          Router
                 172.16.0.5         | 172.17.0.254
                                    |
                          ----------+-------+--------
                     172.17.0.0             |
                                          W/S 2
                                        172.17.0.5



 1.1.  What is required

 You will need the following software before attempting the
 installation.

 o  the HTTP server software which can be downloaded from OneStep NCSA
    HTTPd Downloader at
    http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html page.

 o  The Novell Netware Client available from HTTP://support.novell.com/
    (The TCP/IP files are included with the client).

 o  The Microsoft TCP/IP client available from
    HTTP://www.microsoft.com/

 o  The Apple MacTCP client available from HTTP://www.apple.com/

 o  WWW Browsers like Netscape at HTTP://home.netscape.com/ or MS
    Internet Explorer at HTTP://www.microsoft.com/ or NCSA Mosaic from
    http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/NCSAMosaicHome.html


 1.2.  New versions of this document

 New versions of the Linux Intranet Server HOWTO will be periodically
 posted to comp.os.linux.announce and comp.os.linux.help. They will
 also be uploaded to various Linux FTP sites, including
 sunsite.unc.edu.

 The Latest version of this document is available in HTML format at
 http://www.inet.co.th/cyberclub/karnadp/http.html


 1.3.  Feedback

 If you have questions or comments about this document, please feel
 free to mail Pramod Karnad, at [email protected]. Suggestions,
 criticism and mail are always welcome. If you find a mistake with this
 document, please let me know so I can correct it in the next version.
 Thanx.


 2.  Install the HTTP server

 When you download the server you have two options: To get the source
 and compile it yourself, or get the precompiled binaries. The
 precompiled binaries for Linux (ELF) version are available at NCSA but
 not the older versions.


 2.1.  Preparation before downloading

 The server at NCSA will guide you through the steps for configuration
 options and prepare the various files for you. But before you attempt
 to download HTTPd be prepared with answers to the following questions


 2.1.1.  The Operating System

 First, you must choose whether to download the source or a pre-
 compiled version of the software. If your particular system doesn't
 appear in the menu, then you will have to get the default source, and
 compile it yourself.

 To check the version of your Linux go to the command prompt on your
 Linux machine and type


        linux:~$  uname -a



 which will respond with a line which looks similar to this


         linux:~$  uname -a
         Linux linux 2.0.29 #4 Tue Sep 13 04:05:51 CDT 1994 i586
         linux:~$



 The version of Linux is 2.0.29.

 The remaining parameters can be specified before downloading or
 configured later by modifying the file srm.conf in the
 /usr/local/etc/httpd/conf directory. The names of the actual
 directives that appear in the file httpd.conf are shown in brackets.
 The only exception is the directive DocumentRoot which appears in the
 file srm.conf

 2.1.2.  Process type (ServerType)

 This specifies how your machine will run your HTTPd server. The
 preferred method is "standalone". This makes the HTTP daemon to be
 running constantly. If you choose to load HTTPd under "inetd", the
 server binary will be reloaded into memory for every request, which
 may slow your server down.


 2.1.3.  Binding Port (Port)

 This specifies which port of your machine that the HTTPd daemon will
 bind to and listen for HTTP requests. If you can login as "root", use
 the default setting of 80.  Otherwise choose a setting between 1025
 and 65535.


 2.1.4.  Server user identity (User)

 This is the user id the server will change to when answering requests
 and acting on files.This question needs to be answered only if you are
 running the server as "standalone".  If you are someone without root
 permissions, just use your own login name. If you are system
 administrator, you might want to create a special user so you can
 control file permissions.


 2.1.5.  Server group identity (Group)

 This is the group id the server will change to when answering requests
 and acting on files. This is similar to Server User identity and is
 applicable only if you are running the server as standalone.

 If you do not have root permissions, just use the name of your primary
 group. You can find out your group by typing groups at the Linux
 command prompt.


 2.1.6.  Server administrator email address (ServerAdmin)

 This is the email address that the user should send an email message
 to when reporting a problem with the server. You can put your personal
 e-mail address.


 2.1.7.  Location of server directory (ServerRoot)

 This is where the server resides on your system. If you have root
 permissions leave it in its recommended location /usr/local/etc/httpd.
 If you cannot login as root, choose a subdirectory in your home path.
 You can find out the path of your home directory with the pwd command.


 2.1.8.  Location of HTML files (DocumentRoot)

 This is where the HTML files to be served are located. The default
 location is /usr/local/etc/httpd/htdocs.  You could however set it to
 be the home directory of the special user you chose in Server user
 identity, or a subdirectory in your home directory if you can't login
 as root.

 When in doubt, use the default settings. Now that you have answers to
 the above questions you can Download NCSA HTTPd at
 http://hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html.  You should read
 the HTTPd Documentation at http://hoohoo.ncsa.uiuc.edu/docs/ before
 you attempt installation. If you are planning to compile the code then
 you need to modify the makefiles in each of the th ree directories
 support, src, cgi-src. If your version of Linux is already supported
 then you just have to type make linux at the top level directory (i.e.
 /usr/local/etc/httpd)


 2.2.  Compiling HTTPd

 Compiling is simple, just type make linux at the prompt in the server
 root directory.  Note: Users of pre-ELF Linux have to uncomment
 #define NO_PASS in file portability.h and set DBM_LIBS= -ldbm in the
 Makefile before compiling HTTPd.


 3.  Testing HTTPd

 After you have installed HTTPd, login as root and start it by typing
 httpd & . (assuming you have installed as standalone) You should now
 be able to see it in the list generated by ps. The simplest way to
 test HTTPd is by Telnet. At the Linux command prompt type


         linux:~$  telnet 172.16.0.1 80



 where 80 is the default port for HTTP. If you have configured "Port"
 as something different then type that number instead. You should get a
 response which looks like this


         Trying 172.16.0.1...
         Connected to linux.mydomain.
         Escape character is '^]'.



 Now if you type in any character and press Enter you should get a
 response similar to the one shown below.


         HTTP/1.0 400 Bad Request
         Date: Wed, 10 Jan 1996 10:24:37 GMT
         Server: NCSA/1.5
         Content-type: text/html

         <HEAD><TITLE>400 Bad Request < /TITLE> < /HEAD>
         <BODY><H1>400 Bad Request < /H1>
         Your client sent a query that this server could
         not understand.<P>
         Reason: Invalid or unsupported method.<P>
         < /BODY>



 Now we are ready to connect to this server using another PC and a WWW
 Browser.


 4.  Connecting to the Linux Server

 Please refer to the diagram shown in the chapter ``Introduction'' for
 the addressing scheme used. Workstation 1 (W/S1) is on network
 172.16.0.0 and can access the Linux server directly whereas
 Workstation 2 (W/S2) is on network 172.17.0.0 and needs to use the
 gateway (router) 172.17.0.254 to access the Linux box. This gateway
 information needs to be provided while configuring the clients only on
 W/S2. Netware refers to the gateway as 'ip_router'.

 I am using W/S2 to illustrate the client setup. To setup W/S1 just
 change the address 172.17.0.5 to 172.16.0.5 and ignore all references
 to the gateway/router.

 If you do not have a router you can skip the next section and proceed
 to

 o  ``Setup Netware Server'' if you use a Netware server.

 o  ``Setup MS Windows Client'' if you use the Microsoft Client.


 4.1.  Setup the Linux server

 You may skip this section if you do not have a router.

 You have to configure the Linux server to recognise the router thus
 allowing Workstation 2 to connect to the Web server. In order to setup
 the Linux server you should login as root. At the server prompt type


         route add gw default 172.16.0.254



 To use this gateway everytime you boot the Linux server edit the file
 /etc/rc.d/rc.inet1 and change the line containing the gateway defini-
 tion to GATEWAY = "172.16.0.254". Make sure the line for adding the
 gateway is not commented out.

 ALT: You can add routes to the networks on the other side of the
 router. This would be done as


         route add -net 172.17.0.0 gw 172.16.0.254



 To add this route everytime you boot Linux add the command to your
 /etc/rc.d/rc.local file.



 4.2.  Setup the Netware server

 In order to setup the Netware server you should have Supervisor
 permissions or atleast Console operator permissions. If these cannot
 be got, try asking your Network Administrator to help you with the
 setup.  At the Server enable the Ethernet_II frame type on the LAN by
 typing these commands or include them in the AUTOEXEC.ncf file.


         load NE2000 frame=Ethernet_II name=IPNET
         load TCPIP
         bind IP to IPNET addr=172.16.0.2 mask=FF.FF.FF.0



 You might have to specify the slot or board number while loading the
 NE2000 driver depending on your machine configuration. (eg: load
 NE2000 slot=3 frame=.....)


 4.3.  Setup the Netware Client

 On the PC you have the choice of Win3.1,WFWG or Win95. The
 installation procedure differs between Win95 and the older windows if
 you are using the 32bit client from Microsoft or Novell. If you are
 going to use the 16bit client, the procedure is the same and you can
 refer to the Windows 3.x installation instructions. For installing the
 32bit client for Win95 skip to ``Windows 95 installation''.


 4.3.1.  Windows 3.x

 If you are using Win3.1 or WFWG you can install the Netware Client
 (VLMs) and some additional files which are provided with the TCP/IP
 diskette, namely

 TCPIP.exe, VTCPIP.386, WINSOCK.dll and WLIBSOCK.dll

 Note that the WINSOCK.dll file is different from the ones provided
 with Win95 and Trumpet. Install the Netware Client with the support
 for windows. Copy VTCPIP.386, WINSOCK.dll and WLIBSOCK.dll to the
 SYSTEM directory and TCPIP.exe to the NWCLIENT directory. Now modify
 the STARTNET.bat in the NWCLIENT directory to


         lsl
         ne2000     ---> your network card driver
         c:\windows\odihlp.exe     ---->if you are using WFWG
         ipxodi
         tcpip        ---> add this line
         nwip         ---> if you use Netware/IP
         vlm



 Create a subdirectory (say) \NET\TCP and copy the files HOSTS,
 NETWORKS, PROTOCOLS and SERVICES from /etc on your Linux server or the
 directory SYS:ETC on your Netware server. Edit the copied HOSTS file
 to add the line for your new Linux server. This will enable you to
 refer to the Linux server as http://linux.mydomain/ instead of
 http://172.16.0.1/in your WWW browser


         127.0.0.1      localhost
         172.16.0.1      linux.mydomain



 Edit the NET.cfg file in NWCLIENT directory



    Link Driver NE2000
        port 300
        int 3
        MEM D0000
        FRAME Ethernet_802.2

 ; ---- add these lines ----

       FRAME Ethernet_II

    Protocol TCPIP
       PATH TCP_CFG C:\NET\TCP
       ip_address  172.17.0.5
       ip_netmask  255.255.255.0
       ip_router   172.17.0.254     ---> add the address of your gateway only
                                   ---> if you have to use this
                                   ---> gateway to reach your HTTP server

    Link Support
       MemPool 6192       ---> the minimum is 1024. Try with different values
       Buffers 10 1580    ---> this again can be fine tuned

 ;---------------------------------
 ; You may need to add lines like these if you are using Netware/IP
 ;
    NWIP
       NWIP_DOMAIN_NAME  mydomain
       NSQ_BROADCAST   ON
       NWIP1_1 COMPATIBILITY   OFF
       AUTORETRIES     1
       AUTORETRY SECS  10



 Edit the SYSTEM.ini file in the WINDOWS directory and add this entry
 for VTCPIP.386


         [386Enh]
         .....
         network=*vnetbios, vipx.386, vnetware.386, VTCPIP.386
         .....



 Reboot your PC, run STARTNET.bat and you can now use your favorite WWW
 browser to access your Web pages. You need not login to Netware and
 you don't have to run TCPMAN (if you use Trumpet Winsock).


 4.3.2.  Windows 95

 This section explains how to install the 32bit client on Win95.
 Firstly you must install the following


         Client for Netware Networks (from Microsoft or Novell)
         Microsoft TCP/IP Protocol
         Network Adapter



 To install these items, click on My Computer, Control Panel, Networks.
 Click Add. You will now be in a window that displays Client, Adapter,
 Protocol and Service.  To install the Client for Netware Networks:


        1. DoubleClick on Client
        2. Click on Microsoft or Novell
        3. DoubleClick on Client for Netware Networks



 To install the TCP/IP Protocol:


        1. DoubleClick on Protocol
        2. Click on Microsoft
        3. DoubleClick on TCP/IP



 Windows 95 by default installs several other protocols automatically.
 Remove them by clicking on them and clicking the Remove button.
 Typically Win95 installs the Microsoft NetBeui protocol, and IPX/SPX
 compatible protocol. You can delete the NetBEUI protocol, but you will
 need the IPX/SPX protocol if you wish to login to the Netware Server.

 To setup TCP/IP click on TCP/IP, click on Properties, click on the tab
 IP address


        Enter your IP address in the "Specify an IP address "
                              box as 172.17.0.5
        In the Subnet Mask box enter 255.255.255.0



 select the tab Gateway


        Enter your gateway (router) address in the box New gateway
           as 172.17.0.254
        Click the Add button



 The gateway address should now appear under the installed gateways
 box. Now Click OK.

 You should get a message to reboot. Do so. You should now be able to
 use the Browser to connect to your HTTP Server.


 4.4.  Setup Microsoft Client

 If you are using the Microsoft Client for accessing your network, then
 this section details how to install TCP/IP for

 o  ``Windows for Workgroups (WFWG)''

 o  ``Windows 95''


 o  ``Windows NT 4.0''

    Note: To enable you to refer to the Linux server as
    http://linux.mydomain/ instead of http://172.16.0.1/ in the WWW
    browser and all your intranet commands you need to edit the hosts
    file. You can add more entries for each of your other hosts
    (Netware, Unix, WinNT) as well. The Windows family keeps its HOSTS
    file in \WINDOWS or in \WINDOWS\SYSTEM depending on the version.
    Edit this file and add a line for your Linux server as:


         127.0.0.1      localhost
         172.16.0.1     linux.mydomain

         172.16.0.2     netware.mydomain
         172.16.0.3     winNT.mydomain
         172.16.0.5     ws_1



 4.4.1.  Windows for Workgroups

 This section explains how to install the 32bit client on WFWG. Firstly
 you must download the TCP/IP drivers for Windows from Microsoft. The
 current version is 3.11b and is available at ftp://ftp.microsoft.com
 or other sites as tcp32b.exe. Make sure that you have load Win32s
 before trying to load the TCP/IP-32bit driver.

 Having expanded the TCP/IP files into a temporary directory (say
 C:\TEMP), check your \WINDOWS\SYSTEM directory for copies of
 OEMSETUP.INF. If there are any, rename them. Now copy the OEMSETUP.INF
 file from the TEMP directory to the \WINDOWS\SYSTEM directory. If you
 have loaded any other TCP/IP stacks on your system, please remove them
 before you proceed.

 Start Network Setup or Windows Setup/Change Network settings


          Click the Networks button
          Click Install Microsoft Windows Network.
            Choose support for additional networks (if required)
          Click OK



 You should be prompted for your network adapter - select the appropri-
 ate one. If you are not prompted, then


           Click the Adapter button
               select an adapter (say NE2000)
               Click OK
           Click the Protocol button
               select the MS TCP/IP-32 protocol
               click OK



 You will now be prompted to configure the TCP/IP protocol stack. You
 can always reconfigure this by highlighting the TCP/IP protocol shown
 in the box Adapters and clicking the Setup button.

    In the IP address box enter 172.17.0.5
    In the Subnet Mask box enter 255.255.255.0
    Enter your gateway (router) address in the box default gateway
      as 172.17.0.254



 Click OK. The computer will ask you to restart. Do so. You should now
 be able to use the Browser to connect to your HTTP Server.


 4.4.2.  Windows 95

 This section explains how to install the 32bit client for Microsoft on
 Win95. Firstly you must install the following


         Client for Microsoft Networks
         Microsoft TCP/IP Protocol
         Network Adapter



 To install these items, click on My Computer, Control Panel, Networks.
 Click Add. You will now be in a window that displays Client, Adapter,
 Protocol and Service.  To install the Client for Microsoft Networks:


        1. DoubleClick on Client
        2. Click on Microsoft
        3. DoubleClick on Client for Microsoft Networks



 To install the TCP/IP Protocol:


        1. DoubleClick on Protocol
        2. Click on Microsoft
        3. DoubleClick on TCP/IP



 Windows 95 by default installs several protocols automatically. Remove
 them by clicking on them and clicking the Remove button. Typically
 Win95 installs the Microsoft NetBeui protocol.

 To setup TCP/IP click on TCP/IP, click on Properties, click on the tab
 IP address


        Enter your IP address in the "Specify an IP address "
                              box as 172.17.0.5
        In the Subnet Mask box enter 255.255.255.0



 select the tab Gateway



   Enter your gateway (router) address in the box New gateway
      as 172.17.0.254
   Click the Add button



 The gateway address should now appear under the installed gateways
 box. Now Click OK.

 You should get a message to reboot. Do so. You should now be able to
 use the Browser to connect to your HTTP Server.


 4.4.3.  Windows NT

 This section details how to Install the TCP/IP client for WinNT 4.0.
 Start Control Panel/ Network


          Select the Adapter tab.
              Click Add to add a new adapter (if you don't have one)



 You should be prompted for your network adapter - select the appropri-
 ate one. To add the protocols.


          Select the Protocols tab
              Click Add
              Select the TCP/IP protocol
              Click OK



 You will now be prompted to configure the TCP/IP protocol stack. You
 can always reconfigure this by highlighting the TCP/IP protocol and
 clicking the Properties button.


         Select the tab IP Address
            Mark the checkbox 'Specify an IP address'
            In the IP address box enter 172.17.0.5
            In the Subnet Mask box enter 255.255.255.0
            Enter your gateway (router) address in the box Default Gateway
                as 172.17.0.254



 Click OK. The computer will ask you to restart. You can now use any
 Browser to connect to your HTTP Server.


 4.5.  Setup TCP/IP on Macintosh

 If you are using the Macintosh for accessing your network, then this
 section details how to install MacTCP for the PowerMacs.

 Note: To enable you to refer to the Linux server as
 http://linux.mydomain/ instead of http://172.16.0.1/ in the WWW
 browser and all your intranet commands you need to edit the hosts
 file. The format of the hosts file is different from the one used in
 Unix. The Mac hosts file is based on RFC-1035. You can add more
 entries for each of your other hosts (Netware, Unix, WinNT) as well.
 The MacOS  keeps its HOSTS file in the Preferences folder under the
 System folder. Edit this file and add a line for your Linux server as:


        linux.mydomain    A  172.16.0.1

        netware.mydomain  A  172.16.0.2
        winNT.mydomain    A  172.16.0.3
        ws_1              A  172.16.0.5



 4.5.1.  MacTCP

 This section explains how to install MacTCP. Firstly you must download
 the MacTCP files from Apple or install it from the Internet Connection
 CD.  To configure MacTCP, click the Apple Menu/ Control Panels/
 TCP/IP. In the screen change the setting for 'Connect via:' to
 'Ethernet'

 Change the 'Configure' setting to 'Manually'


        In the IP address box enter 172.17.0.5
        In the Subnet Mask box enter 255.255.255.0
        Enter your gateway (router) address in the box
          Router address as 172.17.0.254



 Click OK. You should now be able to use the Browser to connect to your
 HTTP Server.



 5.  Setting up the Intranet

 An Intranet cannot be complete without sharing the resources on the
 different platforms. You will need support for other filesystems, so
 that you can access the data available on them. This document provides
 instructions to connect Linux to the following popular filesystems.

 o  ``NCP filesystem for Netware''

 o  ``SMB filesystem for Windows''

 o  ``NFS filesystem for Unix''

 These filesystems can be compiled into the Linux kernel or added as
 modules, depending on the version of Linux. If you are not familiar
 with compiling the kernel you can refer to the Kernel HOWTO
 http://sunsite.unc.edu/mdw/HOWTO/Kernel-HOWTO.html and the Module
 HOWTO http://sunsite.unc.edu/mdw/HOWTO/Module-HOWTO.html for compiling
 the kernel with modules.



 5.1.  NCPFS

 To share the files on the Netware server you will need support for NCP
 (ncpfs). NCPFS works with kernel version 1.2.x and 1.3.71 upwards. It
 does not work with any earlier 1.3.x kernel. It cannot access the NDS
 database in Netware 4.x, but can make use of the bindery. If you are
 using Netware 4.x you can enable bindery support for specific
 containers using the command Set Bindery Context at the console as:



        set Bindery Context = CORP.MYDOM;WEBUSER.MYDOM



 In the above example two containers have bindery support enabled.

 You will need to download the NCP filesystem utilities using the URL
 ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/ncpfs.tgz
 (currently ncpfs-2.0.10) from Sunsite.


 5.1.1.  Installation

 To install the ncpfs utilities, type


         zcat ncpfs.tgz | tar xvf -



 to expand the files into its own directory. In this case you will get
 a directory ncpfs-2.0.10 Change your directory to this ncpfs directory
 before proceeding with the installation. Read the README and edit the
 Makefile if necessary.

 The installation of ncpfs depends on the kernel version you are using.
 For kernel 1.2, you should simply type 'make'. Subsequently typing
 'make install' will install the executables and man pages.

 If you use Kernel 1.3.71 or later, you might have to recompile your
 kernel. With these kernels, the kernel part of ncpfs is already
 included in the main source tree. To check if the kernel needs to be
 recompiled type


         cat /proc/filesystems



 It should show you a line saying that the kernel knows ncpfs.

 If ncpfs is not there, you can either recompile the kernel or add
 ncpfs as a module. For recompiling the kernel you should type 'make
 config' and when it asks you for

 The IPX protocol (CONFIG_IPX) [N/y/?]

 simply answer 'y'. Probably you do not need the full internal net that
 you are asked for next. Once the kernel is successfully installed,
 reboot, check /proc/filesystems and if everything is OK proceed with
 the installation of the ncpfs utilities. Change directory to the
 location holding your downloaded ncpfs files, and type 'make'. After
 the compilation is finished type 'make install' to install the various
 utilities and man pages.


 5.1.2.  Mounting NCPFS

 To check the installation type


         ipx_configure --auto_interface=on --auto_primary=on

      ....wait for 10 seconds and type

         slist



 You should be able to see a list of your Netware servers. Now we are
 ready to share files from the Netware server.

 Suppose we need to access HTML files from directory \home\htmldocs on
 volume VOL1: on the server MYDOM_NW, I recommend that you create a new
 user (say) 'EXPORT' with password 'EXP123' on this server to whom you
 grant appropriate access rights to this directory using SYSCON or
 NWADMIN.

 On the Linux machine create a new directory /mnt/MYDOM_NW. Now type
 the command


         ncpmount -S MYDOM_NW -U EXPORT -P EXP123 /mnt/MYDOM_NW



 to mount the netware file system. Typing the command


         ls /mnt/MYDOM_NW/vol1/home/htmldocs



 will show you a list of all the files in MYDOM_NW/VOL1:\HOME\HTMLDOCS
 (using Netware file notation). If you have any problems please read
 the IPX HOWTO at http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html for
 more insights into the IPX system.



 5.2.  SMBFS

 To share the files on the Windows server you will need support for SMB
 (smbfs).

 You will need to download the SMB filesystem utilities from
 ftp://sunsite.unc.edu/pub/Linux/system/filesystems/smbfs/smbfs.tgz
 (currently smbfs-2.0.1) from Sunsite.


 5.2.1.  Installation

 To install the smbfs utilities, type


         zcat smbfs.tgz | tar xvf -



 to expand the files into its own directory. In this case you will get
 a directory smbfs-2.0.1 Change your directory to this smbfs directory
 before proceeding with the installation. Read the README and edit the
 Makefile if necessary.

 The installation of smbfs depends on the kernel version you are using.
 For kernel 1.2, you should simply type 'make'. Subsequently typing
 'make install' will install the executables and man pages.

 If you use Kernel 2.0 or later, you might have to recompile your
 kernel. With these kernels, the kernel part of smbfs is already
 included in the main source tree. To check if the kernel needs to be
 recompiled type


         cat /proc/filesystems



 It should show you a line saying that the kernel knows smbfs.

 If smbfs is not there, you can either recompile the kernel or add
 smbfs as a module. For recompiling the kernel you should type 'make
 config' and when it asks you for adding SMB filesystem support simply
 answer yes. Once the kernel is successfully installed, reboot, check
 /proc/filesystems and if everything is OK proceed with the
 installation of the smbfs utilities. Change directory to the location
 holding your downloaded smbfs files, and type 'make'. After the
 compilation is finished type 'make install' to install the various
 utilities and man pages.


 5.2.2.  Mounting SMBFS

 In our example let us assume that the WinNT server is called
 'MYDOM_NT' and is sharing its directory C:\PUB\HTMLDOCS with a share
 name of 'HTMLDOCS' without a password. On the Linux machine create a
 new directory /mnt/MYDOM_NT. Now type the command


         smbmount //MYDOM_NT/HTMLDOCS /mnt/MYDOM_NT -n



 to mount the SMB (windows share) file system. If this does not work
 try


         smbmount //MYDOM_NT/COMMON /mnt/MYDOM_NT -n -I 172.16.0.3



 Typing the command


         ls /mnt/MYDOM_NT



 will show you a list of all the files in bsol;bsol;MYDOM_NT\PUB\HTML-
 DOCS (using Windows file notation).

 5.3.  NFS

 First you will need a kernel with the NFS file system either compiled
 in or available as a module.

 Suppose you have a Unix host running NFS with the name MYDOM_UNIX and
 an IP address of 172.16.0.4. You can check the directories that are
 being exported (shared) by this host by typing the command



         showmount -e 172.16.0.4



 Once we know the exported directories you can mount them by entering a
 appropriate mount command. I recommend that you create a subdirectory
 under '/mnt' (say) 'MYDOM_UNIX' and use that as your mount point.



         mount -o rsize=1024,wsize=1024 172.16.0.4:/pub/htmldocs /mnt/MYDOM_UNIX



 The rsize and wsize may have to be changed depending on your environ-
 ment.

 If you have any problems please read the NFS HOWTO at
 http://sunsite.unc.edu/mdw/HOWTO/NFS-HOWTO.html for more insights into
 the NFS system.



 6.  Accessing the Web

 Now that we have setup the HTTP server, the clients and interconnected
 the Linux server with the other servers, we need to make some small
 adjustments on the Linux server to be able to access these mounted
 filesystems from the Web Browser.


 6.1.  Accessing the mounted filesystems

 To access the mounted directories in your HTML pages you have two
 methods:

 o  Create a link in DocumentRoot (/usr/local/etc/httpd/htdocs) to
    refer to the mounted directory as


         ln -s /mnt/MYDOM_NW/vol1/home/htmldocs netware
                           or

         ln -s /mnt/MYDOM_NT    winNT
                           or

         ln -s /mnt/MYDOM_UNIX    unix



 o  to edit the file srm.conf in your /usr/local/etc/httpd/conf
    directory and add a new alias.
        # Alias fakename realname
        Alias /icons/     /usr/local/etc/httpd/icons/

        # alias for netware server
        Alias /netware/   /mnt/MYDOM_NW/vol1/home/htmldocs/
        Alias /winNT/     /mnt/MYDOM_NT/
        Alias /unix/      /mnt/MYDOM_UNIX



 And restart your HTTPd. You can access the documents on the netware
 server by referring to them as http://linux.mydomain/netware/index.htm
 for the netware files and similar notations for the others.


 6.2.  Connecting to the Internet

 You can finally connect your Intranet to the Internet to access E-Mail
 and all the wonderful information out there. I propose to write a
 brief note on how to do this in a future revision. Detailed
 explanations are available in the ISP Hookup HOWTO from
 http://sunsite.unc.edu/mdw/HOWTO/ISP-Hookup-HOWTO.html and Diald mini
 HOWTO at http://sunsite.unc.edu/mdw/HOWTO/mini/Diald for setting up
 these connections.


 6.3.  Other uses

 The HTTP server can be used in the office to provide transparent
 access to information residing on different servers, at several
 locations and directories. The data can be simple documents in Word,
 Lotus spreadsheets, or complex databases.

 The application of this technology is being typically used as
 follows:-


 o  Publishing corporate documents

    These documents can include newsletters, annual reports, maps,
    company facilities, price lists, product information literature,
    and any document which is of value within the corporate entity.

 o  Access into searchable directories

    Rapid access to corporate phone books and the like. This data can
    be mirrored at a Web site or, via CGI scripts, the Web server can
    serve  as a gateway to back-end pre-existing or new applications.
    This means that, using the same standard access mechanisms,
    information can be made more widely available and in a simpler
    manner.  This means that it can be used to create an interface with
    RDBMS  like ORACLE and SYBASE for generating real-time information.
    Here is a list of links to such sites on the Web.

    - Web Access -
    http://cscsun1.larc.nasa.gov/~beowulf/db/web_access.html - CGI
    gateways - HTTP://www.w3.org/hypertext/WWW/RDBGate/Overview.html


 o  Corporate/Department/Individual pages

    As cultures change within organistions to the point where even each
    department moves towards their own individual mission statements,
    the Intranet technology provides the ideal medium to communicate
    current information to the Department or Individual. Powerful
    search engines provide the means for people to find the group or
    individual who has the answers to the continuous questions which
    arise in the normal day-to-day course of doing business.

 o  Simple Groupware applications

    With HTML forms support, sites can provide sign-up sheets, surveys
    and simple scheduling.

 o  Software distribution

    Administrators can use the Intranet to deliver software and up-
    dates on-demand to users across the corporate network . This can be
    done with 'Java' which allows the creation and transparent
    distribution of objects on-demand rather than just data or
    applications. This is indeed possible more easily with the newer
    versions of Linux which has builtin support for Java.

 o  Mail

    With the move to the use of Intranet mail products with standard
    and simple methods for attachment of documents, sound, vision and
    other multimedia between individuals, mail is being pushed further
    forward as a simple, de facto communications method. Mail is
    essentially individual to individual, or individual to small group,
    communication. Several utilities are available on the Linux
    platform to setup an E-mail system like sendmail, pop3d, imapd.


 o  User Interface

    The Intranet technology is evolving so rapidly that the tools
    available, in particular HTML, can be used to dramatically change
    the way we interface with systems. With HTML you can build an
    Interface which is only limited by the creators imagination. The
    beauty about using Intranet technologies for this is that it is so
    simple. Clicking a hyperlink from HTML can take you to another
    page, it could ring an alarm, run a yearend procedure or anything
    else that a computer program can do.


 7.  More things to do

 Here is a list of other interesting things to do with your Linux
 Intranet server. All the software mentioned below is freeware or
 shareware.

 o  Browse the Linux server using Network Neighbourhood in Win95/ NT;
    Setup a WINS like NBT server. Check out the SAMBA Web page at
    http://lake.canberra.edu.au/pub/samba/samba.html

 o  Implement a search engine on your Intranet. Connect to ht://Dig at
    http://htdig.sdsu.edu/

 o  Use CUSeeMe by setting up a local reflector. Refer to their page at
    Cornell http://cu-seeme.cornell.edu/

 o  Setup Web Conferencing. Use COW from http://thecity.sfsu.edu/COW/

 o  Deploy a SQL database. Refer to the mSQL Home page at
    http://Hughes.com.au/

 o  Setup FTP,Gopher,Finger,Bootp servers on the Netware server. Get
    them at http://mft.ucs.ed.ac.uk/


 o  Emulate a Netware server. Check out the NCP Utilities at
    ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ncpfs/

    If you find other interesting things to do with your Linux Intranet
    server, please feel free to mail me.


 8.  Credits and Legalities



 8.1.  Thanks

 Thanks to the people at NCSA for providing such excellent
 documentation, David Anderson and all others for trying out this HOWTO
 and sending in their comments. The details on Netware/IP are courtesy
 Romel Flores ([email protected]).



 8.2.  Copyright information

 This document is copyrighted (C) 1996,1997 Pramod Karnad and
 distributed under the following terms:


 o  Linux HOWTO documents may be reproduced and distributed in whole or
    in part, in any medium physical or electronic, as long as this
    copyright notice is retained on all copies. Commercial
    redistribution is allowed and encouraged; however, the author would
    like to be notified of any such distributions.

 o  All translations, derivative works, or aggregate works
    incorporating any Linux HOWTO documents must be covered under this
    copyright notice.  That is, you may not produce a derivative work
    from a HOWTO and impose additional restrictions on its
    distribution. Exceptions to these rules may be granted under
    certain conditions; please contact the Linux HOWTO coordinator at
    the address given below.

 o  If you have questions, please contact Tim Bynum, the Linux HOWTO
    coordinator, at [email protected]  Finger for phone
    number and snail mail address.