Session 14 - Server-Side: HTTP and Apache Web Server Configuration

Harvard Extension School   Fall 2021

Course Web Site: https://cscie12.dce.harvard.edu/

  • Webpage and Website Optimization
  • Web Browser and Web Server
  • HyperText Transfer Protocol
  • Apache HTTP Server
  • Caching - Don't deliver content unnecessarily
  • Typical Expiration / Cache Directives for Websites
  • Minify and Compress Content
  • Friendly Errors
  • Friendly Ways to Get There
  • HTTP Cookies
  • Search Engines and Optimization
  • HTML5 Boilerplate

Session 14 - Server-Side: HTTP and Apache Web Server Configuration, slide1 Webpage and Website Optimization, slide2 Web Browser and Web Server, slide3 Domain Name System, slide4 Domain Names: Top Level Domains (TLD), slide5 Getting Your Own Domain and Hosting, slide6 Web Server Software, slide7 HyperText Transfer Protocol, slide8 HTTP Overview, slide9 Looking at HTTP Under the Hood, slide10 HTTP Header: Host, slide11 HTTP/2, slide12 Apache HTTP Server, slide13 Apache Configuration Overview, slide14 Scope of .htaccess files, slide15 Problems You Will Have with .htaccess files, slide16 500 Internal Server Error, slide17 Problems You will encounter when using .htaccess files (Internal Server Error 500), slide18 Problems You will encounter when using .htaccess files (Can't see the .htaccess file), slide19 Apache Configuration Sections, slide20 Caching - Don't deliver content unnecessarily, slide21 Caching Related Headers, slide22 If-Modified-Since, slide23 Expires HTTP Header, slide24 Do not cache, slide25 Typical Expiration / Cache Directives for Websites, slide26 Minify and Compress Content, slide27 Compress Content, slide28 Does Compressing Help?, slide29 Friendly Errors, slide30 Custom Error Documents, slide31 Friendly Ways to Get There, slide32 HTTP Redirect, slide33 Redirect, slide34 Rewrite, slide35 Example - Make Simple Links Instead of Complex Ones, slide36 Example: Create Links that can always point to the correct place, slide37 URL Shortener Services, slide38 My Example Project - .htaccess setting to improve Webpagetest scores!, slide39 HTTP Cookies, slide40 Cookie Example, slide41 Cookies and Session IDs, slide42 Cookies and JavaScript, slide43 Search Engines and Optimization, slide44 Search Robots, Crawlers, Spiders, slide45 robots.txt and Examples, slide46 Robots meta element in markup, slide47 Content: meta tags, slide48 HTML5 Boilerplate, slide49

Presentation contains 49 slides

Guru99

Apache Tutorials for Beginners

Alyssa Walker

What is Apache?

Apache is a remarkable piece of application software. It is the most widely used Web Server application in the world with more than 50% share in the commercial web server market. Apache is the most widely used Web Server application in Unix-like operating systems but can be used on almost all platforms such as Windows, OS X, OS/2, etc. The word, Apache, has been taken from the name of the Native American tribe ‘Apache’, famous for its skills in warfare and strategy making.

It is a modular, process-based web server application that creates a new thread with each simultaneous connection. It supports a number of features; many of them are compiled as separate modules and extend its core functionality, and can provide everything from server side programming language support to authentication mechanism. Virtual hosting is one such feature that allows a single Apache Web Server to serve a number of different websites.

Apache

How to install Apache

There are numerous ways of installing the package or application. There are enlisted below –

  • One of the features of this open source web application is that anyone can make installer as per their own environment. This has allowed various vendors like Debian, Red Hat, FreeBSD, Suse etc. to customize the file location and configuration of apache taking into account other installed applications and base OS.
  • Apart from installing it from a vendor based installer, there is always the option of building and installing it from the source code. Installing Apache from source file is a platform independent & works for all OS.

The apache web server is a modular application where the administrator can choose the required functionality and install different modules as per his/her requirement.

All modules can be compiled as a Dynamic Shared Objects (DSO is an object file that could be shared by multiple apps while they are executing) that exists separately from the main apache file. The DSO approach is highly recommended, it makes the task of adding/removing/updating modules from the servers configuration very simple.

Install Apache:Linux Platform

On Red Hat or rpm based systems

If you are using an rpm (RedHat Package Manager is a utility for installing application on Linux systems) based Linux distribution i.e. Red Hat, Fedora, CentOs, Suse, you can install this application by either vendor specific Package Manager or directly building the rpm file from the available source tarball.

You can install Apache via the default Package Manager available on all Red Hat based distributions like CentOs, Red Hat and Fedora.

The apache source tarball could be converted into an rpm file using the following command.

It is mandatory to have -devel package installed on your server for creating .rpm file from source.

Once you convert the source file into an rpm installer, you could use the following command to install Apache.

After the installation the server does not start automatically, in order to start the service, you have to use any of the following command on Fedora, CentOs or Red Hat.

Install Apache from Source

Installing apache from the source require the –devel package to be installed on your server. .You can find the latest available version of Apache, you can download it here . Once you download the source file move it to the /usr/local/src folder.

In order to see all configuration option available for Apache, you can use ./configure –help option. The most common configuration option is –prefix={install directory name}.

The above example shows the compilation of Apache within the /usr/local/apache directory with the DSO capability. The –enable-so option, can load required modules to apache at run time via the DSO mechanism rather than requiring a recompilation.

Once the installation completes, you can browse the web servers default page with your favorite browser. If firewall is enabled on your server, you must have to make exception for port 80 on your OS firewall. You can use the following command to open port 80.

service iptables save

You can see the default Apache2 Welcome screen by browsing your server IP address.

Install Apache from Source

What is Virtual Host?

An Apache web server can host multiple websites on the SAME server. You do not need separate server machine and apache software for each website. This can achieved using the concept of Virtual Host or VHost.

Any domain that you want to host on your web server will have a separate entry in apache configuration file.

Virtual Host

Types of Apache Virtualhost

  • Name-based Virtual host
  • Address-based or IP based virtual host and.

Name-based Virtual Host

Name based virtual hosting is used to host multiple virtual sites on a single IP address.

Name-based Virtual Host

In order to configure name based virtual hosting, you have to set the IP address on which you are going to receive the Apache requests for all the desired websites. You can do this by NameVirutalHost directive within the apache configuration i.e. httpd.conf/apache2.conf file.

Apache virtual host Example:

You can add as many virtual hosts, as per your requirement. You can check your web configuration files with:

If the configuration file has some wrong syntax, it will throw an error

IP-based Virtual host

In order to setup IP based virtual hosting, you need more than one IP address configured on your server. So, the number of vhost apache will depend onnumber of IP address configured on your server. If your server has 10 IP addresses, you can create 10 IP based virtual hosts.

IP-based Virtual host

In the above diagram two websites example1.com and example2.com were assigned different IPs and are using IP-based virtual hosting.

What Apache needs to Run Php File?

Running Php files on Apache needs mod_php enabled on your server. It allows Apache to interpret .Php files. It has Php handlers that interpret the Php code in apache and send HTML to your web server.

If mod_php is enabled on your server, you will have a file named php.conf in /etc/httpd/conf.d/ directory. You can also check it with:

The output will be similar to:

What Apache needs to Run Php File

Php handlers in Apache

mod_php is the oldest PHP handler, it makes PHP part of apache and does not call any external PHP process. This module is installed by default in every Linux distribution repository, so enabling/disabling this module is very easy.

If you are using FastCGI as your PHP handler, you can set multiple versions of PHP to be used by different accounts on your server.

FastCGI i.e. mod_fastcgi is an extension of mod_fcgid , where as mod_fcgid is a high performance alternative of CGI i.e. mod_cgi . It starts sufficient number of instances of CGI to handle concurrent web requests. It also uses suexec to support different users with their own instances of PHP and improves web security.

Running ruby files on Apache needs mod_ruby to be enabled. Apache can also handle ruby files through FastCGI. It is possible to use multiple version of ruby with the help of mod_fcgid i.e. FastCGI.

You can also install apache passenger and configure Apache to use it for serving ruby pages.

(Phusion Passenger also known as “ passenger ” is a free web server module that is designed to integrate with Apache and Nginx )

Steps to install mod_ruby on your server –

How to run Ruby with Apache

We have to add the mod_ruby module to the Apache configuration i.e. /etc/httpd/conf.d/ruby.conf and add the following line.

LoadModule ruby_module modules/mod_ruby.so

If you like to enable or disable these modules, you have to edit the apache configuration file and comment or uncomment these modules, if the web server is already compiled with these modules.

Run Ruby with Apache

How to Secure Apache Web Server

Securing your web server is very important, it means allowing others to see only the intended information & protecting your data and restricting access.

These are common things that enhance your Apache web servers’ security.

1) Hiding Apache version and OS information:

Apache displays its version and the name of the operating system in errors as shown in below screenshot.

Hiding Apache version and OS Information

A hacker can use this information to launch an attack using the publicly available vulnerabilities in the particular version of the server or OS.

In order to prevent Apache webserverfromdisplaying this information, we have to modify

“server signature” option available in the apache configuration file. By default, it is “on”, we need to set it “off”.

We have also set “ServerTokens Prod” that tells the web server to return only apache and suppress the OS major and minor version

After modifying the configuration file, you have to restart/reload your apache web server to make it effective.

Hiding Apache version and OS Information

2) Disable Directory Listing

If your document root directory does not have an index file, by default your apache web server will show all the content of the document root directory.

