Well the problem is now fixed and the WebServer is ok.

A few teething problems on the build but all is working

Are there any problems with the Server in general that anyone
has found ?

I wish to create servlets and connections to Oracle via jdbc.

Many thanks

Matt

---------------------------------------------------------------------
Below are the files for future ref if anyone needs them.
---------------------------------------------------------------------
###################################################
# @(#)Makefile.sol     1.11 97/11/06
#
# Solaris-specific makefile for building optional native library support.
# Use this as a starting point for porting to other UNIX platforms.
# REMEMBER THE TABS BETWEEN THE $ signs.
# 
# Path to top of Java Web Server distribution tree
TOP = ..

# Name of the library we're making (given to System.loadLibrary)
LIBNAME = server

# Location of Java Developer's Kit (and runtime)
JAVA_HOME=<Java jdk home dir maybe 1.1.7>

# Java runtime flags
JAVAH=$(JAVA_HOME)/bin/javah
CLASSPATH=$(TOP)/classes:$(TOP)/lib/classes.zip:$(JAVA_HOME)/classes:$(JAVA_HOME
)/lib/classes.zip

# OS and machine type
OS =    genunix
ARCH =  unknown
OBJ =   $(OS)/$(ARCH)

# Preprocessor, compiler, linker, and related flags
CC =            cc
CFLAGS =        -shared -fPIC
CPPFLAGS =      -I$(OS) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(OS)
LDFLAGS =       #-G -h $(LIBNAME)
INSTALL =       /usr/bin/install

LIBDIR =        $(TOP)/lib/$(OBJ)

LIBRARY =       $(OBJ)/lib$(LIBNAME).so
OBJS =          $(OBJ)/server.o \
                $(OBJ)/UNIXUser.o \
                $(OBJ)/UNIXUserEnumeration.o \
                $(OBJ)/com_sun_server_ServerProcess.o \
                $(OBJ)/com_sun_server_realm_unix_UNIXUser.o \
                $(OBJ)/com_sun_server_realm_unix_UNIXUserEnumeration.o

default all: $(LIBRARY)

$(LIBRARY): $(OBJS)
        $(LINK.c) -o $@ $(OBJS)

$(OBJ)/server.o: server.c $(OS)/com_sun_server_ServerProcess.h
        $(COMPILE.c) -o $@ server.c

$(OBJ)/UNIXUser.o: UNIXUser.c $(OS)/com_sun_server_realm_unix_UNIXUser.h
        $(COMPILE.c) -o $@ UNIXUser.c

$(OBJ)/UNIXUserEnumeration.o: UNIXUserEnumeration.c \
                $(OS)/com_sun_server_realm_unix_UNIXUserEnumeration.h
        $(COMPILE.c) -o $@ UNIXUserEnumeration.c


$(OBJ)/com_sun_server_ServerProcess.o: $(OS)/com_sun_server_ServerProcess.c
        $(COMPILE.c) -o $@ $(OS)/com_sun_server_ServerProcess.c

$(OS)/com_sun_server_ServerProcess.c:
        $(JAVAH) -d $(OS) -classpath $(CLASSPATH) -stubs 
com.sun.server.ServerProcess

$(OS)/com_sun_server_ServerProcess.h:
        $(JAVAH) -d $(OS) -classpath $(CLASSPATH) com.sun.server.ServerProcess

$(OBJ)/com_sun_server_realm_unix_UNIXUser.o: 
$(OS)/com_sun_server_realm_unix_UNIXUser.c
        $(COMPILE.c) -o $@ $(OS)/com_sun_server_realm_unix_UNIXUser.c
$(OS)/com_sun_server_realm_unix_UNIXUser.c:
        $(JAVAH) -d $(OS) -classpath $(CLASSPATH) \
                -stubs com.sun.server.realm.unix.UNIXUser
$(OS)/com_sun_server_realm_unix_UNIXUser.h:
        $(JAVAH) -d $(OS) -classpath $(CLASSPATH) 
