Kundinformation

Molnservrar Hjälp

Configure Apache Virtual Hosts - CentOS 6

Difficulty: 2Time: 15 minutes

Want to host websites on your server? Using Apache? Great. This article will show you how to do exactly that using Apache’s “virtual hosts.”

In Apache, you can use virtual hosts to direct http traffic for a given domain name to a particular directory (i.e. the root directory of the website for the domain in the request). This feature is commonly used to host multiple websites, but we recommend using it for every website on your server including the first.

Throughout this article, we'll use an example domain - coolexample.com - but you should replace it with the domain name or subdomain you want to host on your server.

Install the Apache web server

To get Apache on your server, you can either install it as part of a LAMP stack (CentOS 7/Fedora), or you can install Apache by itself:

Update your packages using yum:

sudo yum update

Install Apache:

sudo yum install httpd

Start up Apache, so that the httpd service will start automatically on a reboot:

sudo service httpd start

Set up the virtual host

Create the virtual directories for your domain:

sudo mkdir -p /var/www/coolexample.com/public_html

Change the ownership to the Apache group:

sudo chown -R apache:apache /var/www/coolexample.com/public_html

This lets Apache modify files in your web directories.

Change the directory's permissions so they can be read from the internet:

sudo chmod -R 755 /var/www/

Create content for the website

If you have the content for the website prepped, you can upload it to the /public_html folder you created in the last section.

If you don't have content ready to upload, you can create a sample home page (also known as an index file, which is the first page that loads when visitors come to your domain).

Configure your virtual host directories

We're going to copy a configuration usually used in Ubuntu/Debian and create two directories: one to store the virtual host files (sites-available) and another to hold symbolic links to virtual hosts that will be published (sites-enabled).

Create sites-available and sites-enabled directories

Create the directories:

sudo mkdir /etc/httpd/sites-available

sudo mkdir /etc/httpd/sites-enabled

Edit your Apache configuration file

Edit the main configuration file (httpd.conf) so that Apache will look for virtual hosts in the sites-enabled directory.

Open your config file:

sudo vim /etc/httpd/conf/httpd.conf

Add this line at the very end of the file:

IncludeOptional sites-enabled/*.conf

This way, we're telling Apache to look for additional config files in the sites-enabled directory.

Save and close the file:

:wq!

Create virtual host file

We're going to build it from a new file in your sites-available directory.

Create a new config file:

sudo vim /etc/httpd/sites-available/coolexample.com.conf

Paste this code in, replacing your own domain for coolexample.com.conf.