I am sponsoring this case for Jeff Trawick. Timeout set to 2008/11/13.

Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         Sun Web Stack 1.4
    1.2. Name of Document Author/Supplier:
         Author:  Jeff Trawick
    1.3  Date of This Document:
        13 November, 2008
4. Technical Description

Sun Web Stack 1.4

November 13, 2008
Jeff Trawick <jeffrey.trawick at sun.com>

1.  Summary and motivation

    1.1.    Introduction

    Sun Web Stack provides a collection of the technologies commonly 
    known as LAMP (Linux, Apache, MySQL, PHP) as well as several
    additional commonly used Web Tier technologies.  This collection
    exists today in OpenSolaris, and is commonly referred to as the 
    OpenSolaris Web Stack (http://opensolaris.org/os/project/webstack/).

    While Sun Web Stack is a new product, architecturally it is a porting
    effort of the existing OpenSolaris Web Stack onto the following 
    platforms:

      - Solaris 10 (SPARC and x86) 
      - Red Hat Enterprise Linux (RHEL) 5 (x86)

    Feature parity across all three platforms is a primary
    requirement, thus it is a goal of the Sun Web Stack product to be
    strictly a port of the OpenSolaris Web Stack onto these platforms.
    This means the product will contain precisely the same version of
    each component and each component will be configured to support
    the same options and features as in OpenSolaris.

    Sun Web Stack is a subset of the components available under the
    umbrella of the OpenSolaris Web Stack project. The chosen subset
    may be expanded in future releases depending on customer interest.

    The software will be available without charge, but without 
    product support, on Solaris 10 and RHEL 5 as it is for OpenSolaris.
    Support contracts will be available for purchase by customers.

    (Note: The direction for future releases of Sun Web Stack is to
    provide additional enterprise features which are not freely
    available.  No such value adds are provided in this initial release.)

    This is the initial release of the Sun Web Stack product therefore
    it can be considered a baseline Major release, despite the 1.4
    marketing release number.

2.  Technical description

    2.1.    API and ABI compatibility

    There is no previous Sun Web Stack release, so the 
    discussion here primarily covers future Sun Web Stack major 
    and minor updates and how they relate to the compatibility 
    characteristics of the various open source features.

    Each open source feature included within Sun Web Stack has
    its own notion of compatibility.  For example, new Apache
    HTTP Server micro revisions, such as 2.2.1, 2.2.2, etc., 
    are binary compatible with previous Apache HTTP Server 
    2.2.x micro revisions, whereas new Apache HTTP Server minor
    revisions, such as 2.0.x, 2.2.x, are not binary compatible 
    with previous ones.  With Apache Portable Runtime, on the 
    other hand, only major revisions are not backwards compatible,
    and micro revisions are forwards and backwards compatible.

    Upgrades of the open source packages from one Sun Web Stack
    release to the next will be managed such that no incompatible
    changes are introduced within a minor Sun Web Stack release
    (1.4, 1.5, etc.), but instead will be postponed to the next
    major Sun Web Stack release (2.0, 3.0, etc.).  These major
    Sun Web Stack releases will inevitably break API and ABI
    compatibility becasue of the need to maintain currency with
    the current stable versions of the various open source
    projects, which themselves only support a particular stable
    branch for a limited period of time.

    2.1.1. Compatibility with other builds of the same open source
           software

    Some enterprise customers may be using commercial products
    which provide plug-ins or extensions for some of the open
    source features, notably Apache.  It is a goal to maintain 
    compatibility with the ABIs of the open source projects so that 
    binary-only plug-ins or extensions can be used with the Sun Web
    Stack offering of that open source feature.

    For example, the Apache HTTP Server 2.2.9 included within 
    Sun Web Stack should be compatible with binary modules for
    Apache 2.2.x (x<=9) provided that the same word size and a
    compatible compiler were used.

    In the event that market demands require that we ship a new
    incompatible version of a component before it is time for the next
    Major release of Sun Web Stack, the versioned directory structure
    permits shipping multiple versions of the same component. As with
    other aspects of Sun Web Stack, this is the same approach taken in
    OpenSolaris.


    2.2.   Configuration Settings

    Sample configuration files will be provided for each, as on
    OpenSolaris.

    2.3.   Services (daemon) Support

    Many of the features of Sun Web Stack are network services, which
    should be controllable by the standard platform interfaces, whether
    manually or with system startup and shutdown.

    2.3.1. Solaris 10

    SMF definitions will be provided for each service (Apache, lighttpd,
    MySQL, etc.) so that they can be controlled using the SMF interfaces.

    2.3.2. RHEL 5

    SysV Init scripts will be provided for each service.

    2.4.  Platform-specific features

    2.4.1. Dtrace

    It is a long term goal of Sun Web Stack to provide Solaris-specific
    enhancements based on Dtrace for all key features.  Several of the
    web stack features in OpenSolaris, including Apache and PHP, include
    such enhancements.  Those will be retained on Solaris 10, but will
    not be available on RHEL 5.

    2.4.2. 64-bit exploitation

    In OpenSolaris, 32-bit versions are provided for all binaries and
    64-bit support is provided for selected features, including Apache 
    and MySQL.

    2.4.2.1. Solaris 10

    64-bit support will match that in OpenSolaris.

    2.4.2.2. RHEL 5

    No 64-bit support will be provided.  The 32-bit binaries will
    however be supported on both the 32-bit and 64-bit variations of
    RHEL 5.

    2.5.   Packaging and delivery

    This case delivers Sun Web Stack 1.4 as native packages for
    Solaris 10 (SVR4) and RHEL 5 (rpms).

    (Note: Sun Web Stack 1.4 will also support Update Center 2. A separate 
    case will follow to cover that delivery; it is not part of this case.)

6.  Interfaces

    6.1  Imported Interfaces

    6.1.1  OpenSolaris Web Stack component

    As documented in section 1, Sun Web Stack is a port of a subset of
    OpenSolaris Web Stack components.  This case imports the definition
    of all these components from the following cases:

    Primary features:

    LSARC/2008/541      Apache and APR Updates
    LSARC/2008/191      Deliver Lighttpd 1.4.x into OpenSolaris
    LSARC/2008/126      memcached 1.2.5 to be included in OpenSolaris
    LSARC/2008/599      Update MySQL to 5.0.67
    LSARC/2008/538      Including PHP 5.2.6 within OpenSolaris
    PSARC/2008/543      Python 2.5 for Solaris
    PSARC/2007/600      Including Ruby 1.8 with Solaris
    WSARC/2007/554      Deliver Squid into OpenSolaris
    PSARC/2008/065      Tomcat 5.5

    Additional Apache modules:

    mod_dtrace, mod_fcgid, mod_jk:
    PSARC/2008/090      Additional Apache2 Modules

    mod_perl:
    PSARC/2007/586      Including Apache 2.2.6 with Solaris

    PHP extensions:

    APC, dtrace, idn, memcache, suhosin, tcpwrap, xdebug:
    PSARC/2007/656      PHP5 Feature Enhancements

    6.1.2 New imported interfaces for Solaris 10 and Linux

    Interface: ST CLI (stclient)
    Stability: Stable
    Exporting Project: Sun Service Tag ARC V1.1 Case PSARC/2007/473
    Used by: Sun Web Stack registration command (Appendix 2)

    6.2 Exported Interfaces

    The following additional and/or modified interfaces are exported
    by this case:

    6.2.1  Filesystem paths

    The web stack components are bundled in OpenSolaris, and their
    filesystem paths reflect that bundling in their use of system
    directories (e.g., /usr/apache2, /usr/mysql, etc.).

    SWS on Solaris 10 and RedHat is an add-on product and its files
    are not installed in system directories, other than SMF manifests
    (Solaris 10) and init scripts (RedHat).

    When porting to Solaris 10 and RedHat, filesystem paths were
    modified as follows from the existing OpenSolaris (bundled)
    locations:

    Configuration files

      OpenSolaris (existing)  /etc/$component/*
      Solaris 10              /etc/opt/webstack/$component/*
      RedHat                  /etc/opt/sun/webstack/$component/*

    Run-time variable files

      OpenSolaris (existing)  /var/$component/*
      Solaris 10              /var/opt/webstack/$component/*
      RedHat                  /var/opt/sun/webstack/$component/*

    All static files (binaries, libraries, docs, etc.)

      OpenSolaris (existing)  /usr/* and elsewhere
      Solaris 10              /opt/webstack/$component/*
      RedHat                  /opt/sun/webstack/$component/*

    6.2.2 Support Libraries (Project Private)

    In order to maintain feature parity with the OpenSolaris version of
    Web Stack components, the Sun Web Stack porting effort may include
    several private support libraries when the corresponding library in
    Solaris 10 or RedHat Linux is either missing or too far out of date
    to be useful.  All the support libraries are Project Private and not
    documented for direct customer use.

    6.2.3 New Command-line interfaces

    Sun Web Stack 1.4 has a simple command line installer. Future major
    releases of the product may (or may not) alter the installation 
    procedure, so the current simple installer is Uncommitted.

    Installer CLI name               Uncommitted  Defined in Appendix 1
    Installer CLI options            Uncommitted  Defined in Appendix 1
    Installer meta package names     Uncommitted  Defined in Appendix 1
    Installer meta package mappings  Uncommitted  Defined in Appendix 1
    Registration CLI name            Uncommitted  Defined in Appendix 2

    6.2.4 Solaris 10-specific items

    6.2.4.1 SVR4 package names

    Feature                      Package name           Stability
    ---------------------------- ------------           ---------
    Apache HTTP Server           sun-apache22           Uncommitted
    Apache module mod_dtrace     sun-apache22-dtrace    Uncommitted
    Apache module mod_fcgid      sun-apache22-fcgid     Uncommitted
    Apache module mod_jk         sun-apache22-jk        Uncommitted
    Apache module mod_perl       sun-apache22-perl      Uncommitted
    lighttpd HTTP server         sun-lighttpd14         Uncommitted
    memcached                    sun-memcached          Uncommitted
    MySQL                        sun-mysql50            Uncommitted
    PHP                          sun-php52              Uncommitted
    PHP extension APC            sun-php52              Uncommitted
    PHP extension dtrace         sun-php52              Uncommitted
    PHP extension idn            sun-php52              Uncommitted
    PHP extension memcache       sun-php52              Uncommitted
    PHP extension suhosin        sun-php52              Uncommitted
    PHP extension tcpwrap        sun-php52              Uncommitted
    PHP extension xdebug         sun-php52              Uncommitted
    Python                       sun-python25           Uncommitted
    Ruby                         sun-ruby18             Uncommitted
    squid                        sun-squid              Uncommitted
    Tomcat                       sun-tomcat5            Uncommitted

    6.2.4.2 SMF FMRIs for services

    These are modelled on the OpenSolaris SMF FMRIs, but use
    the package names to avoid any potential conflicts.

    Apache HTTP Server /network/http:sun-apache22                   Uncommitted
    lighttpd           /network/http:sun-lighttpd14                 Uncommitted
    memcached          /application/database/sun-memcached:default  Uncommitted
    MySQL              /application/database/sun-mysql50            Uncommitted
    Squid              /network/http:sun-squid                      Uncommitted
    Tomcat             /network/http:sun-tomcat5                    Uncommitted

    6.2.5   RHEL 5-specific items

    6.2.5.1 RPM package names

    These are the same as in 6.2.1.1, SVR4 package names, except that the
    following packages aren't provided:

    Package                Reason
    ---------------------  ------------------------------------
    sun-apache22-dtrace    DTrace doesn't exist on RedHat
    sun-apache22-python25  RedHat-provided Python is sufficient
    sun-apache22-ruby18    RedHat-provided Ruby is sufficient

    6.2.5.2 /etc/init.d scripts

    The native package names were used for the names of the
    init scripts.

    Apache HTTP Server     sun-apache22         Uncommitted
    lighttpd               sun-lighttpd14       Uncommitted
    memcached              sun-memcached        Uncommitted
    MySQL                  sun-mysql50          Uncommitted
    Squid                  sun-squid            Uncommitted
    Tomcat                 sun-tomcat5          Uncommitted

7.  References

    http://sac.sfbay/LSARC/2008/541     Apache and APR Updates
    http://sac.sfbay/LSARC/2008/191     Deliver Lighttpd 1.4.x into 
                                        OpenSolaris
    http://sac.sfbay/LSARC/2008/126     memcached 1.2.5 to be included in
                                        OpenSolaris
    http://sac.sfbay/LSARC/2008/599     Update MySQL to 5.0.67
    http://sac.sfbay/LSARC/2008/538     Including PHP 5.2.6 within 
                                        OpenSolaris
    http://sac.sfbay/PSARC/2008/543     Python 2.5 for Solaris
    http://sac.sfbay/PSARC/2007/600     Including Ruby 1.8 with Solaris
    http://sac.sfbay/WSARC/2007/554     Deliver Squid into OpenSolaris
    http://sac.sfbay/PSARC/2008/065     Tomcat 5.5
    http://sac.sfbay/PSARC/2008/090     Additional Apache2 Modules
    http://sac.sfbay/PSARC/2007/586     Including Apache 2.2.6 with Solaris
    http://sac.sfbay/PSARC/2007/656     PHP5 Feature Enhancements
    http://sac.sfbay/PSARC/2007/473     Sun Service Tags Version 1.1

-------------------------------------------------------------------------------
Appendix 1

    Installer command user interface

    The install command resides in the user's download area and will
    install the native packages required to implement the desired
    feature, then call the registration script.

    Syntax:

    ./install [-h|-?|--help] [list-of-features]

    -h    issue help messages
          -? and --help are synonyms

    list-of-features = one or more of the following feature keywords:

      keyword            packages to be installed
      ------------------ --------------------------------------
      amp                sun-wsbase, sun-apache22*, sun-mysql50, sun-php52*
      apache             sun-wsbase, sun-apache22*, sun-mysql50 (dependency)
      mysql              sun-wsbase, sun-mysql50
      php                sun-wsbase, sun-php52*, sun-mysql50 (dependency)
      squid              sun-wsbase, sun-squid
      lighttpd           sun-wsbase, sun-lighttpd14
      memcached          sun-wsbase, sun-memcached
      python*            sun-wsbase, sun-python25
      ruby*              sun-wsbase, sun-ruby18
      tomcat             sun-wsbase, sun-tomcat5

      *sun-python25 and sun-ruby18 are only provided on Solaris 10; RedHat
      users must use the version provided with the OS

-------------------------------------------------------------------------------
Appendix 2

    Registration command user interface

    The registration command normally is called automatically from the
    install script.  It is included in the sun-wsbase package (always
    installed) and documented so that users can reinitiate registration 
    later, or initiate registration after installing the native packages
    manually.

    The regtool will create a service tag and attempt to open the 
    registration page in a browser window. If that does not succeed, 
    regtool will report the file system location of the registration page
    and the user will need to open it within a browser in order to 
    complete the registration process. The user will then be taken to a 
    webapp hosted by the sysnet team on inventory.sun.com and the 
    registration process is complete only after the user creates a Sun 
    Online Account or logs in with an existing account.

    Syntax:

    /opt/webstack/bin/regtool [-h|-?|--help]

    -h    issue help messages
          -? and --help are synonyms

    The tool has no additional command-line arguments in this release.


6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                none
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


Reply via email to