| iMatix home page | Xitami home page | << | < | > | >> | Xitami Version 2.5b6

## Installing Xitami

You can install Xitami in a few minutes on all platforms. For Windows, Xitami comes with an installation Wizard. For OS/2 it is supplied as a pre-built zip file. For UNIX and OpenVMS, Xitami is provided as a source kit - you need an ANSI C compiler to rebuild it.

### Worldwide Mirror Sites

Click on the image that displays first:

USA FTP access | Belgium | Mexico | Thailand

### Current Release - 2.5b6

| Win 3.x | Win 95/NT standard | Win 95 console | Win NT service | Win NT Alpha/AXP | OS/2 | Unix, OpenVMS
Install package | bw16.exe N/A | bw32.exe N/A | bc32.exe N/A | bs32.exe N/A | baxp.zip N/A | bos2.zip N/A | suni.tgz N/A
Source package (if separate) |  |  | swin.zip N/A |  |  | swin.zip N/A |

### Previous Release - 2.4d3

| Win 3.x | Win 95/NT standard | Win 95 console | Win NT service | Win NT Alpha/AXP | OS/2 | Unix, OpenVMS
Install package | bw1624d3.exe N/A | bw3224d3.exe N/A | bc3224d3.exe N/A | bs3224d3.exe N/A | baxp24d3.zip N/A | bos224d3.zip N/A | suni24d3.tgz N/A
Source package (if separate) |  |  | swin24d3.zip N/A |  |  | swin24d3.zip N/A |

### GUI Version for Windows 95/98 or NT

Download and run the 32-bit Windows package. The installation Wizard will prompt you for an installation directory, and will build a program group and icons to run Xitami. To run the installation Wizard without the iMatix logo display, pass is "-nologo" on the command line.

You can uninstall Xitami by double-clicking the Uninstall icon. Under Windows 95 and NT 4.x you can also select the 'Add/Remove Programs' option in the control panel. Xitami maintains various items in the Windows registry which the uninstall script should remove.

When you have installed Xitami, run it, then connect with any web browser. You should see the "Welcome To Xitami" test page. If Xitami cannot run on its normal port (80), it shows an error message: this can happen if another server is using port 80. You can use an alternative HTTP port such as 5080. You then connect using the URL `http://localhost:5080/`.

You can also download the source package for Windows. This compiles under MSVC 4.x or 5.x, and is necessary if you want to extend the server using the WSX add-on protocol. To build from the source package, unzip it into a directory (e.g. c:\xitami\src) and double click on the xitami.mdp file. This launches MSVC. Click on the 'Build' button, wait until everything compiles, then click on 'Run'. Note that this source package contains the console (DOS box) version of Xitami. The project contains definitions for the GUI versions too, but these won't build unless you've purchased the Windows GUI source code from us.

If you use Windows 95, be aware that the earlier versions of this OS can get into serious problems when heavily loaded with TCP/IP connections. While Win95 is adequate for testing and for small sites, we cannot really recommend it for serious sites - use NT or Linux. If you find that your Win95 system shows the classic 'Blue Screen of Death' when the server is heavily loaded, consider installing the various patches and upgrades that are supplied on the Microsoft site.

### Console Version for Windows 95/98 and NT

The console version of Xitami runs in a DOS box. Unlike the Windows GUI version, it does not provide a control panel, so you stop the server using Ctrl-C. The advantage of the console version is that messages are shown on the screen directly, so it's a little easier to use when you're debugging a difficult configuration. Otherwise, it's exactly the same Xitami. Download and run the 32-bit Windows console package. The installation program will prompt you for an installation directory, and will build a program group and icons to run Xitami.

Some users of Windows 98 have reported that the console version of Xitami runs more stably than the graphic version. This may be due to the MSVC runtime, but in any case: if your GUI version of Xitami crashes after heavy use under Win98, try using the console version.

When you have installed Xitami, run xidos32, then connect with any web browser. You should see the "Welcome To Xitami" test page. If Xitami cannot run on its normal port (80), it shows an error message: this can happen if another server is using port 80. To use an alternative HTTP port, use the '-b' option. This shifts the standard HTTP and FTP ports by some 'base'. For example, '-b 5000' runs the Xitami HTTP service on port 5080 and the FTP service on port 5021. You would then connect using `http://localhost:5080/`.

