Apache Web Server

Latest Article:

Enabling and using apache's mod_status on Gentoo

Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.

The Apache Web Server is the workhorse of the Internet - even after all these years, she still powers just over half all websites (netcraft.com).

These Apache tutorials take you from the basics of installing and configuring Apache for simple and multiple websites to more advanced techniques.

Apache:

Installing apache: Learn how to install apache and configure it to fit your needs.


How to serve multiple domains: A commonly asked question is how to serve multiple domains. Let's take a look at the processes involved.

Introduction to Virtual Hosts: Once the principles behind name based Virtual Hosts are understood, creating and configuring them is much easier.

Multiple Hosts Layout: A consistent layout is used (if possible) between different OS and web server articles. Let's look at this layout and how it works.

Virtual Hosts Permissions: One thing that can be a cause for concern is the subject of permissions. Let's look at how they are set for virtual hosts.


Barebones apache install overview: How to set up a basic, no-frills apache server on various distributions. Recommended for experienced admins only.


Enabling and using apache's mod_status Overview: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.


Web logs:

Reading apache web logs: Whether you're dealing with web server difficulties or just want to see what apache is up to, your best bet is to look in its logs.

Interpreting common status codes in web logs: The status codes you find in your web logs are useful troubleshooting tools, but only if you know what they mean.

Customizing apache web logs: You can create your own custom formats for apache web logs, to record more information or to make them easier to read. Here's how.


SSL:

Managing SSL Certificates #1: Tips for organizing and managing your SSL certificates.

Managing SSL Certificates #2: How to test your SSL keys and certificates for problems before using them with a web site.


Web traffic reporting:

Installing awstats on Linux: The awstats program is a versatile tool for generating web traffic reports. We'll walk through a simple installation to track stats for your site.

Generating and viewing awstats reports: Now that awstats is installed we take a look at actually running the analysis and viewing the reports.

Scheduling awstats report generation: We've looked at running awstats reports, but only manually. Let's automate report generation so all you need to worry about is looking at those sweet, sweet numbers.


Ubuntu Intrepid Specific:

Ubuntu Intrepid - Apache and PHP install: Installing Apache 2.2.9 and PHP 5.2.6 on an Ubuntu Intrepid Slice is simple using the 'aptitude' package manager.

Ubuntu Intrepid - Apache Configuration Layout: Ubuntu Intrepid uses a 'Debian' style layout for the Apache install. Let's look at what that means.


Ubuntu Intrepid - Apache Configuration #1: Now we can take a look at the main Intrepid apache2.conf and ports.conf files and see what the settings mean and what effect they have.

Ubuntu Intrepid - Apache Configuration #2: Continuing from the first Apache configuration article, this one looks at some further settings in the main apache2.conf file.


Ubuntu Intrepid - Apache Virtual Hosts #1: Now Apache is installed and running we can configure it to host multiple sites by creating our own custom virtual hosts.

Ubuntu Intrepid - Apache Virtual Hosts #2: Continuing from the previous article, we now look in detail at the settings we can use in the vhosts file.


Barebones apache install for Ubuntu: How to set up a basic, no-frills apache server. Recommended for experienced admins only.


Ubuntu Intrepid - using mod_rails to serve your application: Now passenger is installed, let's see how to serve our Ruby on Rails application.


Ubuntu Intrepid - Apache Rails and Thin: Now we've installed and looked at configuring the thin web server, let's create an Apache vhost to proxy our requests.


Ubuntu Intrepid - Apache, Rails and mongrels: Now we have mongrels and mongrel_clusters installed, we can move onto create an Apache vhost for our rails application.


Enabling and using apache's mod_status on Ubuntu: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.


Ubuntu Hardy Specific:

Ubuntu Hardy - Apache and PHP install: Installing Apache 2.2.8 and PHP 5.2.4 on an Ubuntu Hardy Heron Slice is simple using the 'aptitude' package manager.

Ubuntu Hardy - Apache Configuration Layout: Ubuntu Hardy Heron uses a 'Debian' style layout for the Apache install. Let's look at what that means.


Ubuntu Hardy - Apache Configuration #1: Now we can take a look at the main Hardy Heron apache2.conf and ports.conf files and see what the settings mean and what effect they have.

Ubuntu Hardy - Apache Configuration #2: Continuing from the first Apache configuration article, this one looks at some further settings in the main apache2.conf file.


Ubuntu Hardy - Apache Virtual Hosts #1: Now Apache is installed and running we can configure it to host multiple sites by creating our own custom virtual hosts.

Ubuntu Hardy - Apache Virtual Hosts #2: Continuing from the previous article, we now look in detail at the settings we can use in the vhosts file.


Barebones apache install for Ubuntu: How to set up a basic, no-frills apache server. Recommended for experienced admins only.


Ubuntu Hardy - using mod_rails to serve your application: Now passenger is installed, let's see how to serve our Ruby on Rails application.