Disable Directory Listing

This feature could be turn off for a specific directory through “options directive” available in the Apache configuration file.

Disable Directory Listing

3) Disabling unnecessary modules

It is good practice to disable all unnecessary modules that are not in use. You can see list of enabled module available in your apache configuration file –

Many of the listed modules can be disabled likemod_imap, mod_include, mod_info, mod_userdir, mod_autoindex, as they are hardly used by any production web servers.

Once you commented the module, save the file.

Restart apache services with following command.

4) Restricting Access to files outside the web root directory

If you like to make sure that files that is outside the web root directory are not accessible, you have to make sure that the directory is restricted with “Allow” and “Deny option” in your web server configuration file.

Once you restrict acess outside the web root directoy, you will not be able to access any file located on any other folder on your web server, you will get 404 return code.

Restricting Access to Files outside the Web Root Directory

5) Using mod_evasive to rebutting the DoS attack

If you like to protect your web server from Dos (i.e. Denial of Service) you must enable the module mod_evasive. It is a third party module that detects Dos attack and prevents the attack from doing as much damage as it would do if left to run its course. It could be downloaded here.

Download the above File

6) Using mod_security to enhance apache security

This module works as a firewall for Apache and allows you to monitor traffic in real time. It also prevents the web server from brute force attacks. The mod_security module could be installed with the default package manager of your distribution.

Using mod_security to Enhance Apache Security

7) Limiting request size

Apache does not have any restriction on the total size of the http request that could lead to a DoS attack. You can limit the request size of an Apache directive “LimitRequestBody” with the directory tag. The value could be set anything from 0 to 2 GB (i.e. 2147483647 bytes) as per your requirement.

Apache Log Format

Apache logs provide detailed information that help to detect common issues with server.

In order create access logs, mod_log_configmodule must be enabled.

Three directives available in apache config file i.e.

  • TransferLog: Creating a log file.
  • LogFormat : Specifying a custom format.
  • CustomLog : Creating and formatting a log file.

TransferLog directive is available in the apache configuration file and it rotates virtual host log files as per set parameters.

Two types of Apache Log Format

Common log format.

  • Combined Log Format.

You can enable them by editing the apache configuration file i.e. apache2.conf (Debian/ubuntu) or httpd.conf (rpm based systems) file

Common Log generated by Apache

Combined Log Format

  • %h is the remote host
  • %l is the identity of the user determined by identd
  • %u is the user name determined by HTTP authentication
  • %t is the time the server finished processing the request.
  • %r is the request line from the client. (“GET / HTTP/1.0”)
  • %>s is the status code sent from the server to the client (500, 404 etc.)
  • %b is the size of the response to the client (in bytes)
  • Referer is the page that linked to this URL.
  • User-agent is the browser identification string.

Combined Log generated by Apache:

Custom Log creates separate log file for each Virtual Host on your server. It needs to be specified in the virtual host section of the config file.

You can see below mentioned virtual host configuration, generated log will be custom for that virtual host and the format will be combined.

Combined Log Generated by Apache

Configure your very first Production Web Sever

1. In order to have a running production web server, you need a dedicated node (Physical/Virtual or cloud instance) running Linux/Unix, Windows, MacOS etc.

2. The Web Server must have a direct network connection and a staticIP address configured on it.

3. It needs to have all the modules required for running web pages. If a web server processes PHP pages, it needs to have PHP module enabled.

Configure Production Web Sever

  • It also needs to have a good Antivirus application configured and running for securing the Web Server from Malware or Virus attacks. You also need mechanism to update the configured antivirus/anti malware application on regular basis without any manual intervention in order to get maximum benefit from them.
  • If you have hundreds of domains to be hosted on your web server, you must have to implement limitations on file system quota for each domain, number of databases each domain can create, number of email accounts per domain etc.
  • If your web server has been setup for shared hosting services, users on your web server needs to be restricted . A shared hosting user should have least user privilege so that he does not damage important files & break the entire server. Apache does not provide any such functionality and needs different third party applications, customization of OS to achieve this.
  • If you are adding a new domain on your web server, it needs editing hundreds of configuration file to enable all features for the added domain.
  • If one of the hosted domains requires different PHP setting than rest of the domains, implementing this in core Apache web server is very complex and needs customization of your web server in great extent.
  • A production web server needs a firewall to block unwanted traffic that could cause high load on your server. Implementing IPTABLE rules with command line is very complex. It needs expertise of core Linux/Unix environment to write effective firewall rules for blocking unwanted traffic. IPTABLE is based on netfilter module; it is an OS level firewall that allows an administrator to create rules for incoming/outgoing traffic on the server.
  • A production web server requires several different applications like Email , FTP for file upload, Domain Name System for parked domains. Managing all these applications on a core Linux/Unix system requires expertise on the respective technologies.

So, one can say that managing a web server for multiple domains is very complex task and requires editing hundreds of configuration file, customizing each application to fulfill the desired result. Troubleshooting any miss configuration will be very difficult for beginners.

The Solution using Cpanel or similar software

Cpanel provide a graphical way of managing your web server . It is meant to provide mass hosting services that is easy to use and configure. cPanel has reduced the technical barriers to entry into the hosting and web server management. It makes complex task easier, it provides many useful and easy to use web interfaces that perform common system administration tasks required to operate a web server.

The Solution using Cpanel or Similar Software

cPanel compiles its own version of software.

If you have to recompile your web server i.e. apache on normal Linux platform, you have to manually select/search the module that is required. cPanel provides Easyapache functionality that is a script based web server compilation method.

The Solution using Cpanel or Similar Software

It not only provides you web services but also Mail, DNS, FTP and many more services that is required for your web application.

A task that needs expertise on core Linux/Unix based hosting like installing SSLs, recompiling Apache with different PHP modules, updating Web Security, configuring effective IPTABLE rules, Adding ftp users, creating mail accounts for each domain, scanning your document root with antivirus and creating databases are easy to complete with cPanel.

It provides a lot of scripts that fixes, install and troubleshoot common administrative tasks.

It provides a backup and restore functionality eliminating the need to manually copy files to backup storage. If you are backing up your domain, cPanel will create a tar file that will contain document root folder, email accounts and mails, ftp accounts, databases, DNS records and other applications.

It also provides a robust documentation, andhas a very big community of users where you could discuss and get solution of your issues.

So, one can say that cPanel is a best application for managing your web server with required features. It provides you, easy to use interface for managing your domain and a mechanism to avoid complexity of managing core Web Server.

There are many competing products to cPanel like Plesk, ISPConfig, Ajenti, Kloxo, Open Panel, Zpanel etc.

  • 10 Best FREE Website Hosting & Domain Sites (2024)
  • 15 Best FREE cPanel Alternatives (2024 Update)
  • 15 Best FREE Image Hosting Sites (Upload & Share) in 2024
  • 15 BEST Cheap Minecraft Server Hosting Providers (2024)
  • 9 Best Web Hosting in INDIA (Reviews for Jan 2024)
  • 10 BEST Web Hosting for Australia Websites (2024)
  • 10 Best Web Hosting CANADA (2024 Reviews)
  • Web Server vs Application Server – Difference Between Them

SaaS Log Analytics Platform

Monitor, troubleshoot and secure your apps

Troubleshooting and Monitoring

Monitor and troubleshoot issues fast—at scale.

Cloud Infrastructure Security

Quickly consolidate and identify risks and threats in your environment.

Compliance and Audit

Prove your data is safe and compliant across all cloud and on-site setups.

Accelerate your incident investigations with enhanced visibility.

Platform capabilities

  • APIs and integrations
  • Powered by AI/ML
  • OpenTelemetry collection
  • Platform security attestations
  • Observability
Our approach resulted in a doubling of our log ingestion at an ingest cost increase of only 10%, saving us around $1 million.”

Iwan Eising

Team Lead of Service Reliability Architecture

By observability use case

By security use case

By initiative

By competition

Sumo Logic ahead of the pack

Cyber attackers hit the jackpot

The SEC's new cybersecurity rules

Migrate from Splunk to Sumo

Click through interactive platform demos now.

Schedule a platform demo with a Sumo Logic expert.

May 8, 2019 By Jovan Hernandez

What is Apache? In-Depth Overview of Apache Web Server

What is apache web server.

Apache HTTP Server is a free and open-source web server that delivers web content through the internet. It is commonly referred to as Apache and after development, it quickly became the most popular HTTP client on the web. It’s widely thought that Apache gets its name from its development history and process of improvement through applied patches and modules but that was corrected back in 2000. It was revealed that the name originated from the respect of the Native American tribe for its resiliency and durability.

Now, before we get too in depth on Apache, we should first go over what a web application is and the standard architecture usually found in web apps.

Apache Web Application Architecture

Apache is just one component that is needed in a web application stack to deliver web content. One of the most common web application stacks involves LAMP, or Linux, Apache, MySQL, and PHP.

Linux is the operating system that handles the operations of the application. Apache is the web server that processes requests and serves web assets and content via HTTP. MySQL is the database that stores all your information in an easily queried format. PHP is the programming language that works with apache to help create dynamic web content.

While actual statistics may vary, it’s fair to say a large portion of web applications run on some form of the LAMP stack because it is easy to build and also free to use. For the most part, web applications tend to generally have similar architecture and structure even though they serve many different functions and purposes. Most web applications also benefit from Firewalls, Load Balancers, Web Servers, Content Delivery Networks, and Database Servers.

