# Installing GoAhead WebServer WebServer 2.1 contains everything needed to compile and run the GoAhead WebServer under WindRiver VxWorks, Windows 95, 98, 2000, NT, CE, LynxOS, LINUX and eCos. Before trying to build the GoAhead WebServer, ensure that you have the latest version from GoAhead by checking http://www.goahead.com/webserver. Each supported platform has an operating system subdirectory, which includes a Makefile for building, and a main program for invoking and initializing the GoAhead WebServer. To build and run WebServer, change to the relevant operating system directory and use "make" to initiate the build. Some of the make or batch files may need to be modified for the configuration of your system or the target system. See Configuring the GoAhead WebServer for more information. ### VxWorks
          cd VXWORKS
          setpath
          make
The above commands build for an x86 platform. If you are building for a Power PC 604 platform, use "ppcpath" and "make -f Makefile.ppc" instead. For other platforms, modify setpath.bat to set the PATH environment variable for your development environment and target device. Modify the compiler flags and options in Makefile to build for your specific target device. Load webs.o onto the target system and use standard VxWorks procedures to load the program into memory and execute it (load module and task spawn). To terminate WebServer on VxWorks so that it can be restarted without being reloaded, send a SIGTERM or SIGKILL signal to the WebServer task by using the "kill" API with signal numbers 15 or 9 respectively. Never use the taskDelete or td APIs when you plan on restarting WebServer. ### Windows NT
             cd WIN
             nmake /f webs.mak
             webs
To stop the web server, right click on the taskbar icon for the GoAhead WebServer and select "Close". ### Windows 95, 98, and 2000
             cd WIN
             setpath ( NOTE: Users of Visual Studio 6.0 may not
                             need to use this command to set
                             their environment path. )
             nmake /f webs.mak
             webs
Modify setpath.bat to set PATH environment variable for your development environment. To stop WebServer, right click on the taskbar icon for the GoAhead WebServer and select "Close". For users of Microsoft Visual Studio: Open MS C++. Open the provided workspace and select File|Open Workspace. Navigate to the directory where you unzipped the WebServer files (i.e., E:\webserver\win\webs.dsw). Click the 'Open' button. Select 'build webs.exe' from the Build Menu. The following should appear in the bottom window: --------------------Configuration: webs - Win32 Debug------------------------------- webs.exe - 0 errors(s), 0 warning(s) From the Build Menu, select 'Execute webs.exe' . The 'GoAhead WebServer' button should now appear on the taskbar. Follow the instructions provided in "Accessing the WebServer Home Page". If SSL support is required, these additional steps are necessary: Add the webSSL.c file to the list of program files. Add WEBS.SSL_SUPPORT to the preprocessor definitions of the project settings. Add the include path of the RSA package to the additional include directories. Add the library path of the RSA package to the additional library paths. Add the RSA library file name to the library modules. Note for users of Microsoft Visual C++: If you see the following Setup Environment Variables message after installing Visual C++, use the Visual C++ instructions provided below BEFORE building and running GoAhead WebServer. Setup Environment Variables message: "For your convenience, the environment variables required to run build tools from a command prompt are saved in the VCVARS32.BAT file in your BIN directory." Visual C++ Instructions: 1. Copy the VCVARS32.BAT file to your root directory (usually C:\). 2. Add the file's path name to your AUTOEXEC.BAT file. 3. Reboot your System. ### Windows CE Either of two different methods may be used to build the Windows CE WebServer: Using build.bat: In the WebServer build.bat file (CE/build.bat), ensure that the "set PATH" statement is correct, and that both the include and library files paths are correct. Ensure that all compiler flags are set correctly. Note: You can get the correct flag settings for each processor from within Visual C++. Set your project to build against the target SDK. Access the compiler settings from the menu bar. Choose Project, Settings, and the C/C++ tab. The textbox labeled "Preprocessor definitions" lists the compiler settings. Run the build.bat file. Load webs.exe and your web pages on to your CE device using your normal procedures to transfer files to the device. The default location for the web pages is in the \web directory. This can be modified in main.c. Using precompiled and linked pages (see WEBS_PAGE_ROM and WebCompiler below) makes it easy to load the application and its pages to the system in one step. Using Microsoft's C++ Visual Studio: In Microsoft Visual C++, Visual Studio, open the workspace webs.dsw in the CE subdirectory. Set the include and library paths properly for your device. Be sure the symbolic constants CE, UEMF, WEBS, and UNICODE are defined. Use the build facilities of Visual Studio to generate webs.exe. Load webs.exe and your web pages on to your CE device using your normal procedures to transfer files to the device. The default location for the web pages is in the \web directory. This can be modified in main.c. Using precompiled and linked pages (see WEBS_PAGE_ROM and WebCompiler below) make it easy to load the application and its pages to the system in one step. Note: By default, user management and digest access are not added when WebServer compiles. If these features are desired, set the proper flags in the build.bat file. ### UNIX (SCO OpenServer V)
              CD SCOV5
              make
              su            ;# As super user
              webs
### LINUX
              CD LINUX
              make
              su            ;# As super user
              ./webs
### LYNX
              CD LYNX
              make
              su            ;# As super user
              ./webs
### eCos
              CD ECOS
              make
              su            ;# As super user
              webs
### QNX
              CD QNX4
              make
              su            ;# As super user
              webs
## SSL Installation For SSL installation information, refer to Incorporation RSA Security into WebServer 2.1 in the Getting Started Guide. ## User Management The user management and access limit configuration is stored in a file called umconfig.txt. This file is created when the user management configuration is saved by exercising the "SaveUserManagement" GoForm through the savecfg.asp web page. The umconfig.txt file is not provided in this distribution. In order to provide the out-of the-box user management forms in a web-site, the following files may be included:
File | Calls GoForm | Description
adduser.asp | AddUser | Add a user
deluser.asp | DeleteUser | Delete a user
addgroup.asp | AddGroup | Add a user group
delgroup.asp | DeleteGroup | Delete a user group
addlimit.asp | AddAccessLimit | Add a URL Access Limit
dellimit.asp | DeleteAccessLimit | Delete a URL Access Limit savecfg
savecfg.asp | SaveUserManagement | Save the user configuration to the umconfig.txt file.
loadcfg.asp | LoadUserManagement | Load the user configuration from the umconfig.txt file.
The GoForms described above can be found in the source file, "umui.c". This source file is compiled into the webs executable by default. ## Standard CGI Implementation The cgitest.c file is a sample CGI program that creates and HTML page that displays the CGI environment variables. This source-code module is stand-alone, meaning that no other source files are required to generate an executable (with the exception of "stdio.h").