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.
| 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-component | Description | License(s) |
|---|---|---|
imap-2006c1 | University of Washigton IMAP toolkit http://www.washington.edu/imap/ | Apache v2.0 |
libiconv-1.9.2 | Unicode transcoder library http://www.gnu.org/software/libiconv | LGPL |
libxml2-2.6.27 | XML C parser and toolkit developed for the Gnome project http://xmlsoft.org/ | MIT |
mysql-5.0.33.32bit | 32-bit MySQL server http://www.mysql.com/ | MySQL Legal |
curl-7.14.0 | Client-side URL transfer library for PHP http://curl.haxx.se/libcurl/php/ | Modified BSD License mixing |
gettext-0.16 | GNU i18n library http://www.gnu.org/software/gettext/ | GPL/LGPL/FDL |
ncurses-5.5 | GNU library to write text user interfaces http://www.gnu.org/software/ncurses/ | MIT GPLv2 |
freetype-2.2.1 | Font engine http://savannah.nongnu.org/projects/freetype/ | FreeType GPLv2 |
gd-2.0.33 | C 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.3 | GNU database library http://www.gnu.org/software/gdbm/ | GPLv2 |
gmp-4.2.1 | A free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers http://gmplib.org/ | GPL/LGPL |
tidy | HTML Tidy library http://tidy.sourceforge.net/ | W3C |
freetds-0.64 | A 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.22 | Generic library for easy integration of secure network authentication to any client or server application http://freshmeat.net/projects/cyrussasl/ | BSD |
openldap-2.3.30 | Open source implementation of the Lightweight Directory Access Protocol http://www.openldap.org/ | License |
httpd-2.2.3 | Apache HTTP Server http://httpd.apache.org | Apache v2.0 |
php-5.2.0 | PHP http://www.php.net | PHP v3.01 |
APC-3.0.14 | Alternative PHP Cache http://pecl.php.net/package/APC/3.0.14 | PHP v3.01 |
mod_perl-2.0.2 | A persistent Perl interpreter that can be embedded in Apache web server http://perl.apache.org/ | Apache |
suhosin-0.9.16 | Protects 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.2a | Asynchronous event notification library http://www.monkey.org/~provos/libevent/ | BSD GPL also? |
memcached-1.2.0 | A 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.5 | Dynamic open source programming language http://www.ruby-lang.org/en/ | Ruby |
rubygems-0.9.0 | Ruby 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
| ||
squid | Caching proxy for the web http://www.squid-cache.org/ | GPL |
mysql-5.0.33.64bit | 64-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)
| Name | Depends on |
|---|---|
APC | php |
curl | openssl zlib |
cyrus-sasl | |
freetds | |
freetype | zlib |
gd | expat fontconfig freetype jpeg libiconv libpng xpm |
gdbm | None |
gmp | |
gettext | expat libiconv |
httpd | expat libiconv zlib |
imap | openssl |
libevent | |
libiconv | |
libxml2 | libiconv zlib |
memcached | libevent |
mod_perl | httpd perl |
mysql | ncurses openssl zlib |
mysql64bit | |
ncurses | None |
openldap | db cyrus-sasl libiconv openssl |
perl | |
php | libiconv libxml2 zlib |
rails | ruby rubygems |
ruby | gdbm libiconv ncurses openssl readline tcl tk zlib |
rubygems | ruby |
squid | |
suhosin | php |
tidy |
Web Stack File Layout Proposal
Apache 2.2.4 File Layout with MPM support
