考慮很久, 實在很懶得做 apache 1.3 到 2.0 的轉換, 感覺起來就很累....
但是沒想到出乎意料外的容易, 而且 Debian 早期的 apt-get upgrade 就已經都準備好, 就剩沒幫我把設定檔拷過去而已. XD
之前每次升級都看到 apache2 的 module 自動的被裝上去, 但是沒有影響到正常運作, 也就懶得理他, 這次想先測測看轉換成 apache2 會不會很辛苦, 才發現原來該裝的 apache2, libapache2-mod-php5 等, 該用的早就都裝好了... XD
先來做轉換測試:
- vim /etc/apache2/ports.conf # 將 80 先隨便改個 數字(換 port), 之後就可以 http://DOMAIN:port/ 先測測看(不要影響到 80 port 的運作)
- touch /etc/apache2/httpd.conf # 預設沒有 httpd.conf 檔, 但 apache2.conf 有寫 Include httpd.conf, 所以 touch 一個給它.
- vim /etc/default/apache2 # 將 1 改成 0, 不然怎麼樣都無法啟動 apache2(應該是防止怕 apache 1.3 跟 2.0 意外相衝吧, 但是都改 port 了, 就不用擔心囉~)
改成 => NO_START=0
到此, /etc/init.d/apache2 start 應該就可以正常啟動了.(開 broswer 連連看 http://DOMAIN:8000/)
再將 apache 1.3 的設定檔 cp 到 apache2
- cp /etc/apache/conf.d/* /etc/apache2/conf.d/
稍微看一下 /etc/apache/httpd.conf 有什麼自己加的東西, 再補到 /etc/apache2/httpd.conf 去即可.
- 如果龜毛一點, log 檔位置也想換的, 記得 在 conf.d 裡, 把檔案中寫的 /var/log/apache 都改成 /var/log/apache2
- 有安裝 awstats(/etc/awstats/) 的, log 檔路徑也是一樣, 將 /var/log/apache 改成 /var/log/apache2
到此應該就能算是轉換完成囉!, 下述是有遇到些小狀況, 都蠻好排除的. 🙂
目前測試遇到的狀況:
Virtual Host 有問題
- 將
NameVirtualHost *
註解掉(或砍掉)即可.(因為 sites-available/default 已有加此行, 且於 site-enabled/000-default 也啟動了)
php5 不會動
- cd /etc/apache2/mods-enabled
- ln -s ../mods-available/php5.conf php5.conf
- ln -s ../mods-available/php5.load php5.load
- /etc/init.d/apache2 reload 即可
User public_html 想要啟用
- ln -s ../mods-available/userdir.conf .
- ln -s ../mods-available/userdir.load .
- /etc/init.d/apache2 reload 即可
目前做到此還沒測出什麼問題, 明天再詳細測試看看, 希望轉換愉快囉 🙂
附註: (簡單紀錄一下目前看 apache2 設定檔的心得)
Apache2 的設定如下:
/etc/apache2 分下述目錄:
- mods-available: 可以用的 modules 寫在此處
- mods-enabled: 要啟用的話, 再用 ln 把 mods-available 連結到此處
- conf.d : 設定檔, 相容 apache 1.3, 在此檔案都會被載入進去
- sites-available: 要用的 site(採 virtual host方式撰寫)
- sites-enabled: 要啟用此 site(或說採用此 Virtual Host), 一樣用 ln連結到此處(Virtual Host 裡,
NameVirtualHost *
這個參數要最早先被設定, 所以會看 default 的 ln 是 000-default, 其它自己在做 ln 時, 如果有數字開頭的注意一下, 不要比 000-default 還先載入進去即可)
Apache2 設定檔載入順序:
- apache2.conf
- mods-enabled/*.load
- mods-enabled/*.conf
- httpd.conf
- ports.conf
- conf.d/*
- sites-enabled/*