搭建環境:windows+VMware(Ubuntu)+apache2.(同一IP,不一樣域名)html
1:在VMware的虛擬機Ubuntu下安裝apache2(怎麼安裝百度一下就能找到);apache
2: apache2的相關配置文件在/etc/apache2下ubuntu
apache2.conf 是全局配置文件,也是主配置文件windows
conf.d 通常性的配置瀏覽器
envvars 存放環境變量ide
httpd.conf 用戶配置文件網站
mods-available 已安裝的可用模塊spa
mods-enabled 已啓用的模塊debug
ports.conf httpd服務的端口號htm
sites-available 可用的虛擬主機
sites-enabled 啓用的虛擬主機
3:關於虛擬主機,參照 http://baike.baidu.com/view/7383.htm?fr=ala0_1_1;
4:開始虛擬機的配置:apache2的默認訪問路徑是 /var/www,在/etc/apache2/sites-available/000-default.conf文件中能夠看到
ServerAdmin localhost
DocumentRoot /var/www
sites-availeable中的是網站配置文件,sites-enable 中是指向 sites-availeable 的連接(先不要管)。
5:新建虛擬文件:在/var/www文件夾下新建兩個文件夾:a和b,在a文件夾下新建a.html,b中新建b.html。做爲訪問時的服務目錄。
6:先在/etc/apache2/sites-available文件夾中新建兩個文件 test_a.conf 和 test_b.conf(文件後綴名參見 /etc/apache2/apache2.conf配置文件中的 IncludeOptional mods-enabled/*.conf)。
在終端(Ctrl+Alt+T進入)輸入 sudo gedit /etc/apache2/sites-available/test_a.conf ;進入編輯文件:
參照000-default.conf的內容(複製內容後修改紅色部分便可):
test_a.conf:
<VirtualHost 192.168.238.2>
ServerAdmin ******@******
DocumentRoot /var/www/a
ServerName www.test_a.com
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/a>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/wperror.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
test_a.conf:將 /var/www/a 修改成 /var/www/b, www.test_a.com 修改成 www.test_b.com.
DocumentRoot:爲訪問目錄;ServerName :爲訪問的域名。
7:到這裏虛擬主機的配置完成了,剛纔提到 sites-enable 文件夾下存放的是訪問 sites-availeable 的連接,因此剛剛新建的 test_a.conf he test_b.comf 一樣的創建鏈接:
在終端輸入: sudo a2ensite test_a.conf 和 sudo a2ensite test_b.conf 。進入sites-enable文件夾下能夠看見多了兩個連接文件。
8: 啓動apache :sudo /etc/init.d/apache2 start ,
咱們在ubuntu虛擬機中打開瀏覽器,輸入 192.168.238.2,看看可否打開(通常是不行的,還沒分配IP地址);
進入終端,輸入 sudo ifconfig eth0:1 192.168.238.2 ,
再次啓動 apache,瀏覽器輸入 192.168.238.2,有了吧!!
那麼輸入域名試試: www.test_a.com 或者 www.test_b.com 沒反應??
修改hosts文件: 終端輸入 sudo gedit /etc/hosts 加入
192.168.238.2 www.test_a.com
192.168.238.2 www.test_b.com
再次在瀏覽器中訪問:www/test_a.com 進入咱們新建的 /var/www/a 文件夾下;一樣 www.test_b.com 進入 /var/www/b 文件夾下。
9:在宿主機(Windows中訪問):
(1):首先在cmd 終端 輸入 ping 192.168.238.2 試試看可否拼通。(能ping通的話,在windows中的瀏覽器中打開 192.168.238.2 試試看可否看到什麼)。
(2):不能ping通的話就要關閉ubuntu的防火牆:在ubuntu終端輸入: sudo ufw disable (關閉防火牆)(http://blog.sina.com.cn/s/blog_483e43060101p603.html)。
再次在瀏覽器中輸入 192.168.238.2 能看到了吧!!!
(3):域名訪問,想要在windows中經過域名訪問新建的虛擬主機(www.test_a.com 和 www.test_b.com)則須要設置hosts。
windows中的位置是 C:\Windows\System32\drivers\etc 文件夾下手動打開是不能修改的,具體修改方案是:
在windows開始中找到記事本,點擊右鍵--->以管理員身份運行,在打開的記事本中選擇 文件-->打開,找到 C:\Windows\System32\drivers\etc 文件夾下的hosts文件 打開,在其中添加兩行:
192.168.238.2 www.test_a.com
192.168.238.2 www.test_b.com 保存!
最後在瀏覽器中訪問 www.test_a.com ,出如今ubuntu瀏覽器中訪問 www.test_a.com 的效果同樣!!!!
到此虛擬主機配置完成!!!
參考資料:
http://xuchengji.blog.51cto.com/160472/387247;
http://blog.sina.com.cn/s/blog_483e43060101p603.html。