Beehive Software, Inc. - P.O. Box 29527 - Bellingham, WA 98228 - Tel: 360-738-6863
Beehive File Transfer Appliance Manual
includes instructions for using Webmin to install and configure Linux Applications

Table of Contents

1. Introduction

2. Step-By-Step Appliance Installation Procedures

3. Logging in to webmin and configuring the Appliance Name

4.  Using Webmin to Create New Users on Linux

5.  Using Webmin to Setup AppleTalk (Netatalk) on Linux

6.  Using Webmin to Setup of Samba on Linux

7.   Wuftpd and Proftpd

8.  Using sfadmin to Setup and Manage Beehive and Sendfile accounts

9.  Logging in to sfadmin and configuring the Beehive Linux FTP Manager

Appendix A: Using Webmin to Configure an ftp proxy server on Linux


1. Beehive Appliance Introduction

The Beehive appliance contains the complete Beehive/Sendfile portal system software and ftp clients as well as the custom and generic Linux applications required to support all of the Beehive operations. This includes a custom Beehive Apache web server, a custom Postgres database and the Sendfile html framework and Java applet. Other support applications such as pop3/SMTP email (for Beehive receipts and notifications), Appletalk (for Mac file sharing), Samba (for Windows file sharing) and an ftp server (choice between wuftpd and Proftp) are included in the standard Beehive distribution (Beehive is distributed in a Linux RPM).
Typically customers run a web site from the Beehive appliance which includes a "How to send us Files" page. From this page users may select one of the ftp clients : Mac, Windows or Browser to download. Once a client has installed one of the clients, they may send forms and files to the ftp server which is running on the appliance. Once jobs are received on the ftp server, the Beehive ftp manager monitors the ftp server for new jobs and moves and decompresses the jobs to the preconfigured destination folder.
  • Beehive ftp forms and ftp manager for Macintosh
  • Beehive ftp forms and ftp manager for Windows
  • SendFile.NET browser/Java ftp client

    The Beehive appliance is installed one of two ways:

    1. Beehive ships a complete appliance box with Redhat Linux installed, the Beehive sf-apache RPM installed and the IP address preconfigured, or
    2. The customer site installs Redhat Linux version 7.1 or later, assigns an IP address and then a Beehive systems engineers logs into the unit as the "root" user and installs the Beehive sf-apache RPM remotely.

    Once the system is installed, it can be completely managed and configured by two web-based administration programs :

    1. sfadmin - the Beehive administration application that configures the ftp manager, and manages users, forms, site keys and splash screens, i.e. everything that directly relates to the Sendfile and Beehive applications.
    2. webmin - this is the generic Linux configuration manager that is used to configure all of the general Linux distribution applications and operations: including but not limited to : setting up new users/rights, ftp, appletalk, samba, and proxy servers.

    return to top


    2 Step-By-Step Appliance Installation Procedures:

    Very few customers actually install their own appliance software since installation is included in the price of the appliance, but here are the details of what a Beehive Engineer performs when he installs and configures an appliance remotely.

    Prerequisites:
    Red Hat Linux 7.1 or later installed.
    Beehive RPMs

    -----Assigning an IP address in Red Hat----------

    In Red Hat Linux the network is usually set up when the OS is installed. After that, you may use the 'netcfg' command to set up the IP address and router information.

    -----Beehive/SendFile Installation Procedure----------
    #### Part 1 -- Support RPMs ####

    netatalk, samba, ImageMagick, htmldoc, webmin and postgres should be installed before the SendFile software is installed. Note that these may already be installed on your system. If something is already installed, do not install it again. To install the RPMs, run:
    only on Red Hat 7.2 or later --> rpm -ivh openssl096-0.9.6-13.i386.rpm
    rpm -ivh webmin-1.020-1.noarch.rpm
    rpm -ivh htmldoc-1.8.14-1.i386.rpm
    rpm -ivh ImageMagick-5.4.3.11-1.i386.rpm
    rpm -ivh netatalk-1.5.2-3.i386.rpm
    rpm -ivh samba-2.2.3a-6.i386.rpm samba-common-2.2.3a-6.i386.rpm
    rpm -ivh postgresql-7.2.1-5.i386.rpm postgresql-libs-7.2.1-5.i386.rpm postgresql-server-7.2.1-5.i386.rpm

    -- Configure the PostgreSQL database --
    // create a symlink to the PostgreSQL shared library (only on Red Hat 7.2
    // or later)
    cd /usr/lib
    ln -s libpq.so.2.2 libpq.so

    // make sure the PostgreSQL server is running and the database is
    // initialized
    /sbin/service postgresql start

    // edit the postgresql access file
    vi or emacs /var/lib/pgsql/data/pg_hba.conf
    The very last line in this file needs to say "local all trust". Change it
    if necessary

    // save the file, and restart the postgresql server to apply the changes
    /sbin/service postgresql restart

    # Part 2 Install necessary. Beehive SendFile RPMs:

    rpm -ivh mod_sendfile-1.3-0.i386.rpm
    rpm -ivh mod_fileserv-1.3-0.i386.rpm

    (note that the mod_sendfile rpm dumps out some error messages while it installs, including possibly some SQL errors. It is safe to ignore these.)

    # Part 3 Configure the apache web server

    // Open the httpd.conf file in vi or emacs
    vi /etc/httpd/conf/httpd.conf

    // make the following additions and edits to httpd.conf:
    LoadModule sendfile_module modules/mod_sendfile.so
    LoadModule fileserv_module modules/mod_fileserv.so

    AddModule mod_sendfile.c
    AddModule mod_fileserv.c

    User nobody #instead of Apache
    Group nobody #instead of Apache
    DocumentRoot "/home/httpd/html" #instead of /var/www/html

    <Directory "/home/httpd/html"> # instead of <Directory "/var/www/html">
    AllowOverride All #instead of None

    // save the file, and restart apache
    /sbin/service httpd restart

    -----Beehive/Sendfile/File manager Config Procedure----------
    If the installations were successful, you are now ready to set up a SendFile account on your server.

    Browse to http://<your server name>/sfadmin

    It will prompt you for a password. Enter User ID "sfadmin", password "sfadmin".

    Click on "Create New Account" to create a new sendfile account on the box.  Choose a name for the account, enter the account sponsor's e-mail address (presumably yours), and choose a password. Provide the account sponsor's full name in the "Sponsor Name" box. In the "Client Serial #" box, enter "542839771954". Make sure that "Auto Register", and "GetFile support" are both checked, then click on "Create Account"

    This will get you to a page that summarizes the details of the account that you just created. 

    Click on the Account ID string to get into the account. It will prompt you for a password again. This time, log in as the account sponsor's e-mail address with the password that you chose.

    Click on the "Sponsor" button in the top menu. This will bring up the account administration page. You can click on "Manage Sites" to set up the servers that you want to send jobs to. Click on "Add New Site..." to create a new server key. In the "Add New Site" form, pick a name for the site, and specify the server name of your Linux server. Set the Path to "jobsin", the user id to "beehive" and the password also to "beehive". Make sure that "Use PASV" and "Use Compression" are checked, then click the "Save" button.

    Now you should be ready to send files by clicking on the "Send Files"
    button.

    return to top


    3. Logging in to webmin and configuring the Appliance Name:

    When setting up the Beehive Appliance you FIRST need to tell some of the support applications about the domain name/hostname that you are going to use for your system.

    To use Webmin to configure hostnames, first access Webmin via the following URL:

    http://youripaddress:10000

    and then login to Webmin with your root password.

    Step 1 - Setting up the appliance DNS for your hostname

    When the Webmin main window opens, select the Hardware tab and then click on the Network configuration icon. The Network Configuration window will open. Select the DNS Client icon. This will open the DNS Client window:

    Type in the "hostname" field the domain name of the box. Type in the DNS server IPs (typically from your ISP). Save the configuration.

    Step 2 - Configuring the Apache Web Server for your Hostname

    From the main Webmin window, select the Servers tab and then the Apache Web Server icon, click on the "Default Server" icon in the Virtual Servers area. In the next window select the "Networking and Addresses" icon. This will open the Networking and addresses window for the Sendfile webserver.

    Make sure that "Server Hostname" is switched to automatic so it will look at the correct name for the IP address. Save the configuration.

    Step 3 - Configuring the Appliance PostgreSQL database for your Hostname

    This setup must done before the Beehive sfadmin configuration application can run. This configuration tells the Beehive/Sendfile PostgreSQL Database what the name of the service will be, i.e. your hostname.

    From the main Webmin window, select the Servers tab and then click on the "PostgreSQL" icon. Click on "Nobody" and then on "sfconfig." Once you are in "sfconfig", click on "View Data." If there is a row there, place a check in the front of the row and then click "edit selected row." Then add the hostname in the last space on the row.

    If there isn't a row there, click "Add Row" and then follow the steps above.

    Once you have done all of that. Stop the PostgreSQL server and start it again. Also Restart the Apache Web server. Once all of that is done, go to the "Systems" tab and click on the "Bootup and Shutdown" icon. Scroll down until you come to "Network." Click on "Network" and then click the restart button. It may take a few moments, so be patient.

    return to top


    4. Using Webmin to Create New Users on Linux:

    The most fundamental setup in Linux is the setup of users. For instance, in Linux, when a user is created, they can be assigned file space, an email account, their userid and password, their permissions and a whole raft of other parameters. Administrators typically need to setup new accounts for each user on their system that they want to have access to email. The Beehive/Sendfile system comes with one special user already setup - "beehive". This is the default user account that the Beehive/Sendfile system preconfigures for you to use for the encrypted key in the Beehive ftp form/Sendfile system. NOTE: remember that all users for each master account typically use just one ftp account. The account parameters are encrypted in the key and the Beehive/Sendfile system functions as the key server.

    To use Webmin to setup user accounts, first access Webmin via:

    http://youripaddress:10000

    and then login to Webmin with your root password.

    After you have logged in, the Webmin main window will open. First Click on the "System" tab and then select the "Users and Groups" icon.

    This will open the "Users and Groups" window. Under the local users listing, select the "Create a new user" link. This will open the Create User window:

    The Webmin Help.. link in the upper left hand corner of this page covers most of the parameters on this page in complete detail.

    return to top


    5. Using Webmin to Setup AppleTalk on Linux:

    AppleTalk support allows your Linux machine to interwork with Apple networks. An important use of this is to share resources (such as printers and disks) between your Linux and Apple computers. The standard Beehive installation installs AppleTalk. The source package for the AppleTalk is located in /usr/src/redhat/RPMS/i386/ with the name netatalk-version_number.i386.rpm. If for some reason, Netatalk is not installed you may GNORPM to install Netatalk. The default sf-netatalk setting is a little bit different from the ordinary setting. The daemon files are in /usr/sbin/ and the configure files are in /etc/atalk/. But it's always easier and more convenient to configure the AppleTalk through "WebMin".

    Open"WebMin" using the following URL in your browser (inserting your ipaddress) :

    http://youripaddress:10000

    NOTE: your ipaddress may be substituted with your Domain Name if it is DNS resolved.

    Now select the"Server" tag. (Figure 1.)

    Text Box:

    In the AppleTalk page (Figure 2.), all the functions are self-explainatory. You can setup a new server, edit the network interface (by default, it's the Ethernet card on your machine), edit the users and other miscellaneous options. But most important is to set the Apple share home directories. You can create and delete the shared directories as a root. 

    Text Box:

    You can also change the setting in the configuration files. For more information, see http://www.linuxdoc.org/HOWTO/NetHOWTO/x2202.html

    return to top


    6. Using Webmin to Setup of Samba on Linux:

           Samba is the protocol by which a lot of PC-related machines share files and printers and other information such as lists of available files and printers. Operating systems that support this natively include Windows NT, OS/2, and Linux. Add on packages that achieve the same thing are available for DOS, Windows, VMS, Unix of all kinds, MVS, and more. Apple Macs and some Web Browsers can speak this protocol as well. 

    There are four basic things that one can do with Samba:

                   The Samba server is already installed  with the installation of the Linux server. All the configuration files are in /etc/samba/. Similarly to the configuration of ApplaTalk, you can use WebMin to do the job.                On the WebMin page, select the "Server" tag, and then choose the "Samba Windows File Sharing" to configure the Samba server (Figure 3.).

    Text Box:

    You can set the UNIX and Windows file sharing and printer sharing from the various sub windows.

    For more information about the Samba setting, see http://www.linuxdoc.org/HOWTO/SMB-HOWTO.html

    return to top


    7. Wuftpd and Proftpd:

    The Beehive appliance comes with your choice of Proftp and wuftpd. Proftp is an ftp server primarily written for the various unix variants, wuftpd is the most widely used ftp server on the Linux platform. Proftpd was designed to cover some of the security problems of wuftpd, but it is not all together clear that many of the security features of Proftp can be realized in most environments

    For more information on Proftp, see the official website: http://www.proftpd.net/

    Proftpd should be installed if the administrator sees slow logins to the FTP server.  Wu-ftpd performs a reverse DNS lookup on all connections that are coming in.  If a customer has a slow DNS server, this may be slow and it may take a long time before people can log in.  When that happens, uninstall wu-ftpd and install ProFTPd instead, because ProFTPd has an option to turn off the reverse DNS lookups, so the logins will be a lot faster.
    The source package is located on the /usr/src/redhat/RPMS/i386 with the name "sf-proftpd-conf-version-2.i386.rpm". Using GNORPM to install that and using the WebMin to change the configurations.


    8. Using sfadmin to Setup and Manage Beehive and Sendfile accounts:

    The sfadmin management utility is also used to setup and manage the Beehive/Sendfile file transfer accounts. There are two different levels of browser accounts that can be setup from sfadmin:

    Master accounts - a master account setup is for a group of users. All of the users within each master account use the same forms, site keys and splash screens. Each Master account has it's own unique 32 character account code created by the sfadmin application. A separate administrator is can be setup for each master account tusing a URL of the form :

    http://www.sendfile.net/**acctnohere**/sponsor

    User Accounts - every user of the system is assigned a user account within a Master account. These accounts may be pre-assigned or they may be autoregistered. Each browser user typically logs into the system from the Sendfile links in the "How to send us files page". There are usually two separate URLs in the "How to send us files page":

    • new accounts - this URL will immediately prompt the prospective user to enter their user information (name address etc.) and password before they get to the SendFile page. They will also have to grant some special rights to SendFile.NET by clicking OK when presented with some digital certificates. This URL is of the form : http://ipaddress/s.sfs?command=signup&acct=unique32characteracctcode;
    • existing accounts - this URL is for users who have already used SendFile.NET..they will be immediately prompted for their userID and password and will go directly to the SendFile.NET page where their user information will already be "autofilled" into the form. This URL is of the form: http://IPaddress/unique32characteracctcode.

    To setup a Master account, login to sfadmin as the administrator-set your browser to : http://ipaddress/sfadmin (the ipaddress may be substituted with a domain name, if one is resolved). When prompted for a password type sfadmin again. NOTE: Obviously, it makes sense to change the admin password when you get into sfadmin.

    You will be presented with the sfadmin window:

    From this main window you should select the "Create new Account" link and fill out the text fields in the Create new Accounts Window:

    After the account is created, you will be given a confirmation window that contains the account's 32 character account code. Be sure to copy this code becasue you must use it in all of the URLs that people will use to access the account.

    After an account is created, you may edit the account information with the "Edit Accounts" link:

    This window allows you to open any of your Sendfile master accounts and view the administrator information. You may also upgrade and delete accounts from this window. Click directly on the "Account Name" link to open the information window for the account:

    If you want to add or delete features from the account, click on the "upgrade" link next to the account:

    The following parameters may be upgraded:

    • The Client Serial # is the licensing number assigned by Beehive software. One serial number comes with the software. Additional serial numbers may be purchased separately from Beehive Software. Each appliance may setup one master account with the existing serial number - if you want to maintain completely separate master accounts (with different user lists, forms etc) then you must licence each additional master account from Beehive software for $195.
    • The FilePrep Name field allows the administrator to name the icon that Sendfile optionally puts on Macintosh user's desktops. The FilePrep application ensure that Macintosh files are Macbinary encoded when they are sent with the SendFile browser application so the file resources are not lost during the Internet file transfer.
    • The Auto Register feature allows new users to come onto the system and enter their own userIDs and passwords and gain access to the system. If autoregister is turned off, then the administrator must manually create user accounts and send the userid and password to the user.
    • The Getfile support feature allows users to receive files from other users. This sets the default, this feature may also be turned on/off for each individual user.
    • The Universal send feature allows the users to openly address file transfer jobs to any email address. This sets the default, this feature may also be turned on/off for each individual user.

    To change the master administrator's password, select the "Change Admin Password" link:

    To review the documentation for the configuration options within each master account, consult the administration portion of the Sendfile user documentation at:

    http://sendfile.net/Help/index.htm

    return to top


    9. Logging in to sfadmin and configuring the Beehive FTP Manager:

    The latest version of the LINUX FTP manager is now integrated with the Sendfile apache server. The newest sf-apache rpm will automatically install the FTP Manager. The rpm is distributed in the directory /usr/src/redhat/RPMS/i386/ when the Appliance is installed at a client site.

    The Beehive FTP Manager runs in the background on the Beehive Linux box.  The FTP Manager will check the source directory regularly to see whether there are new files in the directory. A newly uploaded job always includes a form. If the job is finished sending, the Beehive client program will name the form - "form.html" in the same directory with the job files. Until the job is completely done sending, the client program will temporarily set the form name to "form.inc" in the directory. When the FTP Manager sees the "form.html" file, it understands that this as a completed job and will process it, otherwise it will set a time flag in the current directory. When the FTP Manager finds that a job has not been completely transferred within 4 hours, it will send a notification of an incomplete job to the administrator.

    If the job is complete, the FTP Manager will first check whether the file is a compressed file. If it is, it will decompress it. Then the FTP Manager will check whether the file is a Mac Binary file (the format which Macintosh uses). If it is a Mac Binary file, the FTP Manager will decode the file and put it into a separate directory for the Mac. Otherwise it will put the files into the target directory specified by the user.

    The sf-apache rpm creates a user named "beehive" with password "beehive".  In this user's home directory, subdirectories named "jobsin" and "processed" are made.  These directories are configured to be the default source and destination directories for the FTP Manager. If the user wants, he can specify the path on the sfadmin page. Then the FTP Manager will do the job. By default, the "beehive" user's home directory is configured for both samba and appletalk-share.  To get to the appletalk-share, just type in the IP address in the chooser, and log in as "beehive" / "beehive".  Similarly, with samba, connect to \\ipaddress\homes as user "beehive" That way, the "processed" directory where the FTP manager stores its files can be shared over the network.  If other directories should be shared, this can be easily set up in webmin in the samba and netatalk modules. Before an appliance is brought online, the password of the "beehive" user should be changed to something less obvious.

    When the job finished, the FTP Manager will send a notification to the administrator and the user as well as print out the job form. Also the original files in the source directory will be removed to save space

    The FTP Manager gets all of its configuration instructions from the sfadmin page.

    To Login to the sfadmin webpage (sendfile administration) set your browser to : http://ipaddress/sfadmin (the ipaddress may be substituted with a domain name, if one is resolved).

    When prompted for a userID and password type sfadmin and sfadmin again. NOTE: Obviously, it makes sense to change the admin password when you get into sfadmin.

    When the Sendfile Administration Window open select the FTP Manager link. This will open the FTP Manager setup page:

    Setting up the FTP Manager involves the following steps. Usually the defaults are adaquate.

    1. In the first block of parameters on this page, the user will specify the source directory (Look for new jobs in) and target directory (Store processed jobs in). The source directory is the place where the Beehive and Sendfile client programs put all ftp files into, the target directory is where the processed jobs are placed for the production staff to begin working on them. Next tell the FTP manager to look for new jobs every, e.g. 10 minutes (default). This is the polling interval.
    2. In the second block, you configure all of the receipts and notifications. First specify whether or not you want to notify an administrator of new jobs via email (Notify the administrator of new jobs at). If so, enter the administrator's email address in the text box. Next check if you want file senders to receive an email receipt (Send e-mail receipts back to customer). And finally check if you want the system to automatically print received forms (Print forms).
    3. You may select to customize the message that customers receive by entering a text message in the Additional Comments for Customer Receipts text box.
    4. After the system is configured, click on the Run FTP Manager button to start the manager.

    return to top


    Appendix A. Using Webmin to Configure an ftp proxy server on the Linux

    Beehive has placed a ftp proxy server source package in the /usr/src/redhat/RPMS/i386. The name is ftpproxy-1.0.7.tar.gz. During the installation, please copy the zipped file to /usr/local/etc/ and then unzip it. Then type "make install" to install it. By default, the executable binary file will go to /usr/local/sbin/ with the name ftp.proxy.
    There are two ways to make the ftp proxy server running. I'll just describe the easier one:
    1. Open WebMin
    2. In the "Servers" tag, choose the "Extended Internet Services".
    3. It will open a new page showing all the Internet services now you have on the machine.
    4. Select "Create a new Internet Service" in the bottom of the page.

    It will popup a new page like below:

    Some important details of the setting:

    • Service name: ftp.proxy
    • Service enabled: Yes
    • Bind to address: All
    • Port number: The port you want to enable for the ftp proxy server
    • Socket type: Stream
    • Protocol: TCP
    • Service handled by: Server Program: /usr/local/sbin/ftp.proxy -e -b
    • Run as a user: nobody
    • For the "Service access control", you can select your control policy. You can allow access and deny access from certain IP addresses.
  • When all of these are finished, save it and return to the main menu and restart the network service to make the settings taking effect.
    return to top

    Copyright © 1993, 94, 95, 96, 97, 98, 99, 2000, 01, 02 by Beehive Software, Inc.
    All rights reserved. No part of this manual may be copied or reprinted without the prior written approval of Beehive Software, Inc.
    Beehive ftp forms, Beehive ftp manager, SendFile.NET, Beehive SendFile, Beehive SendFile Secure, Art AlaCarte and "On the Fly" streaming file compression are trademarks of Beehive Software, Inc.