com.sun.server.realm.unix.UNIXUser

$(OBJ)/com_sun_server_realm_unix_UNIXUserEnumeration.o: \
                $(OS)/com_sun_server_realm_unix_UNIXUserEnumeration.c
        $(COMPILE.c) -o $@ $(OS)/com_sun_server_realm_unix_UNIXUserEnumeration.c
$(OS)/com_sun_server_realm_unix_UNIXUserEnumeration.c:
        $(JAVAH) -d $(OS) -classpath $(CLASSPATH) \
                -stubs com.sun.server.realm.unix.UNIXUserEnumeration
$(OS)/com_sun_server_realm_unix_UNIXUserEnumeration.h:
        $(JAVAH) -d $(OS) -classpath $(CLASSPATH) \
                com.sun.server.realm.unix.UNIXUserEnumeration

install: $(LIBRARY)
        $(INSTALL) -d $(LIBDIR)
        $(INSTALL) -c $(LIBRARY) $(LIBDIR)

clean:
        rm -rf $(OS)

.INIT:
        -@mkdir -p $(OBJ)

.KEEP_STATE:

--------------------------------------------------------------------------------
-------


/*
 * @(#)UNIXUserEnumeration.c    1.4 97/09/09
 * 
 * Copyright (c) 1995-1997 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * This software is the confidential and proprietary information of Sun
 * Microsystems, Inc. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Sun.
 * 
 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
 * THIS SOFTWARE OR ITS DERIVATIVES.
 * 
 * CopyrightVersion 1.0
 */


#include        <pwd.h>

#include        "com_sun_server_realm_unix_UNIXUserEnumeration.h"


/*
 * Native methods supporting the enumeration of user names.
 *
 * This uses the standard UNIX/POSIX calls for accessing
 * such names.  Most systems also have APIs for modifying
 * the database of such user acounts, but they're not at
 * all portable.
 */

void com_sun_server_realm_unix_UNIXUserEnumeration_setpwent (
    struct Hcom_sun_server_realm_unix_UNIXUserEnumeration       *this
)
{
    /*
     * NOTE:  the POSIX (and even Solaris) APIs have a flaw in
     * that they only allow one such enumeration to go on in a
     * process at a time ... we really can't do anything about
     * it in a robust way.  Problem #1 is telling when "the"
     * active enumeration is done, so we could allow another.
     */
    setpwent ();
}


struct Hjava_lang_String *
com_sun_server_realm_unix_UNIXUserEnumeration_getNextUserName (
    struct Hcom_sun_server_realm_unix_UNIXUserEnumeration       *this
)
{
    char                buf [BUFSIZ];
    struct passwd       value;

#ifdef __GLIBC__
    if (getpwent_r (&value, buf, sizeof buf, NULL) == 0)
#else
    if (getpwent_r (&value, buf, sizeof buf) == 0)
#endif
        return 0;
}
--------------------------------------------------------------------------------
----
(above is the UNIXUserEnumeration.c file)
--------------------------------------------------------------------------------
----


/*
 * @(#)UNIXUser.c       1.5 97/09/09
 * 
 * Copyright (c) 1995-1997 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * This software is the confidential and proprietary information of Sun
 * Microsystems, Inc. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Sun.
 * 
 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
 * THIS SOFTWARE OR ITS DERIVATIVES.
 * 
 * CopyrightVersion 1.0
 */

#include        <crypt.h>
#include        <pwd.h>
#include        <string.h>

#include        "com_sun_server_realm_unix_UNIXUser.h"

