|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright Acknowledgement | |||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Organizational enterprise is being challenged to utilize the Apache Web Server to streamline costs, lessen dependency on commercial software, and improve performance. Apache Web Server is available free for download and installation. It is HTTP/1.1 compliant and there are Apache modules for incorporating additional web server functionality. Apache Web Server open source code provides the capability to adjust and optimize code, fix errors, and tailor security. Apache Web Server can be installed and run on a variety of base operating systems:
The Apache Web Server provides CGI, SSL, virtual domains and a comprehensive featureset. Configuration files are in ASCII, have a simple format, and can be edited with a text editor. Servers are managed from the command line; this facilitates both cloning and remote administration. Apache Web Server on a Linux Base Operating System Most Linux distributions have Apache Web Server bundled with the installation image; it is pre-configured and ready to run. Manual installation and configuration problems are resolved through web forums and voluntary documentation. Apache Web Server makes extensive use of command-line prompts and UNIX command sets. There are no setup wizards. Apache Web Server 2.4 has been upgraded to work in high traffic environments; there can be inefficiencies associated with scaling to meet different volume requirements. The mod_status module can be used on the Apache Web Server system to monitor:
The status module can be set to an extended mode for displaying additional information:
Apache Web Server is preconfigured with a selection of MPM: Multi-Processing Modules for binding to network ports on the machine, accepting requests, and dispatching children to handle the requests. Linux supports Apache Web Server with both threaded and non-threaded MPM. Worker MPM utilizes multi-threaded child processes. Multi-threading occurs within child processes; each thread handles a single connection. Worker is efficient with a small memory footprint which scales well. It is well suited for multiple processors. Limitations include managing faulty modules and the cascading impact from a thread to all the threads in a child process. Prefork MPM uses multiple child processes; each child handles one connection at a time. Prefork is well suited for single or double CPU systems, the processing efficiency will be comparable to the Worker MPM and fault tolerance is provided. However, the memory usage is high and this issue becomes more pronounced with increased traffic.
The client utilizes Apache and Tomcat in a IBM z/OS mainframe and WebSphere web server operating environment. Open source Apache and Tomcat provide an application server for supporting lighter-weight applications. However, there needs to be subject matter specific to the configuration and management of large scale Apache and Tomcat deployments. Apache Web Server functionality and services such as security, EJB, messaging, and web services also will need to be compared to IBM WAS CE. The walkthroughs and exercises demonstrate and teach the Apache Web Server facilities.
Scripting and Application Development There will be issues in coding scripts and developing applications with Apache Web Server. The increased use of handheld smartphone and tablets has been driving specialized changes to web sites. Mobile web browsers require different HTML and CSS presentation to accommodate the smaller screens used on handheld devices. Web redirect instructions can be used with CSS styles, web server URL rewriting, or a web programming language to detect the browser making the request and then return an alternate web page with a design specific to that application and device. The Apache module mod_rewrite processes web server directives which can apply to all websites on a web server, websites by domain, or pages that match a search pattern. The directives can be modified based on search patterns found in the browser user agent string which identifies the browser for an incoming request. Cascading style sheets can be used to alter the presentation of a web page based upon detection of components from the incoming browser request. The "@media" CSS query returns a style based upon browser conditions associated with a property of the device that is viewing the site. JavaScript accesses information in the user agent string by referring to objects in the DOM: Document Object Model. The Screen object contains information about the hardware device, while the Navigator object contains information about the browser. Open source content management systems and blogging software have been developed to integrate and interoperate with Apache Web Server. It also is a component in the LAMP technology stack: Linux, Apache, ySQL, and PHP/Python/Perl. LAMP to WAMP can be utilized to interoperate with the Microsoft Corporation scripting platform.
Controlling File Transmission Three variables are used in Apache Web Server for controlling file transmission. The maximum upload size is limited by the "upload_max_filesize" variable; it is set to two megabytes by default. The maximum upload file size also is governed by the Apache Web Server's "memory_limit" and "post_max_size" variables.
Flushing the Cache In addition to connection settings information, Apache Web Server upload limits and other connection settings are stored on the server in a file named php.ini. The file specifies values for all three variables associated with upload limits; Php.ini typically is located in the /user/local/etc folder.
Apache Web Server uses a series of directories to cache files created and used by an application. The storage of temporary cache files reduces the frequency and resources used by a program for requesting data. As the cache becomes full, there will be a degradation of Apache Web Server operation and efficiency. Flushing caches can be used to improve performance.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
SYS-ED warrants no copyright or ownership of the software that it provides training on.