網際網路‎ > ‎

Apache


apache1和2的差別

張貼者:2012年8月15日 下午11:57Wei-Chang Lin   [ 已更新 2012年8月15日 下午11:57 ]

從apache更新到apache2以後,最大的差別就是apache2改採用模組化的方式開啟各種功能,不再是httpd.conf一個檔打天下啦~
(如果你有認真看apache2.conf裡面的設定,會發現其實這邊也不過就是apache2.conf一檔打天下,偷懶的人也可直接把以前的httpd.conf複製到這邊的httpd.conf就可以收工啦:P)

簡單說明各種路徑的意義(再度重申,其實看apache2.conf就可以知道囉):
/apache2.conf apache2最基本的設定檔,所有週邊的設定檔匯入都是寫在這裡。
/httpd.conf   剛裝好apache2會看到裡面是空的!那瞬間我腦袋也是空白的!這裡的設定檔會被apache2.conf讀入,所以其實設定檔也可以寫在這邊啦...
/ports.conf   你的httpd服務預設使用的port設定寫在這邊
/conf.d/      其他預設會被載入的設定檔寫在這

底下就是最大改變,是目錄喔!
/mods-available/        可使用但尚未載入的module
/mods-enabled/          已經載入使用當中的module
/sites-available/       本機設定檔,例如根目錄和virtual host等
/sites-enabled/         開啟使用中的本機設定檔

要載入成為開啟使用的方法第一種就是用ln -s 鍵結,第二種是apache2提供的功能,a2enmod和a2dismod。 以下用php5當例子,用法如下:
第一種-
ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf
ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load
要關閉就移掉就好啦。

第二種-
a2enmod php5      <-開啟php5的功能
a2dismod php5     <-關閉php5的功能

記得,以上的功能或設定檔改變後都要重新啟動apache2喔~
重新啟動的方法很多,看你喜歡用/etc/init.d/還是service都可以。

一台機器不同資料夾使用多個域名的做法

張貼者:2012年8月15日 下午11:39Wei-Chang Lin   [ 已更新 2012年8月16日 上午1:42 ]

呃,之前都不知道這個方法,真是太遜了,今天碰巧看到了就記下來吧,以備不時之需。
總而言之就是要到httpd.conf裡面寫入VirtualHost的功能囉!


這樣就可以用資料夾當虛擬網站了。


避免浪費時間再找過,參考連結:
1.Appserv 2.5.10 virtualhost setting
2.Apache VirtualHost 虛擬主機設定
3.SFS3 系統平台更新為 Ubuntu 9.10

------------------------------------------------------------------------------------------------------------------------------------------

找到httpd.conf設定檔,改吧~輸入紅字部份再重新啟動service httpd就好啦~

#NameVirtualHost *:80

移去#改成

NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

底下請看自己需求加入內容,一個域名就一組設定,粗體字請代換成自己的需求

<VirtualHost *:80>

    ServerAdmin root@example.com

    DocumentRoot /home/root/www/

    ServerName example.com

</VirtualHost>

1-2 of 2