Apache Web Server on CentOS 6
Updated by Elle Krout Written by Alex Fornuto
The Apache HTTP Server (Apache) is an open-source web server application. This guide explains how to install and configure an Apache web server on CentOS 6.
If instead you would like to install a full LAMP (Linux, Apache, MySQL, and PHP) stack, please see the LAMP on CentOS 6 guide.
NoteThis guide is written for a non-root user. Commands that require elevated privileges are prefixed with
sudo. If you’re not familiar with the
sudocommand, you can check our Users and Groups guide.
Before You Begin
To check your hostname run:
hostname hostname -f
The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN).
Update your system:
sudo yum update
Install the Apache HTTP Server:
sudo yum install httpd
Edit the main Apache configuration file to adjust the resource use settings. The settings shown below are a good starting point for a Linode 2GB:
1 2 3 4 5 6 7 8 910
KeepAlive Off <IfModule prefork.c> StartServers 4 MinSpareServers 20 MaxSpareServers 40 MaxClients 200 MaxRequestsPerChild 4500 </IfModule>
Configure Apache for Virtual Hosting
Create a file under
vhost.conf. Replace instances of
example.comwith your own domain information:
<VirtualHost *:80> ServerAdmin email@example.com ServerName example.org ServerAlias www.example.org DocumentRoot /srv/www/example.org/public_html/ ErrorLog /srv/www/example.org/logs/error.log CustomLog /srv/www/example.org/logs/access.log combined </VirtualHost>
Additional virtual host blocks can be added to the file for any other domains you wish to host on the Linode.
Create the directories referenced above:
sudo mkdir -p /srv/www/example.org/public_html sudo mkdir -p /srv/www/example.org/logs
sudo service httpd start
Set Apache to start at boot:
sudo chkconfig httpd on
Apache Mods and Scripting
Install Apache Modules
By default, modules are located in the
/etc/httpd/modules/ directory. Configuration directives for the default modules are located in
/etc/httpd/conf/httpd.conf, while configuration options for optional modules installed with yum are generally placed in
.conf files in
List available Apache modules:
sudo yum search mod_
Install any desired modules:
sudo yum install mod_[module-name]
Modules should be enabled and ready to use following installation
Install Support for Scripting
The following commands install Apache support for server-side scripting in PHP, Python, and Perl. Support for these languages is optional based on your server environment.
sudo yum install mod_perl
sudo yum install mod_wsgi
sudo yum install php php-pear
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
- Websites with Nginx on CentOS 5 - Deprecated
- Apache 2 Web Server on Fedora 12 - Deprecated
- Apache 2 Web Server on CentOS 5 - Deprecated
- Install Elasticsearch on Fedora, Red Hat, and CentOS
- Install Elasticsearch on Debian and Ubuntu
This guide is published under a CC BY-ND 4.0 license.