Chapter 26. The Apache HTTP Server


26.1. Quick Start
26.2. Configuring Apache
26.3. Starting and Stopping Apache
26.4. Installing, Activating, and Configuring Modules
26.5. Getting CGI Scripts to Work
26.6. Setting Up a Secure Web Server with SSL
26.7. Avoiding Security Problems
26.8. Troubleshooting
26.9. For More Information


With a share of more than 70%, the Apache HTTP Server (Apache) is the world's most widely-used Web server according to the November 2005 Survey from Apache, developed by the Apache Software Foundation (, is available for most operating systems. SUSE Linux includes Apache version 2.2. In this chapter, learn how to install, configure and set up a Web server; how to use SSL, CGI, and additional modules; and how to troubleshoot Apache.

26.1. Quick Start

With the help of this section, quickly set up and start Apache. time. You must be root to install and configure Apache.

26.1.1. Requirements

Make sure that the following requirements are met before trying to set up the Apache Web server:

  1. The machine's network is configured properly. For more information about this topic, refer to Chapter 18, Basic Networking.

  2. The machine's exact system time is maintained by synchronizing with a time server. This is necessary because parts of the HTTP protocol depend on the correct time. See Chapter 24, Time Synchronization with NTP to learn more about this topic.

  3. The latest security updates are installed. If in doubt, run a YaST Online Update.

  4. The default Web server port (port 80) is opened in the firewall. For this, configure the SUSEFirewall2 to allow the service HTTP Server in the external zone. This can be done using YaST. Section, “Configuring with YaST” gives details.

26.1.2. Installation

Apache on SUSE Linux is not installed by default. To install it, start YaST and select Software+Software Management. Now choose Filters+Selections and select Simple Web Server with Apache2. Confirm the installation of the dependent packages to finish the installation process.

Apache is installed with a standard, predefined configuration that runs “out of the box”. The installation includes the multiprocessing module apache2-prefork as well the PHP5 module. Refer to Section 26.4, “Installing, Activating, and Configuring Modules” for more information about modules.

26.1.3. Start

To start Apache and make sure that it is automatically started during boot, start YaST and select System+System Services (Runlevel). Search for apache2 and Enable the service. The Web server starts immediately. By saving your changes with Finish, the system is configured to automatically start Apache in runlevels 3 and 5 during boot. For more information about the runlevels in SUSE Linux and a description of the YaST runlevel editor, refer to Section 8.2.3, “Configuring System Services (Runlevel) with YaST”.

To start Apache using the shell, run rcapache2 start. To make sure that Apache is automatically started during boot in runlevels 3 and 5, use chkconfig -a apache2.

If you have not received error messages when starting Apache, the Web server should be running now. Start a browser and open http://localhost/. You should see an Apache test page starting with “If you can see this, it means that the installation of the Apache Web server software on this system was successful.” If you do not see this page, refer to Section 26.8, “Troubleshooting”.

Now that the Web server is running, you can add your own documents, adjust the configuration according to your needs, or add functionality by installing modules.