zoukankan      html  css  js  c++  java
  • Configure Apache Virtual Hosts

    Difficulty: 2
    Time: 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, or you can install Apache by itself:

    1. Update your packages using yum:
      sudo yum update
    2. Install Apache:
      sudo yum install httpd
    3. Start up Apache, so that the httpd service will start automatically on a reboot:
      sudo service httpd start

    Set up the virtual host

    1. Create the virtual directories for your domain:
      sudo mkdir -p /var/www/coolexample.com/public_html
    2. 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.
    3. 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_htmlfolder 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).

    1. Create the index file:
      sudo vim /var/www/coolexample.com/public_html/index.html
    2. Add some content to the file:
      <html> 
          <head> 
          <title>Welcome to my site!</title> 
          </head> 
          <body> 
          <h1>Hooray! Your virtual host is working!</h1> 
          </body> 
      </html>
    3. Save and close the file:
      :wq!

    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.

    1. Open your config file:
      sudo vim /etc/httpd/conf/httpd.conf
    2. 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.
    3. 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.

    1. Create a new config file:
      sudo vim /etc/httpd/sites-available/coolexample.com.conf
    2. Paste this code in, replacing your own domain for coolexample.com.conf.

      Here's what the whole file could look like after your changes:

      <VirtualHost *:80>
          ServerAdmin webmaster@dummy-host.example.com    
          ServerName www.coolexample.com
          ServerAlias coolexample.com 
          DocumentRoot /var/www/coolexample.com/public_html 
          ErrorLog /var/www/coolexample.com/error.log 
          CustomLog /var/www/coolexample.com/requests.log combined 
      </VirtualHost>

    The lines ErrorLog and CustomLog are not required to set up your virtual host, but we've included them, in case you do want to tell Apache where to keep error and request logs for your site.

    • Save and close the file:
      :wq!
    • Enable your virtual host file with a sym link to the sites-enabled directory:
      sudo ln -s /etc/httpd/sites-available/coolexample.com.conf /etc/httpd/sites-enabled/coolexample.com.conf
    • Restart Apache:
      sudo service httpd restart

    Point your domain name to your server

    If your domain name isn't currently loading another website, you should point it to your server to test your new config.

    How you do this depends on where your domain name is registered and whose server you're using:

    Domain registered?Server hosted?Do this...
    GoDaddy GoDaddy Point your domain name to a server
    Another company GoDaddy Find a server's public IP address and then update your domain name's primary ("@") A record.
    GoDaddy Another company Find your server's IP address, and then change your domain's IP address to use it.
    Another company Another company Find your server's IP address, and then change your domain's IP address to use it.

    Changes to your domain can take up to 48 hours to display across the internet. However, once they do, you can visit your domain name and view the test page you created earlier!

    Adding additional virtual hosts

    To create additional sites, repeat the following sections:

    1. Set up the virtual host
    2. Create content for the website
    3. Create virtual host file — but for additional virtual hosts, you will need to create new config files in /etc/httpd/sites-available/, for example:
      /etc/httpd/sites-available/your second domain name
    4. Point your domain name to your server

     

  • 相关阅读:
    ATS项目更新(1) CC视图与备份路径同步
    IP地址的正则表达式
    python下载图片(2)
    NS2网络模拟(2)丢包率
    NS2网络模拟(7)homework03.tcl
    python 教程 第二十二章、 其它应用
    python 教程 第十九章、 图形界面编程
    python中string的操作函数
    python中对文件、文件夹的操作
    HTTP状态码(HTTP Status Code)
  • 原文地址:https://www.cnblogs.com/pangguoming/p/6210786.html
Copyright © 2011-2022 走看看