Firewalls help protect the web application from both external threats and internal vulnerabilities depending on where the firewalls are configured. Load Balancers help distribute traffic across the web servers which handle the HTTP(S) requests (this is where Apache comes in) and application servers (servers that handle the functionality and workload of the web app.) We also have Database Servers, which handle asset storage and backups. Depending on your infrastructure, your database and application can both live on the same server although it’s recommended to keep those separate.

Easily monitor and troubleshoot Apache web activity

Gain better insight into systems infrastructure, and your clients and customers' interactions with your website and applications.

Web Server Landscape

The internet is comprised of many different technologies and not all of them are the same. While Apache is arguably one of the most popular web servers out there on the net, there are many other players and the landscape is always changing. Back in the late 90s and early 2000s, Apache’s dominance was very strong, serving over 50% of the internet's active websites. Microsoft's IIS (Internet Information Services) was also an option but not nearly as popular.

Today, Apache still serves a large portion of the active websites but their share of the field has shrunk from 50% to just under 40% as of 2018 and NGINX , a relatively new player to the web server playing field, is in second place with roughly 35% and Microsoft IIS hovering around 8-10%. Every year there’s a new crop of web applications with new stacks and servers so the landscape is always changing.

Why Apache Web Servers?

Apache is considered open source software, which means the original source code is freely available for viewing and collaboration. Being open source has made Apache very popular with developers who have built and configured their own modules to apply specific functionality and improve on its core features. Apache has been around since 1995 and is responsible as a core technology that helped spur the initial growth of the internet in its infancy.

One of the pros of Apache is its ability to handle large amounts of traffic with minimal configuration. It scales with ease and with its modular functionality at its core, you can configure Apache to do what you want, how you want it. You can also remove unwanted modules to make Apache more lightweight and efficient.

Some of the most popular modules that can be added are SSL, Server Side Programming Support (PHP), and Load Balancing configs to handle large amounts of traffic. Apache can also be deployed on Linux, MacOS, and Windows. If you learn how to configure Apache on Linux, you can administer Apache on Windows and Mac. The only difference would be directory paths and installation processes.

Features of Apache Web Server

  • Handling of static files
  • Loadable dynamic modules
  • Auto-indexing
  • Compatible with IPv6
  • Supports HTTP/2
  • FTP connections
  • Gzip compression and decompression
  • Bandwidth throttling
  • Perl, PHP, Lua scripts
  • Load balancing
  • Session tracking
  • URL rewriting
  • Geolocation based on IP address

How does Apache Web Server Work?

Apache functions as a way to communicate over networks from client to server using the TCP/IP protocol. Apache can be used for a wide variety of protocols, but the most common is HTTP/S. HTTP/S or Hyper Text Transfer Protocol (S stands for Secure) is one of the main protocols on the web, and the one protocol Apache is most known for.

HTTP/S is used to define how messages are formatted and transmitted across the web, with instructions for browsers and servers on how to respond to various requests and commands. Hypertext Transfer Protocol Secure is usually through port 443 with the unsecured protocol being through port 80.

The Apache server is configured via config files in which modules are used to control its behavior. By default, Apache listens to the IP addresses configured in its config files that are being requested. This is where one of Apaches many strengths come into play.

With the Listen directive, Apache can accept and route specific traffic to certain ports and domains based on specific address-port combination requests. By default, Listen runs on port 80 but Apache can be bound to different ports for different domains, allowing for many different websites and domains to be hosted and a single server. You can have domain1.com listening on port 80, domain2.com on port 8080 and domain3.com on port 443 using HTTPS all on Apache.

Once a message reaches its destination or recipient, it sends a notice, or ACK message, basically giving acknowledgment to the original sender that their data has successfully arrived. If there’s an error in receiving data, or some packets were lost in transit, the destination host or client sends a Not Acknowledged, or NAK message, to inform the sender that the data needs to be retransmitted.

Who Uses Apache Web Server?

Apache HTTP web servers are used by over 67% of all web servers in the world. Apache web servers are easy to customize environments, they’re fast, reliable, and highly secure. This makes Apache web servers a common choice by best-in-class companies.

Alternatives for Apache HTTP Server

While Apache web servers are very popular, they’re not the only web servers on the market. Below are a number of alternatives for Apache HTTP servers.

  • Apache Tomcat
  • Microsoft IIS

Apache HTTP Server vs Tomcat

Simply put, Apache HTTP server is a web server designed to serve static web pages. Whereas, Apache Tomcat is an application server built to serve java applications. Web pages can still be served through Apache Tomcat, but it will be less efficient than using an Apache HTTP server.

Conclusion: Apache Web Server

Throughout the last few decades, Apache has proven to be a staple in many popular stacks and the backbone of the early internet year. While it’s popularity is declining and the options of web server choices are increasing, Apache still plays a pivotal role in many technology stacks and companies system infrastructure. Even with new technologies and servers coming out nonstop, Apache is still a technology every developer should learn how to handle and configure.

Sumo Logic helps you identify root issues, decrease downtime, increase availability, and improve overall system performance and user experience.

  • DevOps & IT Operations
  • Sumo Logic recognized as a Strong Performer in the 2022 Forrester Wave for Security Analytics Platforms

Sumo Logic cloud-native SaaS analytics

Build, run, and secure modern applications and cloud infrastructures.

Jovan Hernandez

Jovan is a Cloud Security Engineer at Blackboard Insurance by day and freelance technical writer and consultant by night. Beginning his career at Apple as a Genius, he eventually found his way to NYC where he's spent the last 5 years wearing many hats from systems administrator to consultant. Jovan is passionate about automation, operations efficiency, user security, and streamlined workflows. Outside of work, Jovan enjoys photography, cooking, and film analysis.

More posts by Jovan Hernandez .

People who read this also enjoyed

Why prometheus isn’t enough to monitor complex environments, how to monitor mysql performance metrics in minutes, five reasons why every cio should consider kubernetes, please check your inbox, [email protected]@[email protected], start your free trial today.

No credit card required. Up and running in minutes.

Already have an account? Login

You're in good company

More than 2,100 enterprises around the world rely on Sumo Logic to build, run, and secure their modern applications and cloud infrastructures.

apache web server presentation

Essentials ¶

  • Security Reports

Source Repositories ¶

  • General Information

Documentation ¶

  • Version 2.4
  • Trunk (dev)

Get Involved ¶

  • Mailing Lists
  • Bug Reports
  • Developer Info
  • User Support

Subprojects ¶

Related projects ¶.

  • Apache Traffic Server
  • Apache Traffic Control

Miscellaneous ¶

  • Contributors
  • Sponsorship

The Number One HTTP Server On The Internet ¶

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

The Apache HTTP Server ("httpd") was launched in 1995 and it has been the most popular web server on the Internet since April 1996. It has celebrated its 25th birthday as a project in February 2020.

The Apache HTTP Server is a project of The Apache Software Foundation .

Apache httpd 2.4.58 Released 2023-10-19 ¶

The Apache Software Foundation and the Apache HTTP Server Project are pleased to announce the release of version 2.4.58 of the Apache HTTP Server ("httpd").

This latest release from the 2.4.x stable branch represents the best available version of Apache HTTP Server.

Apache HTTP Server version 2. 4 .43 or newer is required in order to operate a TLS 1.3 web server with OpenSSL 1.1.1.

Download | ChangeLog for 2.4.58 | Complete ChangeLog for 2.4 | New Features in httpd 2.4

Apache httpd 2.2 End-of-Life 2018-01-01 ¶

As previously announced, the Apache HTTP Server Project has discontinued all development and patch review of the 2.2.x series of releases.

The Apache HTTP Server Project had long committed to provide maintenance releases of the 2.2.x flavor through June of 2017. The final release 2.2.34 was published in July 2017, and no further evaluation of bug reports or security risks will be considered or published for 2.2.x releases.

Want to try out the Apache HTTP Server? ¶

Great! We have updated our download page in an effort to better utilize our mirrors. We hope that by making it easier to use our mirrors, we will be able to provide a better download experience.

Please ensure that you verify your downloads using PGP or MD5 signatures.

Want to contribute to the Apache HTTP Server? ¶

Awesome! Have a look at our current 'Help Wanted' listings then:

Copyright © 1997-2023 The Apache Software Foundation. Apache HTTP Server, Apache, and the Apache feather logo are trademarks of The Apache Software Foundation.

Tomcat Home

Apache Tomcat ®

Support Apache

Presentations

Apache Tomcat ® features regularly at ApacheCon and other conferences. Copies of many of these presentations are freely available online. This page provides links to these presentations where known. If you are aware of additional presentations then please do let us know via the Tomcat Users mailing list .

Future Topics

The following suggestions have been received for future presentation topics. To add your idea to the list, e-mail the Tomcat users mailing list .

  • how to set up Tomcat so as to make upgrades easier
  • the relationship between Tomcat and the Java Servlet Specification
  • for sysadmins : how to set up Tomcat logging
  • tools and formulas for tuning Tomcat for specific load scenarios
  • when and how to generate heap dumps, and how to (roughly) interpret them

Community Over Code Asia 2023

  • Tomcat's technical insider and practice in the Himalayas - Rongxin Peng, slides , video (Chinese)
  • GraalVM static compilation in web container application - Zihao Rao, slides , video (Chinese)
  • How to participate in Tomcat community - Han Li, slides , video (Chinese)
  • Best Practices for Rapidly Locating Tomcat Issues Using APM Toolchain - Cheng Chen, slides , video (Chinese)
  • Securing Tomcat - Dennis Jacob, slides , video

