This section discusses the file layout of Web Stack components.
The easy user interface provided from the Launch menu for rapid and easy-to-learn web application development is intended for development purposes. It is not recommended to run mission critical web sites without customizing and tuning of the components for performance, scalability, and security. When you have developed a working application, it is recommended to transfer the data from the database and PHP files from your development machine to a production-quality installation that has been carefully tuned to your mission critical needs.
You can access these components from the Launch menu of the Solaris platform. From the Launch menu, select All Applications > Developer Tools > Web Stack Admin.
Alternatively, the web stack tools can be accessed from the installation path described in the following sections.
The following list describes the file structure for Apache Web Server:
The string [version] should be expanded to "MAJOR.MINOR". For example, /usr/apache2/2.2/*.
Contains server configuration files. A newly-installed server contains a default httpd.conf file. This is the main configuration file.
Contains additional server configuration files.
By default, server will load all the .conf files placed under this directory. It also has 2 additional .load configuration files-modules-32.load and modules-64.load which contain LoadModule directives for loading the 32 and 64-bit bundled apache modules respectively. All the .conf files in this directory are included by the following line in httpd.conf:
Include /etc/apache2/2.2/conf.d/*.conf. You can add the additional configuration here.
Contains the environment settings that the server uses at startup.
When the /usr is mounted as read-only, you will not be able to modify the envvars file present in the following path /usr/apache2/[version]/envvars. To modify the environment settings you need to edit the envvars file present in the following path /etc/apache2/[version]/envvars.
Magic data for mod_mime_magic Apache module as documented in the
/usr/apache2/2.2/manual/mod/mod_mime_magic.html file. Editing this file is not recommended.
Default MIME types file. This file sets the default list of mappings from filename extensions to content types, changing this file is not recommended. Use the AddType directive instead.
Contents under this directory are delivered as-is from the apache distribution and these files are not meant to be read by the server.
Contains sample .conf files. These are not included in the main configuration file. To use the sample file, copy the file to conf.d directory and modify as per the need.
Contains the 32-bit httpd (Pre-fork MPM) and httpd.worker (Worker MPM) executables as well as other utility programs.
Contains the 64-bit httpd (Prefork MPM) and httpd.worker (Worker MPM) executables as well as other utility programs.
Contains the Apache manual in HTML format.
Contains the Apache header files, which are needed for building various optional server extensions with apxs(8).
Contains 32-bit loadable modules (DSOs) supplied with the server.
Contains 64-bit loadable modules (DSOs) supplied with the server.
Contains man pages for the server, utility programs, and mod_perl.
Add this directory to your MANPATH to read the Apache man pages.
Contains the 32-bit apache2 core libraries.
Contains the 64-bit Apache 2 core libraries.
Contains the 32-bit modules and library files used by the mod_perl extension to Apache.
Default location for the CGI scripts.
This can be changed by altering the httpd.conf file and restarting the server.
Default document root.
This can be changed by altering the httpd.conf file and restarting the server.
Icons used by the server.
This should not be changed.
Place holder for 32-bit user apache modules.
Any 32-bit modules which are added using apxs(8) are copied into this directory.
Place holder for 64-bit user Apache 2 modules.
Any 64-bit modules which are added using apxs(8) are copied into this directory.
Contains server log files.
The formats, names, and locations of the files in this directory can be altered by various configuration directives in the httpd.conf file.
Directory used to cache pages if the caching feature of mod_proxy is enabled in the httpd.conf file.
The location of the cache can also be changed by changing the proxy configuration in the httpd.conf file.
Modules mod_fcgid, mod_jk,mod_security, and mod_dtrace are integrated to Apache 2. For more information about these modules, see http://fastcgi.coremail.cn/doc.htm, http://tomcat.apache.org/connectors-doc/generic_howto/quick.html, http://www.modsecurity.org/documentation/index.html, and http://prefetch.net/projects/apache_modtrace/mod_dtrace.c
The MySQL 5.0.45 software for Solaris is installed into a number of subdirectories of /usr/mysql/5.0. Symbolic links are created from all directories under /usr/mysql/5.0 to /usr/mysql directories so that latest version of MySQL can also be accessed from /usr/mysql.
Contains the binaries and scripts.
Contains the libraries for the client API.
Contains the header files for the client API.
Manual pages for client programs.
Manual pages for server programs.
Shared data: locale, time zone
Contains HTML documentation.
Contains MySQL test programs.
SQL benchmark test
Contains internationalization (I18N) files, sample configuration files, and utility scripts.
Default database data directory.
Contains the MySQL configuration file.
Client executable.
Server executable.
The following list describes the file structure for PHP:
Contains the PHP configuration executables.
Contains PHP library files.
Contains PHP modules for PHP extensions.
Contains the PHP module for Apache 2 (32-bit) prefork MPM and the module name is mod_php5.so. This module is delivered as part of SUNWapch22m-php5 package.
Contains the default configuration file (php.ini).
Contains extension specific INI files for each PHP extension . Here, you can enable or disable various extensions that are integrated with the package.
The PHP extensions like APC, DTrace, XDebug, suhosin, andtcpwrap are disabled by default. To enable these extensions, you need to uncomment the respective line (extensions=<module-name>.so) in the conf.d file.
The following list describes the file structure for the PostgreSQL database:
Contains the PostgreSQL executables.
Contains a sample database.
Contains the JDBC drivers for PostgreSQL.
Contains library files for OpenSolaris.
Contains the man pages for the commands.
The following list describes the file structure for Ruby:
Contains the Rubygems repository. Configure the GEM_HOME environment variable to point to /var/ruby/1.8/gem_home to use this installation of Rubygems.
Contains the Ruby executable as well as other utility programs, and Rubygems programs. These programs are linked from /usr/bin. For example: /usr/ruby/1.8/bin/ruby is linked from /usr/bin/ruby1.8, and may be linked from /usr/bin/ruby if 1.8 is the latest version of Ruby installed on this system.
The following list describes the file structure for Squid:
Contains the executable for the Squid client and to run the cache.
Contains the libraries.
The main configuration file. Modify this file for Squid to work.