REBOL/IOS Administrator's Guide
Document Version 1.4 - 20-Dec-2004 IOS Version 1.0
Contents:
1. Basic Architecture
2. System Compatibility
3. Distribution Files
4. Server Installation
4.1 Overview
4.2 Host Name
4.3 Server/Client Key Pairs
4.4 File Setup
4.5 Test Drive the Server
4.6 Automatic Startup
5. Client Installation
6. Default Admin Applications
6.1 User Admin
6.2 Reg Edit
6.3 Up-File
7. Troubleshooting
8. Notices
9. Other Documents
1. Basic Architecture
REBOL/IOS operates in conjunction with a standard web server
and communicates with its client systems through the HTTP web
protocol. Using a technique called HTTP tunnelling IOS can be
added to any existing TCP network without changes to the network
infrastructure, firewalls, etc.
The diagram below illustrates the basic flow of IOS:
Here's how it works:
- When a REBOL/Link client needs to communicate, it initiates a
connection to a predetermined web server that is used as a
gateway for connecting to the REBOL/Serve server.
- The client's HTTP request specifies a CGI program on the web
server that acts as a proxy to redirect data from the web server
to the REBOL server.
- The CGI proxy opens TCP connections to REBOL/Serve which is
running continuously as a separate process (on the same physical
server or elsewhere; it does not matter).
- All communications from Link to Serve and back again is
encrypted using session-based keys. (The strength of the
encryption key is regulated by the US government and can vary
dynamically depending on country.)
- REBOL/Serve processes, stores, and archives files locally on
the server in the file's normal, unencrypted format.
- REBOL/Link and Serve coordinate to synchronize files between
the server and the client. Files are automatically downloaded
to the client as needed.
Multiple REBOL/Link clients can connect in this fashion, taking
advantage of file transfer scalablity that is inherent in the
Web server.
In addition, a single web server is capable of hosting multiple
REBOL/IOS servers (additional cost). For example, the
marketing and development departments may operate and manage
their IOS servers separately. Each server is completely
independent of (and secure from) the others.
2. System Compatibility
The REBOL/IOS server is supported on more than 20 types of
operating systems, including Solaris, BSD, Linux, Windows NT,
and others. If you have no existing preference, Unix style
systems (e.g. Linux or BSD) are recommended over NT (for
better performance, reliability, and ease of administration).
The REBOL/IOS system can operate with any web server that
supports the HTTP protocol.
The REBOL CGI Proxy is provided in both binary executable and
source code formats. If the necessary binary does not exist for
your specific hardware or OS, you can easily compile it from its
source.
3. Distribution Files
All files are contained in a single archive that creates a
directory called "rebol-serve" when restored. The primary
server files are:
rebol-serve - The server executable
rebol-proxy - The CGI proxy executable
|
These files contain server configuration information:
locations.r - resource location variables
serve-config.r - configuration information
|
This file is a shell script that can be used to start the
server with the correct command line arguments:
start-serve - shell script to start server
|
In addition, these directories and files are created and
maintained by the server and should not be modified in any way:
applications/ - dir of fileset information
archive/ - dir of archived files
data/ - dir of fileset data
file-table.r - file database
post-data/ - dir of post function data
serve-dat.r - internal data
serve-license.r - encryption key
serve-log.txt - debug log
serve-state.r - state table
the-journal.r - file changes
users/ - dir of user information
users.txt - user database
|
| Warning | |
Do not modify the above files or any of the files in the
REBOL/serve subdirectories. These files are being synchronized
and improper modifications could result in serious errors,
including loss of data or improper synchronization.
|
The archive also contains a link/ directory with one or more
copies of the Link client in the link directory:
rl*-*-*-3-1.exe - Windows REBOL/Link binary
rl*-*-*-4-2 - Linux REBOL/Link binary
rl*-*-*-*-* - Other binaries, as included
|
Note that these files contain an embedded encryption key that
allows them to access your unique instance of REBOL/serve. Other
link binaries cannot access your system, even if a username and
password are known.
The archive also includes a scripts/ directory that contains
these additional scripts to help initialize REBOL/IOS:
rc.local - lines we add to start server on system boot
serve - used to start multiple servers (if they exist)
serveup - calls the start-serve script for IOS servers
start-serve - starts a single server instance
|
This documentation is also included:
express.html - This administrator's guide as HTML
express.txt - This administrator's guide as text
|
And, this source code is provided:
proxy/ - The web server CGI proxy
|
4. Server Installation
Assuming that you are already running a compatible web server,
REBOL/IOS typically can be installed in less than five
minutes.
4.1 Overview
During this procedure, you will:
- Unzip the distribution files on the server
- Put the files in their appropriate directories
- Run the IOS server to verify operation
- Run an IOS client to verify operation
4.2 Host Name
Your server was pre-configured with a host name according to the
information you provided during purchase. It was suggested that
you create a unique alias for the server, such as:
The information you provided is embedded in the binary of your
copy of the REBOL server.
4.3 Server/Client Key Pairs
It is important to know that both the server software and the
client software contain unique encryption keys that are used for
authentication and certification. These keys are unique to your
copies.
You cannot use another copy of REBOL/Link with this server, just
as you cannot use this copy of REBOL/Link with another server.
This approach provides a greater level of security, because even
if someone obtains a username and password for your system, they
cannot access your information unless they have obtained a copy
of your REBOL/Link client.
4.4 File Setup
Here's how to setup the server files:
- Unzip the REBOL/IOS distribution package into any secure
directory on the same system as your web server. A good way to
do this is to setup a new user account called called rebol-serve,
logon to that account, and store the files there.
- Copy the appropriate rebol-proxy file for your system from the
proxies directory to your web-servers cgi-bin directory. If you
do not see a proxy that matches your system, the source code is
provided.
- Give the rebol-proxy the correct file permissions as needed by
your web server to allow the file to be executed as a CGI file.
On most web servers, a cgi file such as this must be executable
by all users. Note, however, that root (superuser) permission is
not required.
| Windows Internet Information Server (IIS) Note | |
If you are using the MS Windows Web Server, here are the steps
needed to set execute permissions for your scripts (CGI) directory:
Open the Internet Information Services (IIS) manager (normally found in
the Start menu, programs, administrative tools section under "Internet
Services Manager").
In the left-hand panel, click the name of your server to open it,
then, under it click the "default web site" directory.
In the right-hand panel, right click the "scripts" directory (or the CGI
directory, depending on how you had your IOS host path configured) and
open the "properties" option. Under the "virtual directory" tab, verify
that the execute permissions option is set to "scripts and executables".
Now open the scripts directory and right click on rebolproxy.exe, click
on the file security tab, and click the edit button for "anonymous
access and authentication control". Verify that "anonymous access"
option is enabled. This allows your users to run the rebolproxy file in
your scripts directory, which operates as a router to your IOS server
(which implements its own high-strength user authentication methods).
|
4.5 Test Drive the Server
You can now start the REBOL/IOS server to verify operation.
- Be sure you are logged in to the rebol-server or appropriate
account. IF YOU DON'T, files will not be created with correct
ownership and the server may not operate correctly.
- Run the program "rebol-serve" from the shell. You should see it
output a few lines to verify that it is running.
- Run a REBOL/Link client as described in the next section. Verify
that you can connect to the server.
If you cannot connect to the server, see the Troubleshooting
section below.
| Warning | |
Never directly modify files in REBOL/serve subdirectories.
These files are being synchronized and improper modifications
could result in serious operational errors, including loss of
data or improper synchronization. When left alone, the system
runs very well. You will only break it.
|
4.6 Automatic Startup
Assuming that you were able to connect in the above steps, you
will want to add REBOL/Serve to your server startup scripts to
initialize it when the server boots.
Startup scripts vary between systems. For instance, under Linux
you will modify the /etc/rc.d/rc.local file. Example scripts are
provided in the distribution package.
5. Client Installation
The REBOL/Link client takes just a few seconds to install. Here
are the steps:
- Copy the Link binary to a computer that is connected to the
server. (Note you might want to put the Link program on your
internal web-site to make it easier for your users to download.
But, we don't recommend putting it on an external web-site.)
- Run Link.
- Read and accept the license agreement.
- Change the installation directory and options as appropriate
(although we recommend that for the initial test, you leave them
set to their defaults to eliminate potential errors).
- Click Install.
- If you require web proxy settings to reach your web server,
enter them in the Proxy panel.
- The Setup panel will appear. Under Accounts, enter a user name
of "admin" and a password of "test".
- Click Save. If it is working properly, your Link desktop should
restart, download the system desktop, display it and begin
downloading other files.
If you were not able to connect, return to the Setup panel and
re-enter the "admin" username and "test" password. Be sure that
the password is lowercase. Click on the "Test Settings" button
to view each step that occurs in the login process. See the
troubleshooting section for details.
| Change Admin Password | |
Once you have successfully logged in, change the Admin password
with the User Admin application described in the next section.
|
6. Default Admin Applications
When you initially login as "admin", you should see an admin
button. Click on it to view the admin folder. The folder will
contain the following applications.
6.1 User Admin
This application is provided to help you create, modify, and
delete user accounts.
To run it, single click on the User-Admin icon. You will see
a window such as this:
Click the New button to create a new account, or select one
of the existing accounts to modify its attributes.
Note that this application is just one way to create user
accounts. You can also create accounts programmatically from
existing databases or through web or email transactions.
For more information, read the
REBOL/IOS User Administration.
6.2 Reg Edit
This is a raw IOS registry editor that can be used to modify or
delete existing filesets. In the hands of a skilled operator,
this tool can be extremely useful. However, this application
should only be used with full knowledge of the IOS fileset
system and its tags. Improper use of this tool can create
problems.
6.3 Up-File
This is a low-level file uploader that is useful for updating
any IOS file, even hidden files (such as the desktop, icons,
or document graphics).
To use it, click on the fileset that you want to update, then
pick the file from the right-hand panel. A file requestor will
prompt you for the new file, and it will be uploaded.
Note that you can only update, this application does not add
new files.
7. Troubleshooting
If REBOL/IOS does not work, here are a few items to check:
- Is REBOL/Serve running? Verify that there is a rebol-serve
process running on the hosting server. (e.g. in UNIX do a PS
command to see processes.)
- Does the REBOL/Serve installation directory contain all of
the files from the IOS package?
- Check that your Web server is running. Is it configured for
CGI operation, and does CGI have the correct directory path to
the rebol-proxy program (installed above)?
- Does the rebol-proxy have the correct permissions? It needs
to be executable by all users.
- Can the system with the Link client connect to your server?
Run a browser to check a web page on the same web server that
holds the rebol-proxy. (Note, however, that if you open the
browser with a URL to the rebol-proxy, you will normally see an
"internal server error message" depending on your web server.
That's because REBOL uses its own protocol with this proxy, so
normal web page access fails.)
- On the client, check the servers.r file in the Link
installation directory. Open it with a text editor. Does the
host field contain the correct name for your web server. This
is not a URL, it's a string that holds the name of the server.
- If you think the client requires a proxy to connect to your web
server, verify that it has been set correctly. This can be done
from the Link Setup Proxy panel. You can also verify these
settings by examining the prefs.r file in your Link installation
directory (once installation has succeeded).
- Verify that you are using a correct username and password.
- If you change any of the REBOL/Serve files directly on the
server, you may have created serious problems for IOS. One
way to handle the situation is to remove the installation and
start over. Keep in mind that all recently sync'd Links will
contain the files necessary to restore your server.
- It is possible to restore the server from an up-to-date Link
that has all of the current files. Save all of the Link files
in all of its subdirectories immediately before restarting
serve.
- If you are having problems logging in, select the test button
from the Setup panel. It will provide feedback as the
connection is being made.
8. Notices
- The security of files stored on your server is your
responsibility. REBOL/IOS files are not normally stored on
the server in encrypted format, so use correct account permissions
to keep your files secure.
- Be sure to change your Admin password and always use good passwords
that contain a mixture of numbers and punctuation characters such
as .-!_+=.
- All code for the system, applications, and administration is
REBOL Technologies copyrighted and licensed code for your use
only.
9. Other Documents
Other information about REBOL/IOS can be found here:
REBOL/IOS Documentation
| | REBOL/MakeDoc 2.0 | REBOL is a registered trademark of REBOL Technologies Copyright 2004 REBOL Technologies | 20-Dec-2004 |
|