ApacheCon North America 2022

We have videos from this event, but the audio is not good quality. We are working to see if we can improve the audio before posting the videos.

  • New and Upcoming - Rémy Maucherat, slides
  • HTTP/2, HTTP/3 and TLS State of the Art in our Servers - Jean-Frederic Clere, slides
  • Panama: A case study with OpenSSL and Tomcat - Rémy Maucherat, slides
  • Automating your Tomcat with Ansible - Coty Sutherland slides
  • Proxing to Tomcat with httpd - Jean-Frederic Clere, slides
  • Migrating from AJP to HTTP: It's About Time - Christopher Schultz, slides

ApacheCon Asia 2022

  • State of the Cat - Mark Thomas, slides , video
  • Design and implementation of application graceful shutdown based on Tomcat - Zihao Rao, slides , video (Chinese)
  • Extending Valves in Tomcat - Dennis Jacob, slides , video
  • The application practice of Tomcat in Kuaishou - Yang Song, slides , video (Chinese)
  • Jakarta EE - Mark Thomas, slides , video
  • How we use and optimize Tomcat at Alibaba - Huxing Zhang, slides , video

ApacheCon @Home 2021

  • New and Upcoming - Rémy Maucherat, video
  • HTTP/2, HTTP/3 and TLS State of the Art in our Servers - Jean-Frederic Clere, video
  • Enabling FIPS for Tomcat - Amit Pande, video
  • Proxing to Tomcat with httpd - Jean-Frederic Clere, video
  • Debugging complex issues in web applications - Mark Thomas, slides , video
  • From a Cluster to a Cloud - Jean-Frederic Clere, video
  • Enabling Scripting Languages in JSPs - Rony G. Flatscher, video

ApacheCon Asia 2021

  • Debugging complex issues in web applications - Mark Thomas, slides , audio , video
  • Using Alibaba Arthas for Tomcat Diagnostics - 泮圣伟, video (Chinese)
  • Mtop: Highly Concurrency and Highly Reliable API Gateway based on Tomcat - Xinwei Wu, video (Chinese)

ApacheCon @Home 2020

  • Lost in the Docs - Felix Schumacher, slides , video
  • Deploying a Production Instance - Andrew Carr, video
  • HTTP/2, HTTP/3, and SSL/TLS State of the Art in our Servers (httpd, Traffic Server, and Tomcat) - Jean-Frederic Clere, video
  • Split your Tomcat Installation for Easier Upgrades - Christopher Schultz, slides , video
  • Tomcat: New and Upcoming - Rémy Maucherat, video
  • Reverse-Proxying with nginx - Igal Sapir, video
  • Tomcat: From a Cluster to a Cloud - Jean-Frederic Clere, video
  • Migrating from AJP to HTTP: It's About Time - Christopher Schultz, slides , video
  • Tomcat 10 and Jakarta EE - Mark Thomas, video
  • Getting Started Hacking Tomcat - Christopher Schultz, slides , video
  • Apache Tomcat and Spring Boot - Andrew Carr, video
  • Openly Handling Security Vulnerabilities (Q&A/Panel) - Mark Thomas, Christopher Schultz, Coty Sutherland, slides , video

Webinar Series 2020

  • Tomcat 10 and Jakarta EE 9 - Mark Thomas, video

ApacheCon Europe 2019

  • State of the Cat - Mark Thomas, video
  • New and upcoming - Rémy Maucherat, slides , video
  • Apache Tomcat - lost in the docs - Felix Schumacher, slides , video
  • Apache Tomcat, your webapp and the Graal - Rémy Maucherat, slides , video
  • HTTP/2, HTTP/3 and SSL/TLS State of Art in Our Servers - Jean-Frederic Clere, slides , video
  • Tomcat from a cluster to a cloud - Jean-Frederic Clere, slides , video

ApacheCon NA 2019

  • State of the Cat, New ! - Rémy Maucherat, slides , video
  • Let's Encrypt Apache Tomcat - Christopher Schultz, slides , video
  • Tips for Debugging Tomcat and Web Applications - Coty Sutherland, slides , video
  • Serving Clean URLs via Custom Internet Media Types on Tomcat - Garret Wilson, video
  • Locking-Down Apache Tomcat - Christopher Schultz, slides , video
  • Apache Tomcat, your webapp, and the Graal - Rémy Maucherat, slides , video
  • Packaging Tomcat for Linux Distributions - Coty Sutherland, slides , video
  • Apache Tomcat / HTTPD Configuration Management - Steve Sanders, video
  • I Love Lucee - Igal Sapir, video
  • Apache httpd reverse proxy and Tomcat - Jean-Frederic Clere, slides , video

ApacheCon NA 2018

  • State of the Cat - Mark Thomas, slides , audio
  • New and Upcoming - Rémy Maucherat, slides , audio
  • Let's Encrypt Apache Tomcat - Christopher Schultz, slides , sample code , audio
  • HTTP/2 and SSL/TLS State of Art in Our Servers - Jean-Frederic Clere, slides , audio
  • Apache httpd reverse proxy and Tomcat - Jim Jagielski, audio
  • Routing CDN traffic at scale using Apache Tomcat - Jeff Elsloo, audio
  • The Anatomy of a Secure Java Web Application Using Apache Fortress - Shawn McKinney, slides , audio
  • Deep dive into Tomcat Clustering - Keiichi Fujino, slides , audio
  • Improving NIO2 (and Tomcat) - Rémy Maucherat, slides , audio
  • Tomcat: From a cluster to the cloud - Jean-Frederic Clere, slides , audio
  • Tomcat Monitoring Alternatives, Pros and Cons - Charlie Arehart, slides , audio
  • Monitoring production webapps running in apache tomcat with MoSKito - Leon Rosenbergt, slides , audio

ApacheCon EU Roadshow 2018

  • State of the Cat - Mark Thomas, slides
  • Performance Troubleshooting using Java Thread Dumps - Rainer Jung, slides
  • Apache Web Server 2.4 - 10 Must-know Configuration Features - Rainer Jung, slides
  • Reactive Applications on Apache Tomcat - Violeta Georgieva, slides

TomcatCon London 2017

  • State of the Cat - Mark Thomas, slides , slides + audio
  • New and upcoming - Rémy Maucherat, slides , slides + audio
  • Reverse Proxies, Load-Balancing & Clustering - Part 1 - Mark Thomas, slides , slides + audio
  • Reverse Proxies, Load-Balancing & Clustering - Part 2 - Mark Thomas, slides , slides + audio
  • Tomcat from the Cluster to the Cloud - Jean-Frederic Clere, slides

Webinar Series 2017

  • Tomcat and MoSKito (Leon Rosenberg) video

TomcatCon Miami 2017

  • Seamless Upgrades for Credential Security in Apache Tomcat - Christopher Schultz, slides , sample code , audio
  • Introduction to Tomcat and TLS - Mark Thomas, slides , audio
  • Securing Tomcat for your environment - Mark Thomas, slides , audio
  • Tomcat and Proxies - Jean-Frederic Clere, slides , audio
  • Load balancing - Mark Thomas, slides , audio
  • Tomcat Clustering - Keiichi Fujino, slides , audio
  • The Challenges Tomcat Faces in High Throughput Production System - Huxing Zhang, slides , audio
  • Using OpenSSL to Boost JSSE in Tomcat - Jean-Frederic Clere, slides
  • How I Stopped Worrying and Learned to Love Open Source - David Cleary, slides , video
  • Introduction to Spring Boot - Rossen Stoyanchev, video
  • ASF Loves Tomcat and JavaEE: From Meecrowave to TomEE - Romain Manni-Bucau, slides , video
  • Jwala - Apache Tomcat and HTTPD Enterprise Manager - Steven Ger & Arvindo Kinny, slides , video
  • From a Cluster to the Cloud - Jean-Frederic Clere, slides , video
  • Wrap up - Mark Thomas, slides , video

ApacheCon 2016

  • Seamless Upgrades for Credential Security in Apache Tomcat - Christopher Schultz, slides
  • Monitoring Apache Tomcat with JMX - Christopher Schultz, slides

Webinar Series 2016

  • Connector selection: BIO vs NIO vs NIO2 vs APR (markt) video
  • TLS key/certificate generation (markt) video , script
  • Introducing Apache Tomcat 8.5 (markt) video

Webinar Series 2015

  • Tomcat 9: HTTP/2 Quick Start (markt), video
  • TLS Virtual Hosting (markt), video

ApacheCon 2015

  • Tomcat Clustering: Part 1 - Reverse Proxies (markt), slides
  • Tomcat Clustering: Part 2 - Load-balancing (markt), slides
  • Tomcat Clustering: Part 3 - Clustering (markt), slides
  • Load-balancing Tomcat with mod_jk - Christopher Schultz, slides

ApacheCon 2014

  • Apache Tomcat and SSL – Mark Thomas, slides , audio
  • Monitoring Apache Tomcat – Christopher Schultz, slides , audio
  • Migrating to Apache Tomcat 8 – Mark Thomas, slides , audio
  • Connecting Tomcat to the World: Performance and other considerations when selecting a Tomcat connector – Christopher Schultz, Jean-Frederic Clere, slides not available, audio
  • A Practical use of Servlet 3.1: Implementing WebSocket – Mark Thomas, slides , audio

Java One, September 2013 (San Francisco)

  • Building WebSocket 1.0 on Servlet 3.1 (markt) pdf