To halt Xitami, press Ctrl-C. This shuts-down the server cleanly.

You can uninstall Xitami by double-clicking the Uninstall icon. Under Windows 95 and NT 4.x you can also select the 'Add/Remove Programs' option in the control panel.

#### Using Xitami as a Service Under Windows 95

You can also install the console version as a service under Windows 95/98. This is a little-known ability of Win95/98, and it allows you to automatically run Xitami when the computer boots, rather than when a user logs in. The Xitami console version installation package asks whether you want to install it as a Win95 service. If you choose this option, it creates a small dispatcher, called "C:\Service.bat" which simply changes to the Xitami directory and then runs Xitami.

To start the dispatcher, the installation script adds an entry to the registry, under "SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices". You can delete this entry at any time. You can also edit service.bat to remove the call to xidos32.exe.

### Xitami Service for Windows NT

Download and run the NT service package. The installation program will prompt you for an installation directory, and will install Xitami as an NT service. You can start and stop the service using the Service Control Manager or the Xitami control panel (in the Control Panel window).

We recommend that you log-on as administrator before you install Xitami. If you install Xitami in a directory that contains a space, you will find that the service does not start correctly. You can fix this by editing the registry (ugh!) to put quotes around the filename as described in the faq or by installing in Progra~1 instead of in 'Program Files'.

The Xitami Service version accepts various command-line arguments when run in a Dos window:

Argument: | Has this purpose:
--- | ---
-i | Installs Xitami as a service.
-u | Uninstalls the Xitami service.
-d | Run Xitami as a console program.
-d -h | Show help for command-line arguments.

You can pass any command-line arguments except -i, -u, and -d in the 'Startup Parameters' field in the Service Control Manager. When you run the Xitami service as a command-line program, it acts identically to the vanilla console version. You can use the service version on Windows 95, although the -i and -u switches will not work.

The Xitami service version has the same performance as the normal 32-bits version, but will continue to work after you log off. Xitami runs on NT 3.51 and later versions.

Under Windows NT 4.0 and later you can select the 'Add/Remove Programs' option in the control panel to de-install Xitami. A bug in NT means that the control panel itself (xiwinntc.cpl) will not be deleted. Xitami maintains various items in the Windows registry, but these can be removed at any time without affecting the server.

#### Manual Installation Of The Xitami NT Service

On some (broken) NT systems that have problems running 16-bit code, the self-installing .exe file may cause an error. In such a case you can install the NT service by hand. Unzip the .exe install file (use WinZip or similar) into a directory like C:\Program Files\Xitami.

In a DOS box, in the Xitami directory, run 'xiwinnt -i' to install the Xitami service. Then copy xiwinntc.cpl to the Windows NT system32 directory. You can check that this works by using the NT service manager to stop/start Xitami, and using the Xitami Control Panel.

### Xitami for Windows 3.1 or 3.11

To run Xitami on a Windows 3.x PC you must have a 386 or higher processor. Xitami will run on a modest system; 4Mb RAM is enough if you do not run any large applications.

Download and run the 16-bit Windows package. The installation program will prompt you for an installation directory, and will build a program group and icons to run Xitami. To uninstall Xitami, double-click the Uninstall icon. Xitami does not create any files in the Windows directories.

When you have installed Xitami, run it, then connect with any web browser. You should see the "Welcome To Xitami" test page. If another web server is already using port 80, Xitami will not start. In that case, you can choose a new port (e.g. 5080) and then connect using the URL `http://localhost:5080/`.

We have tested Xitami with some 16-bit Winsock libraries, but these are notoriously unstable. Our best recommendation are the Microsoft winsock libraries, supplied with recent 16-bit versions Explorer. Windows 3.11 is also reasonably robust.

The limitations of 16-bit Windows mean that Xitami does not support CGI programs under Windows 3.x. If someone tries to run a CGI program, Xitami will show an error page.

You can also run the 32-bit console version of Xitami if you install Win32s. This version has all the functionality of the Windows 95 and NT versions (including FTP and browser-based admin) except CGI. This configuration lets you build web applications using the LRWP protocol.

### Xitami for OS/2

