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,即可獲取原始碼包!