Pivotal Open Source Hub, September 2013 (San Francisco)

  • Apache Tomcat 8 (markt) pdf

ApacheCon North America, February 2013 (Portland)

  • Apache Tomcat Clustering (markt) video , pdf
  • Apache Tomcat 8 update (markt) video , pdf
  • The Good, the Bad and the Ugly: Security Vulnerability Reports from the Apache Tomcat project (markt) video , pdf
  • Monitoring Apache Tomcat and the Apache Web Server (rjung) video
  • Continuous Delivery with Maven, Puppet and Tomcat (Carlos Sanchez) video

ApacheCon Europe, October 2012 (Sinsheim)

  • Apache Tomcat 8 Preview (markt) pdf
  • Apache Tomcat Reverse Proxies (markt) pdf , notes (rjung)

JavaOne, September 2010 (San Francisco)

  • Memory Leaks (markt) pdf

PowerShow.com - The best place to view and share online presentations

  • Preferences

Free template

The Apache Web Server - PowerPoint PPT Presentation

apache web server presentation

The Apache Web Server

Now the world's most popular web server with an estimated 70% of sites being hosted ... unzip the download, and step through installation. setting up apache ... – powerpoint ppt presentation.

  • Started in April 1996 as an open source multiplatform web server (Windows, FreeBSD, UNIX, and Linux compatible).
  • Now the worlds most popular web server with an estimated 70 of sites being hosted with Apache.
  • Is extensible, so most client-server development tools can be utilized including but not limited to PHP, MySQL, PERL, and cli (.NET).
  • Developed in principle by Rob McCool.
  • Part of National Supercomputer group that developed httpd model which Apache is based on.
  • Name was chosen to be catchy, but stories persist that it was from their self-deprecating description of a patchy software solution.
  • Only initial competition came from Netscape as developed by Sun who had invested their technology resources at that point in Java.
  • Apache is an open source technology, which means that it is developed by a collaboration of users, with the code available for free download.
  • You the user are free to alter the code in any way on your own machine.
  • Many Apache users develop extensions so that popular web tools can be used in conjunction with the web server.
  • Latest binary (compiled source code) is available for download.
  • http//httpd.apache.org/download.cgi
  • Designed for optimal operation on Linux systems, but complete binaries are available for Windows, and UNIX based systems.
  • If you have XP, you must download and install Service Pack 1 first.
  • There are many binaries, you want the one that has the .msi extension which uses the Microsoft Installer.
  • Unzip the download, and step through installation.
  • Apache servers have a fairly standard server model.
  • Provide Apache with your DNS domain during set up.
  • Set up as a service running on port 80, which means it will listen for all incoming requests to the machine.
  • Configure the number of threads to use, so that no one monopolizes your services.
  • You may wish to compile your needed extensions before you run Apache.
  • All web documents will go in the directory, /usr/local/apache/www/
  • For more information on configuration, check the Apache home page and http//www.comptechdoc.org/os /linux/usersguide/linux_ugapache.html
  • A community of developers committed to creating related projects for the Apache server.
  • These extensions are compiled in binaries and made available via the Apache website.
  • http//www.apache.org

PowerShow.com is a leading presentation sharing website. It has millions of presentations already uploaded and available with 1,000s more being uploaded by its users every day. Whatever your area of interest, here you’ll be able to find and view presentations you’ll love and possibly download. And, best of all, it is completely free and easy to use.

You might even have a presentation you’d like to share with others. If so, just upload it to PowerShow.com. We’ll convert it to an HTML5 slideshow that includes all the media types you’ve already added: audio, video, music, pictures, animations and transition effects. Then you can share it with your target audience as well as PowerShow.com’s millions of monthly visitors. And, again, it’s all free.

About the Developers

PowerShow.com is brought to you by  CrystalGraphics , the award-winning developer and market-leading publisher of rich-media enhancement products for presentations. Our product offerings include millions of PowerPoint templates, diagrams, animated 3D characters and more.

World's Best PowerPoint Templates PowerPoint PPT Presentation

  • Free Sign Up

Learn more how to embed presentation in WordPress

by ahsan.manan.1

10 Presentations

Published Jan 17, 2013 in Technology Direct Link : http://slideonline.com/presentation/710-apache-server-architecture-project-ppt -->

Apache Server Architecture Project.ppt... Read more

PowerPoint on Apache Server Architecture Project

Copy and paste the code below into your blog post or website

Embed into WordPress ( learn more )

Other Slide by

Ahsan.manan.1, steffanie & jan hospitals presentation pptx.

Published April 13, 2013 under Progamming

Published April 13, 2013 in Progamming

Presentation Slides & Transcript

Apache Server Architecture By: Luis A. Colón Anthony Trivino CMSC 415 Computer Architecture Spring 2008

Brief Background Initially started in 1996 by Robert McCool. Since 1996, Apache web server has been the most popular HTTP server in the market on the World Wide Web. The Apache was the first web server architecture that was used by the Netscape Communication Corporation. Apache has evolved with the years of the internet. Server is used to support both static and dynamic pages online. Many programming languages are supported by the Apache Server are as follows: PHP, Perl, Python and alongside with MySql. As of April 2008, the Apache Server serves approximately 50% of the current web pages.

Overview of the Apache Architecture Apache is a open source HTTP web server. It handles HTTP Requests sent to it and then it is able to them Apache is Open source and is built and maintained over at Apache.org Apache is comprised of Two main building Blocks with the Latter being comprised of many other little building blocks. The Building Blocks are the Apache Core and then the Apache Modules that in a sense extend the Apache core. More detail on this on next couple of slides. Very easy to implement and very easy to add extend its abilities by the adding of different modules. This is why this server has become so popular.

Apache Overview Diagram As you can see the designers of Apache decided to take a modular approach so that anyone can add to the basic functionality of the server without disturbing the basic Core implementation.

What is a Web Server? And What is HTTP? A Web Server is any Machine that receives requests from a client machine and is able to turn around process the requests and send back a response. This is usually in terms of a Web Server to send back a Web pages when people what to go navigate to a webpage that is hosted on that server now one may ask how do you send and receive the information to and from the server. This is where HTTP begins to play a role into how this all goes about. HTTP Protocol: HTTP stands for Hyper-Text-Transfer-Protocol This is the protocol that is used in order to send and receive information from the server. This is the protocol that the Apache Web Server Understands and it is what it uses to send information back to the client Machine. If you would want to get a bit more technical on the subject the Client Machine this case the Browser sends a HTTP.Request Object to the Server then the Server responds back by using an HTTP.Response Object. This is the general back and forth between the server and the browser. Apache is made to handle all of these requests.

Multi-processing Multithreaded and Multi-processed Web Servers When an HTTP request arrives, the Web server starts fetching the resource as requested by the client. While the Web server is busy fetching resources, the client computers might send more requests. This total of requests are needed for processing. These requests are either ignored or handled simultaneously by the Web server. Web servers that ignore other requests or they will even queue them while the servers are busy. This process is called single-threaded Web servers. This means that they are incapable of handling high Web server traffic. However, these types of Web servers are ideal for Web sites that encounter low or moderate traffic.

Web servers that can handle simultaneous requests, manage the requests in two ways. Either they start a new process or they start a new thread within a process. Web servers that start a new process on each request are called multi-processed Web servers, while those that start a new thread within the main process are called multithreaded Web servers. The is a slight difference among those terminology. IIS (Internet Information Services) on the Windows platform is an example of a multithreaded Web server. Apache on a Unix platform is a multi-processed Web server. Windows platform lack forking for server client request interaction which put Apache on a Unix platform more efficient. Unix is the software for the hardware architecture of a web based server.

Client-Server Interactions As we stated before the Client makes an HTTP request to the server in this case the Apache Web server then the server handles the server pools the connections to it, by the basic instructions within the Apache Core then the server sends back a response. Many people do not realize that they be utilizing an Apache web server everyday since it is the most popular web server out right now. When you go online and request a webpage. Most likely an Apache Web server is processing your request and then it is sending you back the webpage you requested.

Apache Web Server Where all the Magic Happens… As I mentioned Before The overall overview of the Apache Web Server is comprised of a Modular approach to the way the system is built instead of just having the server just be one piece of code handling everything. This in turn allows for more robustness and allow for better customization without getting rid of the security that is implemented within the Apache Core. In order to achieve this Modular Approach the Apache Designers decided to break down the server into two main Components. The Apache Core: Which Handles the Basic functionality of the Server. Such as allocating requests and maintaining and pooling all the connections. The Apache Modules: Which are in a sense the added extensions to the server which handle a lot of the other types of processing the server must achieve such as doing user Authentication.

Apache Core This is what usually occurs in the Apache Core in a sense an overview of the flow that happens in the Apache Core. This is the Apache Core interacting with all the other components that surround it. These are the core components of the Apache architecture. The purpose for this was that the designers wanted to keep every component that didn’t need each other separate so they made them into modules. So this is what was left after everything was left. So this is the Basic “brain” of the Apache Web Server.

Apache Core Continued… The Apache Core is comprised of many different little components that’s handle the Basic implementation of what a web server should be doing. The core components are a series of classes that handle specific tasks. These should not be confused with modules, which are just add on implementations of different things that Apache can be customized to do. Modules will be explained more in detail in the further slides. The Apache Core provides us with the Main functionality of a HTTP web server. Without it or allowing a change to it will remove its modularity, but also remove some of the security. This is why Modules are needed in order to extend the core functionality of Apache.

