setup Apache2 summary notes from opensuse (leap 42.2) and apache (2.4) websites
1) install apache2 - zypper in apache2
2) establish base configuration in /etc/apache2/default-server.conf
3) verify document root and log locations - configure defaults
4) apachectl configtest
5) systemctl enable apache2
6) systemctl start apache2
7) systemctl status apache2
--> apachectl configtest
Syntax OK
------------------------------------------------
root@linuxbox [/root]
------------------------------------------------
--> systemctl enable apache2
Created symlink from /etc/systemd/system/httpd.service to /usr/lib/systemd/system/apache2.service.
Created symlink from /etc/systemd/system/apache.service to /usr/lib/systemd/system/apache2.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/apache2.service to /usr/lib/systemd/system/apache2.service.
------------------------------------------------
root@linuxbox [/root]
------------------------------------------------
--> systemctl start apache2
------------------------------------------------
root@linuxbox [/root]
------------------------------------------------
--> systemctl status apache2
● apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2017-06-06 23:51:17 PDT; 5s ago
Main PID: 4778 (httpd-prefork)
Status: "Processing requests..."
Tasks: 6
CGroup: /system.slice/apache2.service
├─4778 /usr/sbin/httpd-prefork -f /etc/apache2/httpd.conf -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d/ -DSYSTEMD -DFOREGR...
├─4786 /usr/sbin/httpd-prefork -f /etc/apache2/httpd.conf -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d/ -DSYSTEMD -DFOREGR...
├─4787 /usr/sbin/httpd-prefork -f /etc/apache2/httpd.conf -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d/ -DSYSTEMD -DFOREGR...
├─4788 /usr/sbin/httpd-prefork -f /etc/apache2/httpd.conf -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d/ -DSYSTEMD -DFOREGR...
├─4789 /usr/sbin/httpd-prefork -f /etc/apache2/httpd.conf -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d/ -DSYSTEMD -DFOREGR...
└─4790 /usr/sbin/httpd-prefork -f /etc/apache2/httpd.conf -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d/ -DSYSTEMD -DFOREGR...
Jun 06 23:51:17 linuxbox systemd[1]: Starting The Apache Webserver...
Jun 06 23:51:17 linuxbox systemd[1]: Started The Apache Webserver.
sample exract of /etc/apache2/default-server.conf (SuSE 42.2 running Apache 2.4)
--> /home/john/bin/catgrep /etc/apache2/default-server.conf
--------------------------------------------------------------------
DISPLAYING file: --> /etc/apache2/default-server.conf <-- without commented or blank lines
--------------------------------------------------------------------
Alias /icons/ "/usr/share/apache2/icons/"
Options Indexes MultiViews
AllowOverride None
Require all granted
DocumentRoot /home/luser/pages/
ServerName opus-jm
ServerAdmin dev@null.com
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch Includes
IndexOptions IgnoreCase FancyIndexing FoldersFirst NameWidth=* DescriptionWidth=* SuppressHTMLPreamble
HeaderName HEADER.html
ReadmeName README.html
IndexIgnore README.html favicon.ico HEADER.html FOOTER.html robots.txt readme.html footer.html header.html pix tmp
Require all granted
Require all denied
ServerName opus-luser
DocumentRoot "/home/luser/pages/subpage/"
ServerAdmin dev@null.com
ErrorLog "/var/log/apache2/error_log"
CustomLog "/var/log/apache2/access_log" common
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch Includes
IndexOptions IgnoreCase FancyIndexing FoldersFirst NameWidth=* DescriptionWidth=* SuppressHTMLPreamble
HeaderName HEADER.html
ReadmeName README.html
IndexIgnore README.html favicon.ico HEADER.html FOOTER.html robots.txt readme.html footer.html header.html pix tmp
Require all granted
Require all denied
...
#######################################################################################################
the changes between Apache 2.2 and Apache 2.4 didn't make a lot of sense to me initially,
resorted to trial and error configs... finally entered this on the command line to make it quicker to tweak:
vi /etc/apache2/default-server.conf ; systemctl -l reload apache2 ; systemctl -l status apache2
#######################################################################################################
This seems to be working... (19 Apr 2017) but requires more effort:
/etc/apache2/default-server.conf
DocumentRoot "/somedirectory/webserver/pages"
Require all granted # as opposed to Allow or deny
DirectoryIndex disabled
Options Indexes MultiViews IncludesNoExec FollowSymLinks
IndexOptions IgnoreCase FancyIndexing FoldersFirst NameWidth=* DescriptionWidth=* SuppressHTMLPreamble
IndexIgnore README.html favicon.ico HEADER.html FOOTER.html robots.txt z readme.html footer.html header.html pix tmp
#######################################################################################################
#######################################################################################################
#######################################################################################################
Apache2 notes - URLs of source below
---------------------------------------
https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html
http://httpd.apache.org/docs/2.4/mod/quickreference.html
#######################################################################################################
24.1.3 Start
You can start Apache automatically at boot time or start it manually.
To make sure that Apache is automatically started during boot in
the targets multi-user.target and graphical.target, execute the following command:
systemctl enable apache2
To manually start Apache using the shell, run systemctl start apache2.
Most configuration changes require a reload (some also a restart) of Apache to take effect.
Manually reload Apache with:
systemctl reload apache2
Apache configuration files can be found in two different locations:
/etc/sysconfig/apache2
/etc/apache2/
---------------------------------
24.2.1.1 /etc/sysconfig/apache2
/etc/sysconfig/apache2 controls some global settings of Apache, like modules to load,
additional configuration files to include, flags with which the server should be started,
and flags that should be added to the command line.
For a general-purpose Web server,
the settings in /etc/sysconfig/apache2 should be sufficient for any configuration needs.
---------------------------------
24.2.1.2 /etc/apache2/
/etc/apache2/ hosts all configuration files for Apache.
Each file includes several configuration options (also called directives).
The Apache configuration files are organized as follows:
/etc/apache2/
|
|- charset.conv
|- conf.d/
| |
| |- *.conf
|
|- default-server.conf
|- errors.conf
|- httpd.conf
|- listen.conf
|- magic
|- mime.types
|- mod_*.conf
|- server-tuning.conf
|- ssl.*
|- ssl-global.conf
|- sysconfig.d
| |
| |- global.conf
| |- include.conf
| |- loadmodule.conf . .
|
|- uid.conf
|- vhosts.d
| |- *.conf
Apache Configuration Files in /etc/apache2/
----------------------------------------------
###################
default-server.conf - edit this file for each host.
Global configuration for all virtual hosts with reasonable defaults.
###################
# charset.conv - Specifies character sets for languages. Do not edit this file.
# conf.d/*.conf - Configuration files added by other modules. Can be used in virtual host definitions.
# errors.conf - Defines how Apache responds to errors. To customize these messages for all virtual hosts, edit this file.
# httpd.conf - The main Apache server configuration file. Avoid changing this file.
# listen.conf - Binds Apache to specific IP addresses and ports. Section 24.2.2.1.1, “Name-Based Virtual Hosts”.
# magic - Data for mime_magic module. Do not change this file.
# mime.types - MIME types (links to /etc/mime.types). Do not edit this file.
# mod_*.conf - Configuration files for modules installed by default. Refer to Section 24.4
# server-tuning.conf - (see Section 24.4.4, “Multiprocessing Modules”)
# ssl-global.conf and ssl.* - Section 24.6, “Setting Up a Secure Web Server with SSL” for details.
# sysconfig.d/*.conf - /etc/sysconfig/apache2. Do not change any of these files—edit /etc/sysconfig/apache2 instead.
# uid.conf - Specifies under which user and group ID Apache runs. Do not change this file.
# vhosts.d/*.conf - Refer to Section 24.2.2.1, “Virtual Host Configuration” for details.
###################
Example 24.1: Basic Examples of Name-Based VirtualHost Entries
# This first-listed virtual host is also the default for *:80
ServerName www.example.com
ServerAlias example.com
DocumentRoot /srv/www/htdocs/domain
ServerName other.example.com
DocumentRoot /srv/www/htdocs/otherdomain
The opening VirtualHost tag takes the IP address (or fully qualified domain name)
as an argument in a name-based virtual host configuration. A port number directive is optional.
The wild card * is also allowed as a substitute for the IP address.
When using IPv6 addresses, the address must be included in square brackets.
----------------------------------------------------
Contents https://en.opensuse.org/SDB:LAMP_setup
##########################################################################
2 Setting up Apache2
2.1 Installing Apache2
2.2 Starting Apache2
2.3 Testing the installation
##########################################################################
# zypper in apache2
Starting Apache2
To start the apache server, enter the following command:
# systemctl start apache2
If you ever want to restart the apache server, use:
# systemctl restart apache2
or if you want to stop it
# systemctl stop apache2
To automatically start the apache server after a reboot:
# systemctl enable apache2
Testing the installation
To check if you apache server works, use vi to create the index.html file in the
/srv/www/htdocs/ folder with the following content:
this is a test, this is a web site.
Now point your browser to: 'localhost'.
You should see a page with Welcome to my web site! as a headline.
----------------------------------------------------
https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.apache2.html
24.3 Starting and Stopping Apache
To start, stop, or manipulate Apache, use systemctl or the apachectl
systemctl status apache2 # Checks if Apache is started.
systemctl start apache2 # Starts Apache if it is not already running.
systemctl stop apache2 # Stops Apache by terminating the parent process.
systemctl restart apache2 # Stops and then restarts Apache. Starts the Web server if it was not running before.
systemctl try-restart apache2 # Stops then restarts Apache only if it is already running.
systemctl reload apache2 # Stops the Web server by advising all forked Apache processes to first finish their
requests before shutting down. As each process dies, it is replaced by a newly started one,
resulting in a complete “restart” of Apache.
apachectl -k graceful # Starts a second Web server that immediately serves all incoming requests.
The previous instance of the Web server continues to handle all existing requests for a defined period
of time configured with GracefulShutdownTimeout.
This command is useful either when upgrading to a new version or when having changed configuration
options that require a restart. Using this option ensures a minimum server downtime.
If GracefulShutdownTimeout is set to zero, the server will wait indefinitely until all remaining
requests have been fully served.
A graceful restart can fail if the original Apache instance is not able to clear all necessary resources.
In this case, the command will result in a graceful stop.
systemctl stop apache2 # Stops the Web server after a defined period of time configured with GracefulShutdownTimeout to ensure
that existing requests can be finished.
apachectl configtest # Checks the syntax of the configuration without affecting a running Web server.
Because this check is forced every time the server is started, reloaded, or restarted,
it is usually not necessary to run the test explicitly (if a configuration error is found,
the Web server is not started, reloaded, or restarted).
service commands for Apache and some issues related to systemd and Apache 2.4
apache2 commands: status, reload, start, stop (chkconfig, sysctl, systemctl, apache2 and service)
Date: Tue, 18 Oct 2016 22:43:54 +0000
Subject: apache commands - /etc/init.d/apache2 vs. sysctl vs. service
had a problem with apache2 when using initd scripts:
--> /etc/init.d/apache2 status
No apache MPM package installed
# had never noticed this error before, google was a wild goose chase... so...
# attempted to update the system, but that didn't clear the error when using initd command.
# also update apache2, system reported the latest version.
# I tried to add the multiple processor module, but it wasn't found.
zypper update # several packages updated
zypper update apache2 # reported latest version installed
zypper install apache2 # reported latest version installed
zypper install apache2-prefork # not found or at the latest version
/etc/init.d/apache2 status
/etc/init.d/apache2 checkconfig
/etc/init.d/apache2 configtest
/etc/init.d/apache2 reload
/etc/init.d/apache2 restart
-----------------------------------------------------
# Then I decided to use sysctl to check the status:
-----------------------------------------------------
sysctl apache2 status
--> sudo sysctl apache2 status
sysctl: cannot stat /proc/sys/apache2: No such file or directory
sysctl: cannot stat /proc/sys/status: No such file or directory
------------------------------------------------
# I know apache2 was running... the websserver was working... but... clearly this wasn't the correct command...
# since I don't use these newer commands daily I thought I was using the wrong one... tried more below...
------------------------------------------------
chkconfig -A | grep apache
chkconfig -A -l
------------------------------------------------
--> sudo chkconfig -A | grep apache
apache2 on
------------------------------------------------
--> sudo chkconfig -A -l | grep apache
Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.
apache2 0:off 1:off 2:off 3:off 4:off 5:on 6:off
-------------------------------------------------------------------------------------------------------------------------
------------------------------------------------
vi /etc/apache2/default-server.conf # checked config file for any obvious errors or modules that weren't supported
cat /etc/sysconfig/apache2 | grep -E -v '(^\s*#|^$)' # this extracts ONLY lines that are not blank or commented out
------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
# I had updated my config file to change a directory directive and it wasn't taking. I found some minor errors that were
# also fixed, but still could not get the config update loaded using either sysctl or init.d, so I tried systemd service
-------------------------------------------------------------------------------------------------------------------------
service apache2 reload
service apache2 stop ; service apache2 status
service apache2 force-reload
service apache2 start ; service apache2 status
-------------------------------------------------------------------------------------------------------------------------
# this seemed to work, no errors showed up and the modification to the /etc/apache2/default-server.conf file took...
# interesting to note one line difference between mere mortal and super user... showed the time started and hostname...
-------------------------------------------------------------------------------------------------------------------------
--> sudo service apache2 status
apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled)
Active: active (running) since Tue 2016-10-18 10:57:33 PDT; 11h ago
Process: 16680 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
Process: 15929 ExecReload=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful (code=exited, status=0/SUCCESS)
Main PID: 16846 (/usr/sbin/httpd)
Status: "Total requests: 2970; Current requests/sec: 0.5; Current traffic: 0 B/sec"
CGroup: /system.slice/apache2.service
|-16846 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-20072 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31301 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31303 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31305 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31315 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31319 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31320 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31575 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
|-31576 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
`-31578 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
Oct 18 10:57:33 JohnMeister systemd[1]: Started The Apache Webserver.
------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
# then I tried systemctl - it also worked
-------------------------------------------------------------------------------------------------------------------------
systemctl start apache2.service
systemctl status apache2.service ; journalctl
-------------------------------------------------------------------------------------------------------------------------
--> systemctl status apache2.service ; journalctl
apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled)
Active: active (running) since Tue 2016-10-18 10:57:33 PDT; 11h ago
Process: 16680 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
Process: 15929 ExecReload=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful (code=exited, status=0/SUCCESS)
Main PID: 16846 (/usr/sbin/httpd)
Status: "Total requests: 2849; Current requests/sec: 0.7; Current traffic: 0 B/sec"
CGroup: /system.slice/apache2.service
├─16846 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─20072 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31301 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31303 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31305 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31315 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31319 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31320 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31575 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31576 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
└─31578 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
No journal files were found.
-------------------------------------------------------------------------------------------------------------------------
--> sudo systemctl status apache2.service ; journalctl
apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled)
Active: active (running) since Tue 2016-10-18 10:57:33 PDT; 11h ago
Process: 16680 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
Process: 15929 ExecReload=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful (code=exited, status=0/SUCCESS)
Main PID: 16846 (/usr/sbin/httpd)
Status: "Total requests: 2855; Current requests/sec: 0.6; Current traffic: 0 B/sec"
CGroup: /system.slice/apache2.service
├─16846 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─20072 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31301 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31303 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31305 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31315 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31319 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31320 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31575 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─31576 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
└─31578 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
Oct 18 10:57:33 JohnMeister systemd[1]: Started The Apache Webserver.
No journal files were found.
-------------------------------------------------------------------------------------------------------------------------
# had trouble with dns... enabled virtual hosts on local system, /etc/apache2/default-server.conf
------------------------------------------------
--> service apache2 reload
--> service apache2 restart
--> service apache2 status
apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled)
Active: active (running) since Tue 2016-10-18 23:41:29 PDT; 106ms ago
Process: 489 ExecStop=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=0/SUCCESS)
Process: 451 ExecReload=/usr/sbin/start_apache2 -D SYSTEMD -DFOREGROUND -k graceful (code=exited, status=0/SUCCESS)
Main PID: 535 (/usr/sbin/httpd)
Status: "Processing requests..."
CGroup: /system.slice/apache2.service
├─535 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─572 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─574 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─575 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
├─576 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
└─577 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -DFOREGROUND -k start
Oct 18 23:41:29 JohnMeister systemd[1]: Started The Apache Webserver.
-------------------------------------------------------------------------------------------------------------------------
outline of topics related to Apache & Tomcat - various sources
Apache Tomcat Administration covers the details of installing and configuring Tomcat Web Server.
Outline:
Apache and Jakarta Tomcat
* History of Apache
* The Apache Software Foundation
* The Jakarta Project
* Tomcat Licensing
* The J2EE Technologies
* Java Web Development
* Servlet/JSP Containers
Java Web Applications
* Servlets Overview
* Advantages of Servlets
* Lifecycle of a Servlet
* Overview of JavaServer Pages
* A Simple JavaServer Page
* JSP and JavaBeans
* JSP Tag Libraries
* The MVC frameworks (e.g. Struts)
Installing Tomcat
* Downloading and Installing Apache Tomcat
* Overview of Installing Tomcat
* Download and install a JVM
* Download Tomcat
* Using the Windows installer
* Understanding Java memory managemenet and tweaking the JVM for performance
* Download and install Ant
Tomcat Directories
* Examining the Tomcat Installation Directories
* Tomcat Directory Structure
* The bin Directory
* common and shared Directories
* The conf Directory
* The logs Directory
* The server directory
* The work Directory
* The temp Directory
* The webapps Directory
* Web Application Directory Structure
* Deploying HTML and JSP Pages
* Deploying a Web Context
* Viewing the JSP Page
* Viewing the Generated Code
Configuring Tomcat
* Tomcat Configuration Techniques
* Tomcat's Component Architecture
* The Element
* The Element
* The Element
* The Element
* The Element
* The Element
* The Element
* The Element
* The Element
* The Element
* The Element
* The server.xml File
Deploying Web Applications
* Web Application Administration
* Deploying Web Applications
* The Directory Structure of a Web App
* web.xml configuration file
* Deployment Descriptors
* The Element
* Mapping a Servlet to a URL
* The Element
* The Element
* The Element
* A Sample web.xml file
* Deploying a Web Application
* Tomcat's default conf/web.xml file
* Tuning default JSP and Static-content servlets
The Tomcat Manager
* Deploying and Managing Web Application using the Tomcat Manager
* Starting the Tomcat Manager
* Tomcat Manager
* The Manager Section
* Applications
* Deploy
* Server Information
* Creating a WAR File
* Deploying a WAR File
* Java Management Extensions (JMX) on Tomcat
* Tomcat integration with Ant
Advanced Features
* Using Some of the Advanced Features of Tomcat
* Valves
* Access Log Valve
* Single Sign-on Valve
* Remote Address Filter
* Remote Host Filter
* Request Dumper Valve
* Configuring JNDI Resources
* JNDI: Java Naming and Directory Interface
* Defining a JNDI Resource
* The Element
* The Element
* Configuring a JavaMail Session
* Global Resources
* Using Valves
JDBC Connectivity
* Configuring Tomcat to Connect to a Database
* Overview of JDBC
* JDBC Drivers
* Connecting to a Database
* Connection Pools
* Download and Install MySQL
* Configure MySQL for Tomcat
* Create a Database in MySQL
* Download and Deploy a JDBC Driver
* Defining a DataSource in Tomcat
* Defining a Data Source Manually
* Modifying the Deployment Descriptor
* Detecting and closing leaked database connections
* JDBC Connections
Tomcat Security
* Configuring Security on Tomcat
* Security Considerations
* File System Security
* Filesystem Recommendations
* The Java Security Manager
* Granting Permissions to Java Apps
* Java Permissions
* Adding Your Own Policies
* Enabling the Java Security Manager
* Security Manager Tips
* Security Realms
* Different Types of Realms
* Configuring a Realm
* Users and Roles (authentication and authorization)
* Creating a Data Source Realm
* Protecting passwords
* FORM-based authentication
* Configuring Tomcat for SSL
* Requiring SSL in applications
* Create a Data Source Realm
Connectors
* Connecting Tomcat to Apache
* Overview of Connectors
* HTTP Connectors
* Advantages of Using a Web Server
* Connector Protocols
* Step 1: Configure an AJP Connector
* Step 2: Download mod_jk
* Step 3: Create the mod_jk.conf file
* Step 4: Start Tomcat
* Step 5: Create a Worker
* Step 6: Configure httpd.conf
* Test the Setup
* Load balancing applications across multiple Tomcat instances
* Issues with load balancing
* Server affinity via sticky sessions
* Shared session storage
* Replicated sessions via Tomcat clustering
* Clustering
Shared Hosting
* Overview of Shared Hosting
* Tomcat Virtual Hosting
* Configure Tomcat to enable virtual hosting as a stand-alone server
* Configure Tomcat to enable virtual hosting using jk2 or webapp.
* Configure Tomcat as Stand-alone
* Configure Tomcat with AJP
* Separate JVM for Each Host
* virtual hosting
Load Testing
* Using the JMeter Application
* Load Testing with JMeter
* Install JMeter
* Running JMeter
* Creating a Test Plan
* Configure the Thread Group
* Add a Task to the Thread Group
* Configure the HTTP Request
* Add a Report Listener
* Run the Test Plan
* Viewing the Results
Apache Web Server
Outline:
Introduction to Apache
* The Apache Software Foundation
* Apache HTTP Server is an open-source project managed by the Apache Software Foundation (ASF): Jakarta, Perl, PHP, XML, TCL, Ant, Logging
* Downloading Apache
* Download the Apache Binary for Windows
* Make sure Port 80 is available
* Run the Install Program
* Change the install folder to be c:Apache
* Click Install to complete the installation
* Test the Installation
Starting and Stopping Apache
* Start/Stop the Server on Windows
* The Apache Monitor
* Install Apache as a Service
* The apachectl Script
The Apache Configuration Files
* The contents of the /conf directory
* The httpd.conf file
* Directives
* Sections
* The Include Directive
* The Options Directive
* The Installed Directories
The htaccess File
* Overview of .htacces files
* Configuring .htaccess
* The AllowOverride directive
* Setting directory authentication
* Allowing CGI scripts
* Performance Issues
Virtual Hosts
* Overview of Virtual Hosting
* IP-Based Virtual Hosts
* Name-based Virtual Hosts
* Port-based Virtual Hosts
* Bulk Virtual Hosting
MIME and File Types
* Overview of MIME Types
* Configuring MIME Types
* Encoding Files
* Character Sets
* Languages
URL Mapping
* Configuring Aliases
* Configuring Redirects
* The DocumentRoot Directive
* Error Documents
Directory Indexing
* The DirectoryIndex Directive
* Fancy Indexing
* Headers and Footers
* Ignoring Files
* Searching and Sorting
Performance Tuning
* The ApacheBench Utility Program
* Tweaking the Apache Configuration
Handlers and Filters
* Overview of Handlers
* The Section
* Configuring Handlers
* The server-status Handler
* Overview of Filters
* Configuring Filters
SSI
* Overview of SSI
* Configuring SSI
* Using SSI Directives
Managing Scripts
* Overview of scripting options
* The mod_perl Module
* Configuring mod_perl
* Installing PHP on Windows
* Configuring PHP
Security
* Common Security Issues with Apache
* Dynamic Content Issues
* Authentication
* Authorization
* Access Control
* Unix File Permissions
Modules
* Overview of Apache Modules
* Installing Modules
|