Ubuntu Hardy - Apache Rails and Thin: Lets look at creating an Apache vhost to proxy requests for our Ruby on Rails application to the 'thin' web server.


Ubuntu Hardy - Apache, Rails and mongrels: Now we have mongrels and mongrel_clusters installed, we can move onto create an Apache vhost for our rails application.


Ubuntu Hardy - Installing Apache Tomcat: Installing the Apache Tomcat server for Java servlets and JSP on Ubuntu Hardy.


Enabling and using apache's mod_status on Ubuntu: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.


Debian Lenny Specific:

Debian Lenny - Apache and PHP install: Installing Apache 2.2.9 and PHP 5.2.6 is a breeze using aptitude. See how to install them and the follow the articles for configuration.

Debian Lenny - Apache Configuration Layout: Debian uses a slightly different layout than a 'classic' Apache install. Let's investigate.


Debian Lenny - Apache Configuration #1: Let's look at the main Debian Lenny apache2.conf file and see what the settings mean and what effect they have.

Debian Lenny - Apache Configuration #2: Continuing from the first Debian Lenny Apache configuration article, this one looks at some further settings in the main apache2.conf file.


Debian Lenny - Virtual Hosts #1: Now we have Apache up and running we can host multiple domains by creating virtual hosts.

Debian Lenny - Virtual Hosts #2: Continuing from the previous Lenny vhosts article, we now look in detail at the settings we can use in the vhosts file.


Barebones apache install for Debian: How to set up a basic, no-frills apache server. Recommended for experienced admins only.


Debian Lenny - Passenger with Apache: So our Debian Lenny Slice has a nice Rails stack, how are we going to serve the content? Enter mod_rails (Passenger).

Debian Lenny - Using passenger and Apache to serve your application : So, we have mod_rails (Passenger) installed. Let's go ahead and see how incredibly simple it is to serve our Rails application


Enabling and using apache's mod_status on Debian: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.


Debian Etch Specific:

Debian Etch - Apache and PHP install: Installing Apache 2.2.3 and PHP 5.2 on a Debian Etch Slice is a breeze using aptitude. Follow the next articles for configurations.

Debian Etch - Apache Configuration Layout: Debian uses a slightly different layout than a 'classic' Apache install. Let's investigate.


Debian Etch - Apache Configuration #1: Let's look at the main Debian apache2.conf file and see what the settings mean and what effect they have.

Debian Etch - Apache Configuration #2: Continuing from the first configuration article, this one looks at some further settings in the main apache2.conf file.


Debian Etch - Virtual Hosts: Now we have Apache up and running we can host multiple domains by creating virtual hosts.

Debian Etch - Virtual Hosts #2: Continuing from the previous article, we now look at some more settings that are available to us in the vhosts file.

Debian Etch - SSL and Virtual Hosts: How about securing the login area of an administration panel? No problem, let's install a self signed certificate.


Debian Etch - Apache, Rails and Mongrels: Using Apache to proxy requests to mongrel server(s) is not as complicated as it may seem. Let's take a look.

Debian Etch - Mongrel clusters and surviving a reboot: Following from the previous article, we now look at mongrel clusters and ensuring they restart on a reboot.


Enabling and using apache's mod_status on Debian: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.


Gentoo Specific:

Gentoo - Apache install: Installing Apache on a Gentoo Slice is simple using the 'emerge' command. Let's take a look at the basics.


Gentoo - Apache Config Layout: Now Apache has been installed, let's take a quick look at the configuration layout for Apache on our Gentoo Slice.

Gentoo - Apache Layout #1: Once Apache has been installed, we need to understand the layout and see what the basic settings are in the main configuration file.

Gentoo - Apache Layout #2: Let's conclude our journey into Apache and take a look other items relating to the layout and see what the basic settings are in the main configuration file.


Gentoo - Apache Virtual Hosts #1: Now that we have familiarized ourselves with the Apache configuration, we can proceed with configuring the hosting of multiple sites through the use of virtual hosts.

Gentoo - Apache Virtual Hosts #2: Continuing from the previous article, we'll look in detail at some of the additional settings available to us in Apache's virtual host configuration files.


Ubuntu Gutsy Specific:

Ubuntu Gutsy - Apache and PHP install: Installing Apache 2.2.4 and PHP 5.2.3 on an Ubuntu Feisty Slice is simple using aptitude.

Ubuntu Gutsy - Apache Configuration Layout: Ubuntu Gutsy uses a 'Debian' style layout for the Apache install. Let's investigate.


Ubuntu Gutsy - Apache Configuration #1: Let's look at the main Gutsyu apache2.conf file and see what the settings mean and what effect they have.

Ubuntu Gutsy - Apache Configuration #2: Continuing from the first configuration article, this one looks at some further settings in the main apache2.conf file.


