Migrating SunONE Web Server To Apache HTTPD Server
This article describes how to migrate from the SunONE Web server to the Apache HTTPD server. This can be relatively simple and will depend on the complexity of your SunONE implementation. Most all of the web server specific features available in SunONE have counterprarts in the Apache HTTPD server environment.
Note: Please note that UNIX file system is assumed throughout this document.
Migration Planning
You will need to plan to collect and migrate the following information from your SunONE environment (most of the information required is specified in the SunONE server.xml file):
- Virtual servers
- Listen sockets
- Custom response files
- Additional document directories
- CGI directories
- Any custom server side content
- SSL Server certificates cannot be migrated
- ACLs cannot be migrated
- Java web applications cannot be migrated to Apache HTTPD
Configuration Files
Configuration operations for the Apache HTTPD server require editing the configuration files with a text editor and applying the appropriate configuration directives. There is no administration GUI for Apache HTTPD.
SunONE web server configuration files
- magnus.conf – Server wide application level settings
- obj.conf – Server wide NSAPI application configuration settings
- server.xml – Virtaul server configuration parameters, listen sockets, Java settings
Apache HTTPD configuration files
- conf/httpd.conf - All of the server level (global) and non-SSL related configuration directives
- conf/ssl.conf (v2.0.x) - All of the SSL related directives for SSL virtual hosts
- conf/extra/* (v2.2.x) - In v2.2.x feature specific configurations files were created and referenced in the conf/httpd.conf. This made it a little easier to enable/disable specific functionality
Virtual Web Servers
Both SunONE and Apache HTTPD support the configurations of SSL and non-SSL virtual web servers. The SunONE virtual server information is represented in the server.xml file and this information can be used to implement the virtual server configurations in the Apache configuration file (httpd.conf or other).
Virtual Server Classes
SunONE web server provides the capability to group virtual servers such that all virtual servers in a class can use the same obj.conf configuration file and the same listen socket.
Apache HTTPD does not have any direct implementation of virtual server classes.
Listen Sockets
SunONE binds the HTTP/HTTPS listener to a “Listen Socket” which is configured as an IP-Address/Port pair and identified with a name that is referenced by virtual server classes.
Apache HTTPD provides the “Listen IP:port” configuration directive which binds the HTTP/HTTPS listener to a socket and is defined in the configuration file (httpd.conf or ssl.conf).
Listen Socket (SSL)
SunONE provides a special parameter to the listen socket element which specifies that the listen socket is configured for SSL encrytion. The confiruration parameter “security=true” conmfigures the listen socket for SSL.
Apache HTTPD uses configurations directives in the virtual server configuration to engage SSL encryption.
URLHost
SunONE uses the configuration directive “urlhosts=myserver.domain.com” to define the host header name for the virtual.
Apache HTTPD uses the “ServerName” directive to configure the URL host name of the virtual server.
DocRoot
SunONE uses the configuration directive “docroot=/var/www” to define the filesystem location that contains files served by the virtual server.
Apache HTTPD uses the “DocumentRoot /var/www” to define the filesystem location.
Example (Simplified) Virtual Server Configuration
This excerpt from a SunONE configuration (server.xml) file defines a listen socket on port=80 and a virtual server with a urlhost=myserver.domain.com and a docroot=/www/docs.
This exceprt from an Apache HTTPD configuration (httpd.conf) defines the same virtual server:
Listen 80
ServerName myserver.domain.com
DocumentRoot /www/docs
SSL Encryption
The SunONE SSL Server certificate, CA Certificate and other encryption configuration information are incompatible with Apache HTTPD and cannot be directly migrated. You should expect to obtain new SSL server certificates for all of your SunONE SSL servers.
Content Repositories
SunONE and Apache HTTPD both provide several configuration options and capabilities for defining content repositories in the web server implementation.
Document Root Directory
SunONE web server provides the ability to specify the main content repository for the entire web service or each virtual web server.
Apache HTTPD provides the “DocumentRoot /www/docs” configuration directive which can be global to the web service or specified in the “” container.
Additional Document Directories
SunONE web server provides the ability to specify content directories which are outside of the docroot directory with an assigned URL.
Apache HTTPD provides the “Alias /foo /home/www/foo” configuration directives.
User Directories
SunONE web server provides the ability to specify user owned content repositories.
Apache HTTPD provides the “UserDir public_html” directive to allow users to place content in their “public_html” directory and reference the content using the “~user/mypage.html” URL.
Program Directories
SunOne web server provides the ability to specify filesystem directories where program scripts are allowed to be located and run. You can have a single “cgi-bin” directoty or othere directories where program handlers run scripts.
Apache HTTPD provides the “ScriptAlias /cgi-bin /var/www/cgi” directive to assign CGI runnable status to objects in a directory. Apache also provides the “Option +ExecCGI” directive which can be used in any “” container to allow CGI programs to execute.
Java Web Applications
The SunONE Web Server directly implements support for Java Servlets and Java Server Pages however the Apache HTTPD is a web server only and does not provide any direct support for Java web applications.
If you have Java web applications you will need to independently migrate the Java applications to a suitable Java/J2EE container such as Tomcat, JBoss or WebSphere. Apache HTTPD does provide mechanisms for connecting Java web application client requests to Tomcat or JBoss
Migrating SunONE Web Server To Apache HTTPD Server, Migrating SunONE Web Server To Apache HTTPD Server