Apache Core Components not to be confused with Modules. The core components of make up the Apache core are as follows: http_protocol.c: This is the component that handles all of the routines that communicate directly with the client by using the HTTP protocol. This is the component that knows how to also handle the socket connections through which the client connects to the server. All data transfer is done through this component. http_main.c: this component is responsible for the startup of the server and contains the main server loop that waits for and accepts connections. It is also in charge of managing timeouts. http_request.c: This component handles the flow of request processing, passing control to the modules as needed in the right order. It is also in charge of error handling.

Apache Core Components Continued.. http_core.c: the component implementing the most basic functionality, it just bairly serves documents. alloc.c: the component that takes care of allocating resource pools, and keeping track of them. http_config.c : this component provides functions for other utilities, including reading configuration files and managing the information gathered from those files (), as well as support for virtual hosts. An important function of http_config is that it forms the list of modules that will be called to service during different phases of the requests that are going on within the server. As you can see apache has many different components within the Core these all allow the server to be more secure and more robust, but also due to the implementation of the architecture raises security since anyone that wants to add functionality to the server must do so by the use of modules.

Request Phases Before we can continue to talk about the Apache Modules we must be able to talk about what are the request phases that are going on within the core. In other words how does Apache know what to do with a request that it received from the client but also what so it does after it has received the request and where does it go from there in order to handle the request that was made to it. This is where request Phases come into play. Modules due to the architecture of Apache do not know directly about each other and not one module alone can completely fill or process the request that is made to the Apache server. Most requests are processes by sending the information from one module back to the core then back to another module until the request is completely handled and then it is sent back to the client. Apache has something called Request Phases and is handled by the HTTP_REQUEST component of the core.

Request Phases Continued… The phases or the logic that the HTTP_REQUEST Module of the Apache core controls are as follows: URI to filename translation; Check access based on host address, and other available information; Get an user id from the HTTP request and validate it; Authorize the user; Determine the MIME type of the requested object (the content type, the encoding and the language); Fix-ups (for example replace aliases by the actual path); Send the actual data back to the client; Log the request;

Overview Of Modules Modules were made to extend/overwrite and implement the functionality of the Apache web server. However modules do not directly extend each other or “know” directly about each other. So in turn Modules are connected to the Apache core all the same way. Modules since they do not know directly about each other must pass all in formation back to the core and then the core sends that information to another appropriate module through the use of the HTTP_REQUEST component of the Apache Core. This in turn does not allow any changing of the stable Apache Core, but also implements a layer of security, because no process can move on without passing the in formation to the Core and the core checks and handles errors through the HTTP_REQUEST component.

Apache web server has a modular architecture with a core component that defines the most basic functionality of a web server and a number of modules which implements the steps of processing a HTTP request, offering handlers for one or more of the phases. The core is the one that accepts and manages HTTP connections and calls the handlers in modules in the appropriate order to service the current request by parent and child. Concurrency exists only between a number of persistent identical processes that service incoming HTTP requests on the same port. Modules are not implemented as separate process although it is possible to fork children or to cooperate with other independent process to handle a phase of processing a request. The functionality of Apache can be easily changed by writing new modules which complements or replace the existing one. The server is also highly configurable, at different levels and modules can define their own configuration commands.

Modules Continued One cool thing about Apache that makes it robust and allows for better speed is the fact that, Apache allows for initialization of modules Dynamically. So not every module is started when the server starts up which really allows for a giant speed boost. So what this allows is Apache to only initialize the modules that it needs at that moment. Which allows requests to be processed a lot faster than usual. Modules have something inside them that are called Handlers. Handlers: A handler is for Apache the action that must be performed in some phase of servicing a request. For example a handler that requests a file must open the file then read the file then send it to the Apache core to then be sent to the client. Handlers are defined by the modules depending on when they are needed to fulfill a request then the Handlers are the ones that send back the processing from the Apache Module to the Apache Core HTTP_REQUEST component

Modules Continued More about Handlers Overview of the Handler system within an Apache Module. As you can see the Handler does what it needs to do to fulfill a request then the sends that process back to the HTTP_REQUEST component of the Apache core in order to be sent to another module for processing or back to the client.

Module Configuration If you are using a static configuration of Apache, choose the modules you wish to incorporate with care. Using static mode comes at a price — the more modules, the more memory you use. Thus, a forked multi-processing module can have a significant effect on the machine's memory requirements. Note that some items are automatically included, so you'll need to explicitly enable and disable needed modules. Also remember to include any third-party modules (e.g., authentication, PHP, or mod_perl), the Web service requires. Use configure --help to get a list of the available options.

Concurrency in Apache Apache provides access to two levels of concurrency. The concurrent processes executing truly simultaneously, in the case that they run on separate processors, as in the case of separate processes running on a multitasking system. As well, if multi-threading is supported by the operating system, a default of up to 50 threads is allowed for each process.

Each request that the server receives is actually handled by a copy of the http program. So rather than creating a new instance copy when it is needed, and destroying it when a request is finished, Apache maintains at least 5 and at most 10 inactive children at any given time. The parent process runs a periodic check on a structure called the scoreboard, which keeps track of all existing server processes and their status. If the scoreboard lists is ever less than the minimum number of idle servers, then the parent will spawn more. If the scoreboard lists more than the maximum number of idle servers, then the parent will proceed to kill off the extra children. When it receives a request, the parent process passes it along to the next idle child on the scoreboard. Then the parent goes back to listening for the next request.

When doing the parent and child request there is a limit which by default is set to 256 of the total number request at one time. The default settings was programmed by the creators for the server was to pick in order to keep the scoreboard file small enough so that it can be scanned by the processes without causing overhead concerns. Since the number of requests that can be processed at any one time is limited by the number of processes that can exist, there is a queue provided for waiting requests. The queue waiting list was mentioned to be when the parent passes a request to a child, which was idle, then the parent returns to receive next request. The maximum number of pending requests that can sit on the queue can reach somewhere in the 400-600. Apache server architecture was designed to maximize one connection. The uses the persistent connection to allow multiple requests from a client to be handled by one connection, rather than opening and closing a connection for each request. The default maximum number of requests allowed over one connection is 100. The connection is closed by a timeout.

Security Perspective Security Perspective Hopefully with the presentation of the Apache server. You can now know what multi-processed Web servers are and how Apache qualifies to be one. Another important aspect that is worth discussing is how processes work. Two types of processes are invoked, parent and child. The parent process is the main process from which several child processes are invoked. Now how does this imply to security right? Whenever a request is sent to the Apache Web server, the parent process receives the request. Then the parent process forwards the request to one of the child processes. The child process then handles the request by responding to it. This behavior is supported for a valid reason: security.

Security… The root user (SuperUser has all privileges like an Admin) initiates the parent process of the Web server in UNIX systems. The root user, is the most powerful user on the UNIX system. For security reasons, the parent process doesn't directly process the requests sent by the clients. For example, if a client sends a request with malicious intentions and the parent process handles the request. The parent process will being run as a root user (SupperUser) will have all necessary rights to perform any operation on the computer, thereby making the system server vulnerable. However, if the request is forwarded to a process that has restricted permissions on the computer, no harm can be done which is handled in the child process. This is because child processes are run as users with restricted privileges.

Common Media Hack Providing any kind of system information to a hacker could potentially provide a hacker with the ammunition they need to break into your server. The less a hacker knows about the configuration of a system, the harder it is to break into. The issue that many business uses Apache server to host websites. One of the most common exploits used by hackers is to "take over" a service running on the server and use it for their own purposes. For example, gaining access to a mail application via an HTML form-based script. Hacker would use the mail server to send out spam or acquire confidential user information. While not a direct security threat, a poorly written application can use up a system's available resources to the point where it becomes almost completely unresponsive.

Safe programming layer to prevent buffer overrun exploits and sandboxing to limit resource consumption Efficient output data stream buffering Apache compatible configuration Extensive logging and debug trace The apache server architecture was design to be highly customizable for business programmer to modify it for their needs. The configuration files flexible permits to customization of the modules of the apache server. Modules can recognize from configuration files and will be called when such commands are found through the proper procedure.

The Apache server has a fully functional architect with an intension for security from the root user privileges (Super user). The server asks the web browser of the client for the user and password to access the server. For example, Internet Mozilla Firefox web browser has a feature to store username and password. The risk of the server automatically ask for the password, anyone can access the programmers account once on the client’s machine. password is send over the network not encrypted but "unencoded" password is not visible in the clear, but can easily be decoded by anyone who happens to catch the right network packet (“sniffers in action”) this method of authentication is as safe as telnet-style username and password security

Caching it. The reason for discussing the process of caching is because, by definition, cache is the temporary storage of frequently accessed data in higher speed media (such as SRAM or RAM) for more efficient retrieval of data through a process. Web caching stores frequently used objects closer to the client through browser, proxy, or server caches. By storing string objects closer to your users in order for the user to avoid making several same trip to access the server. By doing this, this reduce bandwidth consumption, server load, and most importantly, latency. The caching method and process is not just for static sites, but as mentioned before, even dynamic sites can benefit from caching. Streaming video request was an issue Graphics and multimedia typically don't change as frequently as XHTML files. Graphics that seldom change like logos, headers, and navigation can be given longer expiration times while resources that change more frequently like XHTML and XML files can be given shorter expiration times.

The diagram below illustrates a key point in the discussion of cache. Caches are found on the Web in many places and are constantly trying to hold your site content whenever possible.