Ubuntu Gutsy - Virtual Hosts #1: Now Apache is installed and running we can configure it to host multiple sites by creating virtual hosts.

Ubuntu Gutsy - Virtual Hosts #2: Continuing from the previous vhosts article, we now look in detail at the available settings in the vhosts file.

Ubuntu Gutsy - SSL and Virtual Hosts: How about securing the login area of an administration panel? No problem, let's configure a vhost for just that.


Ubuntu Gutsy - Apache, Rails and Mongrels: Using Apache to proxy requests to mongrel server(s) is one of the ways of serving a Rails application.

Ubuntu Gutsy - Mongrel clusters and surviving a reboot: Following the previous article, we now look at mongrel clusters and ensuring they restart on a reboot.


Ubuntu Feisty Specific:

Ubuntu Feisty - Apache and PHP install: Installing Apache 2.2 and PHP 5.2 on an Ubuntu Feisty Slice is simple using aptitude.

Ubuntu Feisty - Apache Configuration Layout: Ubuntu uses a 'Debian' style layout for the Apache install. Let's investigate.


Ubuntu Feisty - Apache Configuration #1: Let's look at the main Ubuntu apache2.conf file and see what the settings mean and what effect they have.

Ubuntu Feisty - Apache Configuration #2: Continuing from the first configuration article, this one looks at some further settings in the main apache2.conf file.


Ubuntu Feisty - Virtual Hosts: Now Apache is installed and running we can configure it to host multiple sites by creating virtual hosts.

Ubuntu Feisty - Virtual Hosts #2: Continuing from the previous vhosts article, we now look in detail at the available settings in the vhosts file.

Ubuntu Feisty - SSL and Virtual Hosts: Let's secure the login area of an administration panel. We can do this by installing a self signed certificate.


Ubuntu Feisty - Apache, Rails and Mongrels: Using Apache to proxy requests to mongrel server(s) is one of the ways of serving a Rails application.

Ubuntu Feisty - Mongrel clusters and surviving a reboot: Following the previous article, we now look at mongrel clusters and ensuring they restart on a reboot.

Ubuntu LTS Specific:

Ubuntu LTS - Apache and PHP install: Installing Apache 2.0.55 and PHP 5.1.2 on an Ubuntu LTS Slice is straight forward using apt-get.

Ubuntu LTS - Apache Configuration Layout: Ubuntu uses a 'Debian' style layout for the Apache install. Let's investigate.


Ubuntu LTS - Apache Configuration #1: Let's look at the main LTS apache2.conf file and see what the settings mean and what effect they have.

Ubuntu LTS - Apache Configuration #2: Continuing from the first configuration article, this one examines some more settings in the main apache2.conf file.


Ubuntu LTS - Virtual Hosts: Now Apache is installed and has been optimised we can configure it to host multiple sites by creating virtual hosts.

Ubuntu LTS - Virtual Hosts #2: Continuing from the first vhosts article, we now look in detail at the available settings in the vhosts file.

Ubuntu LTS - SSL and Virtual Hosts: We can secure the login area of an administration panel by creating and installing a self signed certificate.


CentOS specific:

CentOS - Apache and PHP install: Installing Apache 2.2 and PHP 5.1 on a CentOS Slice is simple using 'yum'. Let's go ahead and install the basics.


CentOS - Apache Configuration #1: Let's look at the main CentOS httpd.conf file and see what the settings mean and what effect they have.

CentOS - Apache Configuration #2: Continuing from the first configuration article, this one looks at some further settings in the main httpd.conf file..


CentOS - Virtual Hosts #1: Now Apache is installed and has been optimised we can configure it to host multiple sites by creating virtual hosts.

CentOS - Virtual Hosts #2: Continuing from the first vhosts article, we now look in detail at the available settings in the vhosts file.


Barebones apache install for CentOS: How to set up a basic, no-frills apache server. Recommended for experienced admins only.


CentOS - Using mod_rails to serve your application: Now passenger is installed, let's see how to serve our Ruby on Rails application.


CentOS - Apache, Rails, and thin: Now we've installed and looked at configuring the thin web server, let's create an Apache vhost to proxy our requests.


CentOS - Apache, Rails, and mongrels: Now we have mongrels and mongrel_clusters installed, we can move onto create an Apache vhost for our rails application.


Enabling and using apache's mod_status on CentOS: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.


Fedora specific:

Barebones apache install for Fedora: How to set up a basic, no-frills apache server. Recommended for experienced admins only.


Enabling and using apache's mod_status on Fedora: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.


RHEL specific:

Barebones apache install for RHEL: How to set up a basic, no-frills apache server. Recommended for experienced admins only.


Enabling and using apache's mod_status on RHEL: Apache's mod_status module allows it to display a web page containing statistics about the web server's current state, including worker processes and active connections.

Please feel free to request articles or comment with any suggestions or ideas of your own.

PickledOnion