The OS/2 version of Xitami was built using GCC 2.7.2.1 and runs with the EMX 0.9c environment. The EMX DLLs will be required, and are available from fine FTP sites everywhere (e.g. ftp.leo.org, ftp.cdrom.com, hobbes.nmsu.edu). Compiled with assertions and gdb debugging information disabled. The OS/2 version of Xitami was built by Ewen McNeill who also ported SFL and SMT to OS/2.

The current distribution of Xitami for OS/2 was built for EMX 0.9c fix 2, and will work with releases up to EMX 0.9c fix 4.

Download the OS/2 binary package -- you'll need an unzip tool to extract the archive. You can also build the server from the Windows source package, using the supplied xibuild.cmd file.

To install an Desktop icon for Xitami, run install.cmd.

When you have installed Xitami, run xitami.exe, then connect with any web browser. You should see the "Welcome To Xitami" test page. If Xitami cannot run on its normal port (80), it shows an error message: this can happen if another server is using port 80. To use an alternative HTTP port, use the '-b' option. This shifts the standard HTTP and FTP ports by some 'base'. For example, '-b 5000' runs the Xitami HTTP service on port 5080 and the FTP service on port 5021. You would then connect using `http://localhost:5080/`.

To halt Xitami, press Ctrl-C. This shuts-down the server cleanly.

#### Using TCP/IP With OS/2

- OS/2 Warp Connect and OS/2 Warp 4 (Merlin) are set-up for network-based (LAN) TCP/IP automatically. In those cases it is just a matter of enabling the loop-back connection, which can be done in the TCP/IP configuration page, and then the address http://127.0.0.1/ can be used to access pages on the same system.
- With OS/2 Warp 3 (i.e. not the connect version) only serial-based TCP/IP is supplied but the loop-back connection can be enabled using the `ifconfig` command:

      ifconfig lo 127.0.0.1 up

- With OS/2 2.x there is no TCP/IP software supplied by default. However, there is an extra package available from IBM (even today, we think), which adds TCP/IP networking. OS/2 1.x (16 bit code) doesn't support TCP/IP at all as far as we know.

In all cases where TCP/IP is bundled with OS/2, it is an installation option. Obviously the TCP/IP software must be installed to use TCP/IP-based programs like Xitami.

As far as we know, OS/2 can be used without a nameserver available (we use a Linux machine as the nameserver for our network), if a 'hosts' file is set up in the %ETC% directory (i.e. the directory pointed at by the ETC environment variable. This directory is typically d:\tcpip\etc, or d:\mptn\etc, where d: is the boot drive). The 'hosts' file should contain the normal host information, i.e. the IP address, and then the name associated with that IP address, on the same line separated by (one or more) spaces. OS/2 can be told to use the hosts file before checking DNS by setting the environment variable; set this line in config.sys and reboot:

    USE_HOSTS_FIRST=1

#### Configuring The EMX System

The default number of file handles for an EMX is around 20-40. This is too little for a heavily-used server, and you may get errors logged as "out of file handles".

The number of file handles available in programs that use EMX can be controlled via a runtime settable environment variable, EMXOPT.

From the EMX runtime documentation (emxrt.doc):

    7 emx options
    =============

    You can customize emx by setting the EMXOPT environment variable. This
    environment variable contains a list of options, similar to command line
    options. The options must be separated by at least one blank.  Example:

        set emxopt=-c -h40

    7.1 emx options (OS/2)
    ----------------------

    -c      Disable core dumps caused by signals and exceptions

    -h#     Set OS/2 file handle limit to #.  The number # must be between
            10 and 65536
    [...]

For a busy web server, a good value would be 120:

    set EMXOPT=-h120

#### Source Installation For OS/2

With the EMX development system (including the GNU C compiler) you can rebuild Xitami on your OS/2 system. You must have installed EMX (we recommend version 0.9c) including these packages: emxrt.zip, bsddev.zip, gnudev1.zip, gnudev2.zip, emxdev1.zip, emxdev2.zip.

To rebuild Xitami, first unzip the source package in a suitable directory, e.g. C:\Xitami. This creates a source tree and also installs the various files and subdirectories that are needed for running Xitami. The sources are in src\sfl and src\smt. You can build the executable using the command file 'xibuild'. If this fails, for some reason, you must build SFL and SMT manually, but this is fairly simple:

1. Open an OS/2 command window and cd to src\sfl, and type the command 'build'. If all goes well, this will compile the SFL library, and link a number of test programs. The two files that you really need are libsfl.a (or libsfl.lib, depending on how EMX is configured) and sfl.h.
2. Copy these two files into src\smt. Now type 'build' in that directory too. This creates a number of files, but the two you really need are xitami.exe and xixlat.exe.
3. Copy these two files into .... (the main Xitami directory). You can now type 'xitami' to start the web server.

### Source Installation For UNIX

With an ANSI C compiler, you can rebuild Xitami on your system. Note that the Xitami sources are ANSI C/POSIX compatible, and should build cleanly on the majority of UNIX systems. We and other people have tested Xitami on these systems:

- Linux
- IBM RS/6000 AIX
- HP/UX
- Digital UNIX (OSF/1)
- SunOS and Solaris
- SCO UNIXWare and OpenServer
- SGI Irix
- FreeBSD, BSD/OS, NetBSD

To install the source kit you need about 15Mb of disk space. You can download the Xitami sources as a compressed tar file (.tgz). To unpack a tgz file you need GNU gunzip. Download the suni.tgz source kit. To unpack the compressed file, give these commands:

    gunzip suni.tgz
    tar -xvf suni.tar

The resulting directory structure includes the full sources for Xitami (basically the SFL and SMT packages), plus a build script, `xibuild`, plus the directories and web pages you need to get started with Xitami.

The `xibuild` script compiles Xitami and installs the executable program in the top directory (where `xibuild` is located). To run `xibuild`, give these commands:

    chmod +x xibuild
    ./xibuild

When you have built Xitami, run xitami, then connect with any web browser. You should see the "Welcome To Xitami" test page. If Xitami cannot run on its normal port (80), it shows an error message: this can happen if another server is using port 80. To use an alternative HTTP port, use the '-b' option. This shifts the standard HTTP and FTP ports by some 'base'. For example, '-b 5000' runs the Xitami HTTP service on port 5080 and the FTP service on port 5021. You would then connect using `http://localhost:5080/`.

If Xitami does not build cleanly on your system, the problem will usually lie in non-standard code in the SFL library upon which Xitami is based. It's possible that your system (or compiler) does not do what SFL expects. In general the only file which you may need to change is the prelude.h file in the SFL directory. Read the SFL doc if you think you want to make changes to this library (it's pretty simple, really, and many people done this).

### Source Installation For OpenVMS

With UCX and Vax C or Dec C, you can rebuild Xitami on your OpenVMS system. OpenVMS 6.1 or prior may not work correctly. Note that the Xitami sources are ANSI C/POSIX compatible, and depend on support from the OpenVMS system libraries to some extent. These were not fully POSIX in OpenVMS prior to 7.0, through Xitami (actually, SFL, which provides the portability layer) gets around the most blatant differences.

The section on building Xitami must still be completed. However, the process is fairly simple:

- Install the UNIX source kit.
- Build the SFL library by compiling all the files sfl*.c in the src/sfl directory. Create a library libsfl.olb containing the resulting objects. You should find that the command @build.txt does this.
- Build the SMT library by compiling all the files smt*.c (except smtschm.c) and all the files xi*.c. Create a library libsmt.old containing the resulting objects.
- Link xitami.obj with these two libraries to give xitami.exe and copy this to the root install directory.
- Define an external command:

      $ xitami :== $disk_whatever:[root.install.dir]xitami.exe

- Run xitami with arguments '-b 5000' to start it on port 5080.

Xitami runs fully, except for a couple of restrictions. The directory list functions do not (yet) work. To run a CGI program you must define an external command before starting the server. This is necessary so that Xitami can pass arguments to the program. For example:

    $ testcgi :== $DKA300:[.cgi-bin]testcgi.exe
    $ xitami -b 5000

| << | < | > | >> | Welcome To Xitami | Table Of Contents | Installing Xitami | Administration | Configuration | Using The Common Gateway Interface (CGI) | Server-Side Includes (SSI) | Using Filters | Server-Side XML Processing | Server-Side GSL Scripting | Image Maps | Virtual Hosts | The FTP Service | The Dynamic DNS Feature | Throttle Pipes | A Beginner's Guide | Writing Web Server Extension (WSX) Agents | Extending Xitami with External Peer Processes | FAQ | Getting Support | Credits | Release History | License Agreement | Copyright © 1996-2002 iMatix Corporation