There are two main stages in mod_cache that can occur in the lifetime of a request. A mod_cache is a terminology that represents the URL mapping module, which means that if a URL has been cached, and the cached version of that URL will not expired, the request will be served directly by mod_cache. When caching is locally generating content to ensure that UseCanonicalName is set to ON can dramatically improve the ratio of cache hits. The hostname of the virtual-host serving the content forms a part of the cache key. With the setting set to (ON) on the virtual-hosts with multiple server names or aliases will not produce differently cached entities, but instead, the content will be cached as per the canonical hostname reason for that is that caching is performed within the URL to filename translation phase. Cached documents will only be served in response to URL requests.

Conclusion Apache architecture, modules and handlers directory structure; configuration files & directives; running access control; authentication Passing Data; Security cache control

More Presentations

By ahsan.manan.1.

Published Jan 17, 2013

Copyright © 2024 SlideOnline

All slide content and descriptions are owned by their creators.

SlideOnline is an easy way to instantly publish presentations online and share on all popular social websites.

  • Privacy Policy & Terms

PowerPoint Presentation - Apache Web Server

Transcript powerpoint presentation - apache web server.

apache tomcat web server

Apache Tomcat Web Server

Jul 13, 2014

530 likes | 1.15k Views

Apache Tomcat Web Server. MOHD NORFAIZI MIHSANY (A91391). Web Server. Used application server locate at technician room. 202.185.47.240. Architecture. Server Setup Step by Step. Download and install the Java Software Development Kit (SDK). Download Server Configure the Server

  • used application server locate
  • www coreservlets
  • select environment variable
  • jakarta apache org tomcat
  • java home c

karim

Presentation Transcript

Apache Tomcat Web Server MOHD NORFAIZI MIHSANY (A91391)

Web Server • Used application server locate at technician room. • 202.185.47.240

Architecture

Server Setup Step by Step • Download and install the Java Software Development Kit (SDK). • Download Server • Configure the Server • Set up Development Environment • Test

Download and Install Java Software Development Kit (SDK) • http://java.sun.com/j2se/1.4.2/index.jsp • Download the setup. • Install the SDK.

