1. 程式人生 > >CentOS6.8搭建apache配置多虛擬主機

CentOS6.8搭建apache配置多虛擬主機

版本資訊

CentOS 6.8
Apache 2.4

獲取原始碼包方法,文章結尾有說明!

預裝環境

$ yum -y install gcc gcc-c++ wget expat-devel

安裝依賴

安裝apache之前,需要先安裝幾個元件:apr、apr-util、apr-iconv、pcre,這裡將安裝包上傳到/usr/local/software目錄下,目前只安裝apr、apr-util、pcre就行了。

安裝apr
$ cd /usr/local/software
$ tar -zxvf apr-1.6.5.tar.gz
$ cd apr-1.6.5/
$ ./configure --prefix=/usr/local/apr
$ make && make install
安裝apr-util
$ cd ..
$ tar -zxvf apr-util-1.6.1.tar.gz
$ cd apr-util-1.6.1
$ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
$ make && make install
安裝pcre
$ cd ..
$ tar -zxvf pcre-8.42.tar.gz
$ cd pcre-8.42
$ ./configure --prefix=/usr/local/pcre
$ make && make install

安裝Apache

$ cd ..
$ tar -zxvf httpd-2.4.37.tar.gz 
$ cd httpd-2.4.37 
$ ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
$ make && make install

注意:如果make中出現錯誤,必須執行make clean清除所有快取檔案後繼續,如果是在make install過程中出現錯誤,必須執行make clean並且刪除生成了安裝目錄,然後重新執行make和make install。

修改配置檔案中ServerName欄位內容,如以下所示:

$ vi /usr/local/apache/conf/httpd.conf

在這裡插入圖片描述

$ /usr/local/apache/bin/apachectl start		#啟動apache
在瀏覽器中輸入CentOS的ip地址,如顯示 ==It works!== ,則安裝成功!

在這裡插入圖片描述

將apache加入系統服務,並且設定為開機自啟。
$ cp /usr/local/apache/bin/apachectl /etc/init.d/httpd	
$ chmod +x /etc/init.d/httpd 
$ chkconfig --add httpd		#設定開機自啟

此步如果出現錯誤提示:==service httpd does not support chkconfig==
解決辦法:編輯/etc/rc.d/init.d/httpd,在#!/bin/sh下面加上如下兩行就可以了
	# chkconfig: 2345 10 90
	# description: Activates/Deactivates Apache Web Server
其中:需要帶上#,2345是設為要啟動的執行級別,10是啟動優先順序,90是殺死程序的優先順序,誰優先誰先掛的意思。

配置虛擬主機

apache 2.4把配置虛擬主機放到了conf/extra/httpd-vhosts.conf檔案中,讓配置檔案看起來更加的簡潔、清晰。

開啟/usr/local/apache/conf/httpd.conf,找到#Include conf/extra/httpd-vhosts.conf這一行,去掉前面的“#”註釋,讓apache載入虛擬機器配置檔案。
$ vi /usr/local/apache/conf/httpd.conf
	
	Include conf/extra/httpd-vhosts.conf
	
在httpd-vhostd-vhosts.conf中配置多虛擬主機,建立了兩個虛擬主機,兩個域名分別指向不同的目錄,配置如下:
$ vi /usr/local/apache/conf/extra/httpd-vhostd-vhosts.conf
    
    
<VirtualHost *:80>
	DocumentRoot "/var/www/html"
	ServerName www.weige.com
		<Directory "/var/www/html">
		Options -Indexes +FollowSymlinks
		AllowOverride All
		Require all granted
		</Directory>
</VirtualHost>
<VirtualHost *:80>
	DocumentRoot "/var/www/htm"
	ServerName www.weige123.com
		<Directory "/var/www/htm">
		Options -Indexes +FollowSymlinks
		AllowOverride All
		Require all granted
		</Directory>
</VirtualHost>
	
	
建立主機目錄
$ mkdir -p /var/www/html
$ mkdir -p /var/www/htm
$ echo "i am html" > /var/www/html/index.html
$ echo "i am htm" > /var/www/htm/index.html
$ service httpd restart		#重啟apache伺服器

驗證生效

為了驗證配置是否生效,這裡就不贅述DNS伺服器的配置。我們在Windows的hosts檔案中,對C:\Windows\System32\drivers\etc\hosts檔案新增域名和IP的對映關係。配置如下,具體內容以實際為主。
在這裡插入圖片描述
訪問結果如下,大功告成!
在這裡插入圖片描述
在這裡插入圖片描述

參考連結:
1、Linux下編譯安裝Apache 2.4
https://www.cnblogs.com/freeweb/p/5177516.html
2、centos編譯apr-util-1.6.0出錯缺少expat.h
https://blog.csdn.net/hejinyin/article/details/77701702
3、apache不支援chkconfig的解決方法
https://www.cnblogs.com/chenqionghe/p/4302494.html
4、apache2.4配置虛擬主機
https://yq.aliyun.com/ziliao/551017
5、解決問題 “You don’t have permission to access /index.html on this server.”
https://blog.csdn.net/dearbaba_8520/article/details/80390323
6、Apache2.4.6 新增虛擬主機
https://www.cnblogs.com/rwxwsblog/p/5256416.html

apache 2.4原始碼下載連結:https://download.csdn.net/download/weixin_38642130/10769072

關注微信公眾號“微圈網路”,回覆關鍵字apache,即可獲取原始碼包!