Chapter 32. The Apache HTTP Server


32.1. Quick Start
32.2. Configuring Apache
32.3. Starting and Stopping Apache
32.4. Installing, Activating, and Configuring Modules
32.5. Getting CGI Scripts to Work
32.6. Setting Up a Secure Web Server with SSL
32.7. Avoiding Security Problems
32.8. Troubleshooting
32.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. openSUSE™ 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.

32.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.

32.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 21, 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 25, 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 37.4.1, “Configuring the Firewall with YaST” gives details.

32.1.2. Installation

Apache on openSUSE is not installed by default. To install it, start YaST and select Software+Software Management. Now choose Filter+Patterns and select Web and LAMP Server under Primary Functions. 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 32.4, “Installing, Activating, and Configuring Modules” for more information about modules.

32.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 openSUSE and a description of the YaST runlevel editor, refer to Section 13.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 32.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.