Download a Server • Apache Tomcat, Macromedia JRun, Jetty, Microsoft IIS, iPlanet/Sun ONE Server and Apache Server. • Apache Tomcat 4.0 (http://jakarta.apache.org/tomcat) was used for this project. • Apache Tomcat 4.0 is the official reference implementation for Servlet 2.3 and JSP 1.2. • It’s entirely free and has complete source code available.

Configuring Apache Tomcat • Setting the JAVA_HOME variable. • Specifying the server port. • Enabling servlet reloading. • Enabling the ROOT context. • Turning on the invoker servlet. • Increasing DOS memory limits (older windows). • Setting CATALINA_HOME (optional).

Setting the JAVA_HOME Variable • Right click My Computer. • Select Properties. • Select Advance. • Select Environment Variable. • Add JAVA_HOME value and click OK. • Another way by edit install_dir/bin/catalina.bat and insert this line set JAVA_HOME=C:\J2sdk1.4.0

Specifying the Server Port • By default, Apache Tomcat used port 8080. • Modifying the port number involves editing install_dir/conf/server.xml.

The original element will look something like this : <Connector className=“org.apache.coyote.tomcat4.CoyoteConnector” port=“8080” minProcessors=“5” maxProcessors=“75” …. /> After <Connector className=“org.apache.coyote.tomcat4.CoyoteConnector” port=“80” minProcessors=“5” maxProcessors=“75” …. />

Enabling Servlet Reloading • To turn on servlet reloading, edit install_dir/conf/server.xml. • Find <!-- Define properties for each web application. … …. --> • Insert following line just below it <DefaultContext reloadable=“true” />

Enabling the ROOT Context • Edit install_dir/conf/server.xml. • Uncomment the following line <Context path=“” docBase=“ROOT” debug=“0” />

Turning On the Invoker Servlet • Edit install_dir/conf/web.xml. • Uncomment following line <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>

Increasing DOS Memory Limits • For old version of Windows like windows 98. • Right click install_dir/bin/startup.bat. • Select properties. • Select memory and change the Initial Environment from Auto to at least 2816.

Setting CATALINA_HOME • Right click My Computer. • Select Properties. • Select Advance. • Select Environment Variable. • Add CATALINA_HOME value and click OK.

Test your Setup • Double click on install_dir/bin/startup.bat. • Open browser and enter Http://localhost

Using The Default Web Application • Packageless Servlet code : install_dir/webapps/ROOT/WEB-INF/classes URL : http://host:port/servlet/ServletName • Packaged Servlet code : install_dir/webapps/ROOT/WEB-INF/ classes/packagename URL : http://host:port/servlet/packageName.ServletName

Using The Default Web Application • Packaged Beans and Utility Classes install_dir/webapps/ROOT/WEB-INF/ classes/packageName • JAR Files install_dir/webapps/ROOT/WEB-INF/lib

Using The Default Web Application • HTML and JSP (Not In Subdirectories) code : install_dir/webapps/ROOT URL : http://host:port/filename • HTML and JSP (In Subdirectories) code : install_dir/webapps/ROOT/directoryName URL : http://host:port/directoryNme/filename

Servlet and JSP APIs • Install_dir/webapps/tomcat-docs/servletapi/index.html

CLASSPATH • Set CLASSPATH in Environment Variable. • Have it include installdir/common/lib/servlet.jar. • For compile Servlet application.

Traceroute • http://mips.myloca.com/trace

Reference • Marty Hall, Larry Brown. 2004. Core Servlets and JavaServer Pages. Second Edition. U.S.A: Prentice Hall. • Marty Hall. 2005. Apache Tomcat Tutorial.(online) http://www.coreservlets.com/Apache-Tomcat-Tutorial (10 March 2005)

  • More by User

Performance Tuning Apache Tomcat

Performance Tuning Apache Tomcat

Performance Tuning Apache Tomcat. Steve Heckler, President Accelebrate http://www.accelebrate.com [email protected]. What We’ll Cover. Removing unneeded applications Tuning and monitoring the JVM This section “borrows” some from Sun’s official documentation

752 views • 35 slides

Apache httpd Web Server

Apache httpd Web Server

Apache httpd Web Server. C. Edward Chow. Outline of the Talk. Introduction to Apache httpd web server Basic Compilation, Installation and Configuration Performance Features: Prefork, Cache and Proxy module Virtual Hosting Reference: http://httpd.apache.org/docs/2.2/.

823 views • 21 slides

Servers		- Apache Tomcat Server Server-side scripts	- Java Server Pages

Servers - Apache Tomcat Server Server-side scripts - Java Server Pages

Servers - Apache Tomcat Server Server-side scripts - Java Server Pages. Java Server Pages - Xue Bai. Objectives . What is Request/Response protocol for a client-side script . What is Request/Response protocol for server-side script .

857 views • 49 slides

Apache Tomcat and SSL

Apache Tomcat and SSL

Apache Tomcat and SSL. Mark Thomas, Staff Engineer, Pivotal. 9 April 2014. Agenda. Introductions Cryptography Basics SSL Configuring Tomcat for SSL Java connectors (BIO, NIO) APR/native connector Reverse proxy Questions. Introductions. Introductions. [email protected]

855 views • 56 slides

Apache Web Server

Apache Web Server

Quick and Dirty Steve Gibbard for SANOG 16 (Originally by Joel Jaeggli for AfNOG 2007) ‏. Apache Web Server. About Apache. Apache http server project http://httpd.apache.org Apache foundation started to support the web server project, but now extends to a multitude of other projects.

587 views • 15 slides

Tomcat Server

Tomcat Server

Gateway. wget script. Publisher Client. Gateway Indexes Catalogs for search -Federates with other Gateways -etc…. RPC Sending Notifications. HTTPS Request. HTTP Response. HTTPS Product Response. HTTPS Product Request. RPC Subscribe for Notifications. HTTPS Fetch

156 views • 1 slides

APACHE WEB SERVER

APACHE WEB SERVER

APACHE WEB SERVER. Presented by Lonnye Bower Fardin Khan Chris Orona. Introduction and Installation of Apache Server. Note: Images courtesy of apache.org. Introduction to Apache. Apache is a web server package that works under Linux as well as under other operating systems

2.75k views • 32 slides

Web Application Server Apache Tomcat

Web Application Server Apache Tomcat

Web Application Server Apache Tomcat. Downloading and Deployment Guide. Apache Tomcat Downloading pre-Installed Package. Open the website link http://tomcat.apache.org When the webpage would be displayed, click on ‘Tomcat 6.x’ link under the Download section.

576 views • 16 slides

Apache Jakarta Tomcat

Apache Jakarta Tomcat

Apache Jakarta Tomcat. 20041058 Suh, Junho. Road Map. Tomcat Overview History What is Tomcat? Servlet Container Web Server Component Tomcat Execution Mode Tomcat How it works?. Tomcat Overview. What we need to make more dynamic web documents?

462 views • 21 slides

Apache Web Server Architecture

Apache Web Server Architecture

Apache Web Server Architecture. Chaitanya Kulkarni [email protected]. MSCS 521 23 rd April 2008. What is “the web”?. A collection of cross-linked “websites” A set of “web” technologies The consistent use of URIs to represent resources

367 views • 24 slides

Apache Tomcat

Apache Tomcat

Apache Tomcat. Vannucci Roberto (5BM), De Nardin Axel (5AM). Apache Tomcat. http://tomcat.apache.org “Apache Tomcat is an open source software implementation of the Java Servlet and Java Server Pages (JSP) technologies.” Comunemente: servlet engine. Breve Storia.

429 views • 13 slides

Tomcat server

Tomcat server

Request-Response Cycle. C:myjspapp /chapter01/sample00.htm. Local feedback Loop address. http://localhost:8080/ myapp /chapter01/sample00.html. Tomcat server. browser. requested page returned. page displayed. Tomcat Server. Start Server. Request. http://. localhost. :8080/. myapp.

243 views • 10 slides

Configuration Web Server Tomcat

Configuration Web Server Tomcat

Configuration Web Server Tomcat. Install JDK 1.6 Install Tom cat 5.5.20 Configure Tom cat for running Servlet C:Program FilesApache Software FoundationTomcat 5.5conf Open web.xml with WordPad and uncomment. &lt;servlet&gt; &lt;servlet-name&gt;invoker&lt;/servlet-name&gt; &lt;servlet-class&gt;

276 views • 16 slides

Apache Tomcat

Apache Tomcat. Representation and Management of Data on the Web. What is Tomcat?. Tomcat is a Servlet container (Web server that interacts with Servlets ) developed under the Jakarta Project of Apache Software Foundation

800 views • 46 slides

Apache Web Server

Quick and Dirty Evelyn NAMARA for AfNOG 2014 (Originally by Joel Jaeggli for AfNOG 2007)‏. Apache Web Server. About Apache. Apache http server project http://httpd.apache.org Apache foundation started to support the web server project, but now extends to a multitude of other projects.

198 views • 17 slides

Servers		- Apache Tomcat Server Server-side scripts	- Java Server Pages

Servers - Apache Tomcat Server Server-side scripts - Java Server Pages. Objectives. What is Request/Response protocol for a client-side script . What is Request/Response protocol for server-side script. How does server interact with multiple concurrent clients.

490 views • 48 slides

IMAGES

  1. PPT

    apache web server presentation

  2. PPT

    apache web server presentation

  3. PPT

    apache web server presentation

  4. PPT

    apache web server presentation

  5. PPT

    apache web server presentation

  6. PPT

    apache web server presentation

VIDEO

  1. วิธีการติดตั้ง IIS บน Windows7 เพื่อให้รันได้ทัั้ง ASP และ PHP

  2. Apache Web Server Configuration in RHEL8

  3. การเปิดใช้งาน https ให้กับ apache web server

  4. Setting up Apache Web Server

  5. How to host apache web server over the internet

  6. Apache Web Server and Weblogic Integration

COMMENTS

  1. Slide 1

    Session 14 - Server-Side: HTTP and Apache Web Server Configuration. Harvard Extension School Fall 2021 Course Web Site: https://cscie12.dce.harvard.edu/

  2. Apache web server

    Apache web server | PPT Apache web server May 16, 2017 • 2 likes • 3,788 views Download Now Download to read offline Technology Apache Web Server Description R Rishabh Bahukhandi Sr. Business Support Executive at Rainbow Apps Recommended Apache web service Manash Kumar Mondal 1.2K views • 23 slides Apache Server Tutorial Jagat Kothari

  3. Apache Tutorials for Beginners

    Apache is the most widely used Web Server application in Unix-like operating systems but can be used on almost all platforms such as Windows, OS X, OS/2, etc. The word, Apache, has been taken from the name of the Native American tribe 'Apache', famous for its skills in warfare and strategy making.

  4. What is Apache? In-Depth Overview of Apache Web Server

    Apache is the web server that processes requests and serves web assets and content via HTTP. MySQL is the database that stores all your information in an easily queried format. PHP is the programming language that works with apache to help create dynamic web content.

  5. Apache web-server-architecture

    21. Apache Usage. Apache is primarily used to serve both static content and dynamic Web pages on the World Wide Web. Many web applications are designed expecting the environment and features that Apache provides. Apache is the web server component of the popular LAMP web server application stack, alongside MySQL, and the PHP/Perl/Python programming languages. 4/23/2008 21Apache Web Server ...

  6. PPT

    APACHE WEB SERVER. Presented by Lonnye Bower Fardin Khan Chris Orona. Introduction and Installation of Apache Server. Note: Images courtesy of apache.org. Introduction to Apache. Apache is a web server package that works under Linux as well as under other operating systems Download Presentation apache web server usr ganesan virtual hosting

  7. Web Servers (ppt)

    30. Table 4.3 Built-in handlers in Apache server and default file extension Web Protocols and Practice WEB CLIENTS Send the file as static content Send the file as an HTTP response message (.asis) Invoke the file as a CGI script (.cgi) Treat the file as a server-side include (.shtml) Treat the file as an imagemap rule file (.imap) Treat the file as a map for content negotiation (.var) Get the ...

  8. Welcome!

    The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

  9. Apache web server

    Apache web server Apr 6, 2021 • 0 likes • 867 views Sabiha M Student at Home Software Apache Web Server. Architecture, Features, Apache Tomcat, Alternative servers, Work of AWS, Latest news Apache web server 1 of 20 Download Now Save slide Save slide Recommended Apache web server Rishabh Bahukhandi 3.8K views • 21 slides

  10. Apache Tomcat®

    The following suggestions have been received for future presentation topics. To add your idea to the list, e-mail the Tomcat users mailing list. ... Apache Web Server 2.4 - 10 Must-know Configuration Features - Rainer Jung, slides; Reactive Applications on Apache Tomcat - Violeta Georgieva, slides;

  11. PPT

    Apache Web Server • Currently the most popular Web server • Stability • Efficiency • Portability • Open-source. Apache 1.3 • Fast enough for most sites • Particularly on 1 and 2 CPU systems. Apache 2.0 • Adds more features • filters • threads • portability (has excellent Windows support) • Scales to much higher loads.

  12. PPT

    • A collection of cross-linked "websites" • A set of "web" technologies • The consistent use of URIs to represent resources • HTTP, HTML, and everything built around them • Every person's cheap'n'easy client-server computing Apache Web Server Architecture What is a Server?

  13. PPT

    Edward Chow. Outline of the Talk. Introduction to Apache httpd web server Basic Compilation, Installation and Configuration Performance Features: Prefork, Cache and Proxy module Virtual Hosting Reference: http://httpd.apache.org/docs/2.2/. Download Presentation virtual hosting web sites apache exercises different web site square brackets

  14. PPT

    Oct 22, 2019 250 likes | 281 Views Quick and Dirty Kevin G. Chege for AfNOG 2013 (Originally by Joel Jaeggli for AfNOG 2007) ‏. Apache Web Server. About Apache. Apache http server project http://httpd.apache.org Apache foundation started to support the web server project, but now extends to a multitude of other projects. Download Presentation

  15. Apache Web Server

    Apache Web Server - Free download as Powerpoint Presentation (.ppt), PDF File (.pdf), Text File (.txt) or view presentation slides online. Apache is generally recognized as the world's most popular web server. The name "apache" derives from the word "patchy" that the developers used to describe early versions. Apache is reliable, free, and relatively easy to configure.

  16. Apache ppt

    Apache ppt Jun 4, 2010 • 19 likes • 22,924 views poornima sugumaran Student Technology Apache ppt 1 of 22 Download Now Save slide Save slide Recommended Apache web service Manash Kumar Mondal 1.2K views • 23 slides Apache web server Rishabh Bahukhandi 3.8K views • 21 slides Web servers webhostingguy 22.1K views • 40 slides

  17. Web Server

    A software program or server computer equipped to. offer World Wide Web access. Web servers allow you to serve content over the. Internet using the Hyper Text. Markup Language (HTML). The Web server accepts requests from browsers. like Netscape and Internet Explorer and then. returns the appropriate HTML documents. 2.

  18. Apache ppt

    1. APACHE The Apache HTTP Server, commonly referred to as Apache, is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million web site milestone. Apache was the first viable alternative to the Netscape Communications Corporation web server (currently known as Sun Java System Web ...

  19. The Apache Web Server

    About This Presentation Title: The Apache Web Server Description: Now the world's most popular web server with an estimated 70% of sites being hosted ... Unzip the download, and step through installation. Setting up Apache ... - PowerPoint PPT presentation Number of Views: 84 Avg rating:3.0/5.0 Slides: 8 Provided by: phils85 Category:

  20. PPT

    Building a Secure Web Server - ... part of web server (as when using a Java-based web server) ... Apache and Tomcat. Tomcat: Java-based servlet container w/ JSP environment. Execution modes: ... The PowerPoint PPT presentation: "Apache Webserver" is the property of its rightful owner.

  21. Apache Server Architecture Project.ppt PowerPoint Presentation PPT

    Apache web server has a modular architecture with a core component that defines the most basic functionality of a web server and a number of modules which implements the steps of processing a HTTP request, offering handlers for one or more of the phases. ... Security Perspective Security Perspective Hopefully with the presentation of the Apache ...

  22. PowerPoint Presentation

    Share and download educational presentations online. Free library of english study presentation. Share and download educational presentations online. Directory share and download study ... Apache Web Server Apache Web Server Quick and Dirty Ayitey Bulley for AfNOG 2011 (Originally by Joel Jaeggli for AfNOG 2007) About Apache Apache http server ...

  23. PPT

    Architecture. Server Setup Step by Step. Download and install the Java Software Development Kit (SDK). Download Server Configure the Server. Download Presentation. used application server locate. www coreservlets. select environment variable. jakarta apache org tomcat.