void
com_sun_server_realm_unix_UNIXUser_loadFromPasswd (
    struct Hcom_sun_server_realm_unix_UNIXUser  *this
)
{
    char                *logname;
    struct passwd       value;
    char                buf [BUFSIZ];

    logname = makeCString (unhand (this)->user);
#ifdef __GLIBC__
    if (getpwnam_r (logname, &value, buf, sizeof buf, NULL) == 0) {
#else
     if (getpwnam_r (logname, &value, buf, sizeof buf) == 0) {
#endif
        /*
         * setting homedir or passwd to null indicates an error,
         * and the caller throws an exception
         */
        unhand (this)->homedir = 0;
        unhand (this)->passwd = 0;

    } else {
        unhand (this)->homedir = makeJavaString (value.pw_dir,
                                    strlen (value.pw_dir));
        unhand (this)->passwd = makeJavaString (value.pw_passwd,
                                    strlen (value.pw_passwd));

        /*
         * NOTE:  this doesn't do "shadow password" lookups.
         * Some sites hide their "real" password data.
         */
    }
}

long
com_sun_server_realm_unix_UNIXUser_checkCrypt (
    struct Hcom_sun_server_realm_unix_UNIXUser  *this,
    struct Hjava_lang_String            *password
)
{
    char                                *plaintext;
    char                                *ciphertext;
    char                                *computed;

    plaintext = makeCString (password);
    ciphertext = makeCString (unhand (this)->passwd);
    computed = crypt (plaintext, ciphertext);

    /*
    free (plaintext);
    free (ciphertext);
    */

    return strcmp (computed, ciphertext) == 0;


    /*
     * NOTE:  this doesn't look up the passphrase again; in some
     * environments, caching at this level may be undesirable.
     *
     * To avoid the caching, look it up ... and if the users's
     * been deleted, return some value like "-1" (not zero or one).
     */
}
--------------------------------------------------------------------------------
-----
(above is the UNIXUser.c)
--------------------------------------------------------------------------------
-----
#!/bin/sh
#
# @(#)java-server.startup       1.13 97/10/29
# 
# Copyright (c) 1996-1997 Sun Microsystems, Inc. All Rights Reserved.
# 
# This software is the confidential and proprietary information of Sun
# Microsystems, Inc. ("Confidential Information").  You shall not
# disclose such Confidential Information and shall use it only in
# accordance with the terms of the license agreement you entered into
# with Sun.
# 
# SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
# SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
# PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
# SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
# THIS SOFTWARE OR ITS DERIVATIVES.
#

######
#
# There are some dependencies on the JavaSoft VM's use of
# variables like CLASSPATH, and command line options like -noasyncgc.
# You will probably have to tailor these types of things to fit your VM.
#
# After it is correctly set up, this script starts/stops the JavaWebServer
# process as part of normal UNIX system operation, using the conventions
# for scripts found in the /etc/rc.3 directory.
#
# To set it up, first issue these commands as root:
#
#       # cp java-server.startup /etc/rc3.d/S42jserv
#       # cd /etc/rc3.d
#       # chmod +x S42jserv
#       # ln S42jserv K42jserv
#
# Then edit S42jserv and set the configuration variables listed below.
# When those variables are correctly set up, configuration is complete.
#
# At this point, without rebooting, you should test your configuration.
#
# To test this, start the server manually by typing "./S42jserv start".
# You'll know it's configured correctly if:  [a] your browser can talk
# to this web server on the correct port; and [b] it is running with the
# correct User ID (check with "ps").
#
# If you notice a configuration mistake, type "./K42jserv stop", fix
# the configuration, and retest.  Repeat as needed.
#
#       SECURITY NOTE:  To run this release on UNIX as some other UID
#       than "root" (as the server is started), you need a native code
#       library.  Source is in the "native" directory of the release,
#       and a compiled Solaris library is part of the release.
#
#       You should not run this server (or any other software) as root
#       when that conflicts with your site's security policies.
#
#       Each server process can run as a specific user. Change the 
#       server.properties file in the
# 
#       $JSERV_HOME/properties/server/<server_name>/server.properties
#       
#       file so that server.user and server.group indicate UNIX user IDs that
#       the web server should run under, rather than "root".
#
#       JavaWebServer processes runs as "root" for only a very short time before
#       it runs under those identities; in particular, no servlet code is run
#       under the startup user and group IDs (e.g. root/other) when those
#       properties are used to control server identity.
#
#       If any server process runs as "root" the administration server must
#       run as root, because it is responsible for starting and stopping the
#       additional server processes.
#

###### START OF STUFF YOU NEED TO CONFIGURE
#
# Installation MUST set these variables:
#
# JSERV_HOME   Location of the JavaWebServer distribution
#
JSERV_HOME=/var/JavaWebServer1.1.3

# You can also set these variables:
#
# USE_JRE      Set to "jre" to use internal JRE instead of JDK, "nojre" 
#              otherwise
# JAVA_HOME    Location of the Java executable, $JAVA_HOME/bin/java, required
#              if USE_JRE is "nojre"
# CLASSPATH    Additional settings for CLASSPATH
# THREADS_TYPE Type of threads (green or native)
# SSL_HOME     Location of SSL distribution
#
USE_JRE=nojre
#CLASSPATH=
export JAVA_HOME=<Dir of the jdk>
# THREADS_TYPE=native
THREADS_TYPE=green
SSL_HOME=
JSERV_HOME=<root dir where jws is>/JavaWebServer1.1.3 
#
###### END OF STUFF YOU NEED TO CONFIGURE

#export JAVA_HOME

# error "description"
error () {
  echo $0: $* 2>&1
  exit 1
}

# find the named process(es)
findproc() {
#  pid=`/bin/ps -ef |
#  /usr/bin/grep -w $1 | 
#  /usr/bin/grep -v norestart |
#  /usr/bin/grep -v grep |
#  /usr/bin/awk '{print $2}'`
#  echo $pid
  pid=`/bin/ps aux |
  /usr/bin/grep -w $1 |
  /usr/bin/grep -v norestart |
  /usr/bin/grep -v grep |
  /usr/bin/awk '{print $2}'`
  echo $pid

}

# kill the named process(es) (borrowed from S15nfs.server)
killproc() {
   pid=`findproc $1`
   [ "$pid" != "" ] && kill $pid
}

#
# require /usr/bin and JavaWebServer
#
if [ ! -d /usr/bin ]; then
   error "Cannot find /usr/bin."

elif [ ! -d "$JSERV_HOME" ]; then
   error "Cannot find JavaWebServer in JSERV_HOME ($JSERV_HOME)."
fi

#
# Start/stop Java JSERV server, following normal conventions for
# scripts found in /etc/rc3.d ... install this into that directory
# as the file "S42jserv" and link that to "K42jserv", and this server
# will start automatically when entering runlevel 3 (networked with
# exported services) and will stop when leaving that runlevel.
#
case "$1" in
'start')
         # Avoid exporting the modified path ... just use it to exec.
         PATH=$JAVA_HOME/bin:$PATH

         SSL_ARG=
         if [ -n "$SSL_HOME" ]; then
           SSL_ARG="-ssl $SSL_HOME"
         fi
         JAVA_HOME_ARG=
         if [ "$USE_JRE" = "nojre" ]; then
           JAVA_HOME_ARG="-javahome $JAVA_HOME"
         fi
         HTTPD_CLASSPATH="lib/jws.jar:lib/javac.jar"
         if [ -n "$CLASSPATH" ]; then
           HTTPD_CLASSPATH="$HTTPD_CLASSPATH:$CLASSPATH"
         fi

         cd $JSERV_HOME

         # Check if the server is already running.
         if [ -n "`findproc jserv`" ]; then
            echo "JavaWebServer is already running."
            exit 0
         fi
         bin/jserv -$USE_JRE $JAVA_HOME_ARG -classpath $HTTPD_CLASSPATH \
#        -threads $THREADS_TYPE $SSL_ARG &
        -threads $THREADS_TYPE $SSL_ARG -os genunix -arch unknown &
        ;;

'stop')
        # If a graceful shutdown is possible jserv will do it.
        killproc jserv
        ;;

*)
        echo "Usage: $0 { start | stop }"
        ;;
esac
--------------------------------------------------------------------------------
------
(above is the java-server.startup file).
--------------------------------------------------------------------------------
------


----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to