Web Stack

From Genunix

Contents

Description

This is the top-level wiki page for the Web Stack project. The Web Stack project aims to assume and enhance the community and work originally created in Sun's Cool Stack project.

Wish List

For lack of a better mechanism, user requests for enhancements etc will be captured/tracked here.

Task Source Comments Status
Add the component build infrastructure with source patching for various components cvr needed this infrastructure for any process to incorporate newer component into the stack.
Develop the process for upgrade for Cool Stack future releases cvr needed this infrastructure for seamless upgrades. See Also: Cool Stack forum feedback.
Add mod_fastcgi for Apache. shanti_s Without this ruby/rails users can't use apache.
Add mod_jk/mod_proxy for Apache shanti_s http://blogs.sun.com/shanti/entry/building_mod_jk#comments
Add information to CSKamp's README on configuring MySQL shanti_s http://blogs.sun.com/shanti/entry/smf_support_for_mysql_in#comments
Add widely used DBI, DBD extensions to Perl shanti_s http://cooltools.sunsource.net/coolstack/faq.html#perl_DBD
Add SMF support for all servers shanti_s http://blogs.sun.com/shanti/entry/smf_support_for_mysql_in
Add dtrace extension of PHP shanti_s http://blogs.sun.com/shanti/entry/dtrace_support_for_php
Add PHP_fastcgi shanti_s For lighttpd or other webserver users
Add Sys::Syslog Perl Extension shanti_s http://blogs.sun.com/marcoscorner/entry/perl_solaris_10_opensolaris_and

What's in Cool Stack

Cool Stack is a collection of some commonly used open source applications, preconfigured and optimized to run best on Solaris.

Contents of Cool Stack 1.1
Package Name Description
CSKamp This package includes Apache2, MySQL5 and PHP5 built to work together. The MySQL included in this package is a 32-bit version with client-side support to work with PHP.
CSKmysql This package includes a 64bit version of MySQL5 and is built with innodb.
CSKperl This package includes Perl 5. Note that Solaris 10 ships with the same version of Perl. However, in addition to being better optimized, CSKperl includes several perl extensions.
CSKtds, CSKncurses, CSKphplibs These packages are optional libraries required if you plan to use the corresponding PHP extensions.
CSKmemcached This package includes memcached, a distributed object cache system.
CSKruby This package includes ruby, rubygems and rails.
CSKsquid This package includes Squid Web Proxy Cache
CSKtomcat This package includes Apache Tomcat which is a pure Java application. It is provided for convenience as it is no different from the one on tomcat.apache.org.

The above top-level packages can be further broken down into the following individual open-source sub-components.

Sub-componentDescriptionLicense(s)
imap-2006c1University of Washigton IMAP toolkit
http://www.washington.edu/imap/
Apache v2.0
libiconv-1.9.2Unicode transcoder library
http://www.gnu.org/software/libiconv
LGPL
libxml2-2.6.27XML C parser and toolkit developed for the Gnome project
http://xmlsoft.org/
MIT
mysql-5.0.33.32bit32-bit MySQL server
http://www.mysql.com/
MySQL Legal
curl-7.14.0Client-side URL transfer library for PHP
http://curl.haxx.se/libcurl/php/
Modified BSD
License mixing
gettext-0.16GNU i18n library
http://www.gnu.org/software/gettext/
GPL/LGPL/FDL
ncurses-5.5GNU library to write text user interfaces
http://www.gnu.org/software/ncurses/
MIT
GPLv2
freetype-2.2.1Font engine
http://savannah.nongnu.org/projects/freetype/
FreeType
GPLv2
gd-2.0.33C Library that provides an API for dynamic creation of images. Wrappers available for Perl, PHP etc
http://www.libgd.org/Main_Page
gdbm-1.8.3GNU database library
http://www.gnu.org/software/gdbm/
GPLv2
gmp-4.2.1A free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers
http://gmplib.org/
GPL/LGPL
tidyHTML Tidy library
http://tidy.sourceforge.net/
W3C
freetds-0.64A set of libraries for Unix and Linux that allows programs to natively talk to Microsoft SQL Server and Sybase databases
http://www.freetds.org/
GPL/LGPL
cyrus-sasl-2.1.22Generic library for easy integration of secure network authentication to any client or server application
http://freshmeat.net/projects/cyrussasl/
BSD
openldap-2.3.30Open source implementation of the Lightweight Directory Access Protocol
http://www.openldap.org/
License
httpd-2.2.3Apache HTTP Server
http://httpd.apache.org
Apache v2.0
php-5.2.0PHP
http://www.php.net
PHP v3.01
APC-3.0.14Alternative PHP Cache
http://pecl.php.net/package/APC/3.0.14
PHP v3.01
mod_perl-2.0.2A persistent Perl interpreter that can be embedded in Apache web server
http://perl.apache.org/
Apache
suhosin-0.9.16Protects servers and users from known and unknown flaws in PHP applications and the PHP core.
http://www.hardened-php.net/suhosin.127.html
PHP v3.01
libevent-1.2aAsynchronous event notification library
http://www.monkey.org/~provos/libevent/
BSD
GPL also?
memcached-1.2.0A high-performance, distributed memory object caching system, intended for use in speeding up dynamic web applications by alleviating database load
http://www.danga.com/memcached/
BSD?
ruby-1.8.5Dynamic open source programming language
http://www.ruby-lang.org/en/
Ruby
rubygems-0.9.0Ruby packaging system. It provides a standard format for destributing Ruby programs and libraries, an easy to use tool for managing the installation of gem packages and a gem server utility for serving gems from any machine where RubyGems is installed.
http://rubygems.org/
rails
squidCaching proxy for the web
http://www.squid-cache.org/
GPL
mysql-5.0.33.64bit64-bit MySQL server
http://www.mysql.com/
MySQL Legal
perl-5.8.8
http://www.perl.com/
Artistic


Sub-component Dependencies

The following table attempts to capture the interdependencies between the individual components that comprise the CoolStack. (Need to verify the dependency information against what is checked into the CoolStack source tree. This initial list was compiled by looking at build_coolstack.sh and http://www.sunfreeware.com)

NameDepends on
APCphp
curlopenssl zlib
cyrus-sasl
freetds
freetypezlib
gdexpat fontconfig freetype jpeg libiconv libpng xpm
gdbmNone
gmp
gettextexpat libiconv
httpdexpat libiconv zlib
imapopenssl
libevent
libiconv
libxml2libiconv zlib
memcachedlibevent
mod_perlhttpd perl
mysqlncurses openssl zlib
mysql64bit
ncursesNone
openldapdb cyrus-sasl libiconv openssl
perl
phplibiconv libxml2 zlib
railsruby rubygems
rubygdbm libiconv ncurses openssl readline tcl tk zlib
rubygemsruby
squid
suhosinphp
tidy

Web Stack File Layout Proposal

Apache 2.2.4 File Layout with MPM support