1. 程式人生 > >CentOS7 yum安裝Apache(httpd)並實現多域名配置

CentOS7 yum安裝Apache(httpd)並實現多域名配置

系統環境:騰訊雲CentOS 7.2 x64

一、Apache(httpd)安裝
安裝

yum install httpd
  • 1

設定自啟

systemctl enable httpd.service
  • 1

二、軟體配置
編輯httpd.conf就夠了,httpd.conf在/etc/httpd/conf中

vim /etc/httpd/conf/httpd.conf
  • 1

1、用#註釋掉以下兩行(其實如果不註釋,好像沒有什麼影響)

#ServerName www.example.com
#DocumentRoot /var/www/html
  • 1
  • 2

2、開放目錄使用許可權
在httpd.conf中寫入,引號中的路徑是自定義的開放訪問的路徑,其子目錄也開放使用。
如果不寫這個段落,網頁會被重定向到預設頁面,虛擬主機中的自定義路徑設定無效。
Directory裡的東西必修要寫,不寫就打不開。。。親測

<Directory "/home/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
  • 1
  • 2
  • 3
  • 4
  • 5

3、寫入虛擬主機資訊
①開啟虛擬主機並確定其監聽的主機名與埠,* 表示省略,80為網頁預設埠。

NameVirtualHost *:80
  • 1

②寫入單個虛擬主機資訊
ServerName —— 主機名(域名或公網IP)
ServerAlias —— 別名(二級域名或其他域名或IP)
DocumentRoot —— 檔案目錄(表示將域名對映至該檔案目錄)。
按照模版有幾個寫幾個,不知道有沒有上限。。。
虛擬主機的檔案目錄必須在上述的開放訪問的目錄下,不然無法訪問。
模版:

<VirtualHost *:80>
    ServerName XXX
    ServerAlias XXX2
    DocumentRoot /XXX
</VirtualHost>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、完整過程
示例僅供參考,如有其他需要,請根據情況自行修改。
1、控制檯命令

yum install httpd
systemctl enable httpd.service
systemctl start httpd.service
vim /etc/httpd/conf/httpd.conf
  • 1
  • 2
  • 3
  • 4
  • 5

2、httpd.conf修改(略去不用修改的部分)

#ServerName www.example.com
#DocumentRoot /var/www/html

<Directory "/home/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.mywebsite1.com
    DocumentRoot /home/www/htmla
</VirtualHost>

<VirtualHost *:80>
    ServerName mywebsite1.com
    DocumentRoot /home/www/htmlb
</VirtualHost>

<VirtualHost *:80>
    ServerName www.mywebsite2.com
    ServerAlias mywebsite2.com
    DocumentRoot /home/www/htmlc
</VirtualHost>