轉貼~實作appserv上架設mt
						
						
																											實作appserv上架設mt 
這裡將介紹把MT架設於簡易架站軟體Appserv上. 
我的步驟將一步一步的解說每個細節,避免在此有遇到同樣問題的人繞大圈子或苦找不到資料. 
或釦A有很好的common sense,但我是以假設只有基礎架站經驗的人來解說.這樣其它的人也可以較快上手. 
我會把我的架法逐一寫出,或釵釣エH不用完全照我的方式架設.請自行斟酌. 
如有不足的地方也請提出,我會補上.^___^. 
我所需要的軟體: 
Appserv (我所使用的是2.2.0) 
ActivePerl (因為mt需要perl的support,所以我選擇評價不錯的activeperl版本是5.8.0.806) 
MoveableType(官方網站下載,版本為2.64) 
我的作業系統環境: 
Windows 2000 advance server 
實作部份: 
1.首先安裝appserv,會進來這,我想appserv應該不是問題,必竟安裝太容易了,預設目錄是c:/appserv/. 
2.接著進入phpMyAdmin先建立一個資料庫準備給mt用,以root身分進入畫面,在新增資料庫中填入mtdatabase,建立一個新的資料庫. 
回到主目錄選擇右邊"權限"選項,進入後再選擇"新增使用者" 
填入使用者名稱(例如mtadmin)並確定、儲存設定,接著會自動進入'使用者名稱'@'%'的設定畫面, 
在下方選擇資料庫的選項中,下拉出mtdatabase,再來你就進入mtdatabase資料庫的權限設定了。 
編輯權限下,全打勾v,並按「執行」。 
同樣的步驟再做一次,只多改一個地方: 
回到主目錄選擇右邊"權限"選項,進入後再選擇"新增使用者" 
填入使用者名稱(例如mtadmin)並確定,主機部份請選"本機"也就是localhost、儲存設定,接著會自動進入'使用者名稱'@'%'的設定畫面, 
在下方選擇資料庫的選項中,下拉出mtdatabase,再來你就進入mtdatabase資料庫的權限設定了,編輯權限下,全打勾v,並按「執行」。 
3.此時都還沒有碰到mt,^_^,接下來請安裝ActivePerl(因為mt需要).安裝時它會先問你安裝路徑,請注意將它改成c:/usr/ (強烈建議), 
除非你要手動去更改mt所有cgi及部份檔案,安裝時的其它選項全按y即可. 
4.以上把mt要架設的環境大致上完成了嗎? 
不,還沒有.請執行C:\usr\bin\ppm3-bin.bat,它會在dos模式下執行,出現一個dos視窗而命令提示字元停在PPM>下. 
請依序執行: 
install DBI 
install DBD-Mysql 
install Image-Size 
執行每一行指令之後都請等一會,因為它會頓一會兒,請等它跑完. 
5.再來是domain name(域名的部份),有doamin的人才可以設定,但我想你都到想自己架站的這個地步了,至少該去申請個域名吧,域名很便宜嘛, 
管理也方便^___________________^.我以aaa.idv.tw為例,假設我去TWNIC申請了一個aaa.idv.tw的域名.域名的管理方式有二種,一種是代管, 
一種是自己架DNS server再把它掛在大的DNS server下面(如hinet),二者的差異在於前者只能有www.aaa.idv.tw或aaa.idv.tw的使用權(這是 
因為代管的機關大部份只開放這二個),而後者則可自行增加所有的次域名,如1.aaa.idv.tw,2.aaa.idv.tw,blog.aaa.idv.tw,www.aaa.idv.tw 
等,以下我分別說明,實際的設定請參照你申請的域名機構,在你進人你的web域名管理介面時應會說明的部份: 
主機代管: 在你申請的Domain name的機關進入web管理介面,將域名管理方式選用代管,基本上不用設定什麼IP打入就可以,但每次變更都 
需要一天左右,值才會完全正確(因為大概一至二天才會更新database). 
自行架設DNS server:這種必需要你有固定IP才可架設,先自行在Server上架起你的DNS server,請參照你的windows說明文件,在你申請的 
Domain name的機關進入web管理介面,將域名管理方式選用自行架設DNS server,基本上也是把你的DNS server IP打入即可, 
但這個需要發函(mail)申請(我是掛在hinet下面還滿快的二天回文),等到ISP回覆到開始可以ping到大概要二到三天左右.如 
果用這個方式,以後每次新增次域名或更改主域名IP都是馬上實現(因為DNS主機在你這裡). 
不管你用的是那一種方式,我皆以www.aaa.idv.tw為例,如果你是自行架設DNS server則你可以再新增一筆blog.aaa.idv.tw來給blog用亦可. 
6.再來可以把mt放上來了,先新增blog的網站目錄,請在c:\appserv\www\ 新增一個mt的目錄,來裝置mt,並在剛新增的c:\appserv\www\mt\再新增一個 
mt-static目錄(因為靜態網頁不可以和mt目錄相同).ok之後請將mt解壓縮出來的檔案裡[image], [docs], *.css 複製到c:\appserv\www/mt\mt-static\, 
其它的檔案及資料夾就放到c:\appserv\www\mt. 
7.現在要做Apache server的設定了,有些人可能不熟http.conf這個檔,我直接把要修改的部份例出,我會將其設virtual host(虛擬主機以 
支援多域名對應不同的blog,如果只有一個域名也可以適用一舉二得),至於phpbb,xoops也要一起用也沒關係只要照下面的方式多加幾台虛擬主機: 
修改c:\appserv\apache\conf\httpd.conf以適應cgi及pl: 
找到MaxRequestsPerChild這個字把前面的#拿掉並改成MaxRequestsPerChild 30 
找到ScriptAlias /cgi-bin/ "C:/AppServ/Apache/cgi-bin/"這一行 
將原本的內容改改 ScriptAlias /*/ "c:/ApppServ/www/mt" 
找到與之間的一些設定; 
確認以下的設定是否都有: 
AllowOverride None 
Options 這個選項裡要有ExecCGI這個東東 
Order allow,deny 
Allow from all 
AddType text/html .shtml 
AddHandler server-parsed .shtml 
AddHandler cgi-script .cgi .pl 
再來在httpd.conf這個檔的下方找到 
# 
# Use name-based virtual hosting. 
# 
NameVirtualHost 這裡打入你的ip如下: 
NameVirtualHost 201.24.215.12 
再來就是虛擬主機部份,以下請copy再貼到你httpd.conf的最下方,然後修改我有註解的地方: 
www.aaa.idv.tw:80> #域名就看你申請的是什麼就改入,我在這都以aaa.idv.tw為例 
ServerAdmin webadmin@aaa.idv.tw #網站管理員的mail 
DocumentRoot "C:/AppServ/www/mt/" #網站的文件目錄,因為我要給mt用所以指到mt的目錄 
ServerName www.aaa.idv.tw #這裡再打一次你的域名 
ErrorLog logs/error_log #錯誤訊息的log檔要存在那?你可以不用改 
CustomLog logs/access_log common #錯誤訊息的log檔要存在那?你可以不用改 
以上是單一站台的設定,如果你只要一個站台.上面做完設定就好.如果你要二個站台呢?你要先有第二個域名才行,所以如果你是 
自行架設DNS server就沒什麼問題,先去DNS server新增一筆資料,我以blog.aaa.idv.tw為例,而ip一樣指到你的主機,然後再 
來設定,粉簡單給它再copy一次上面的再貼到http.conf最後面, 
更改如下: 
#域名就看你申請的是什麼就改入,我在這都以aaa.idv.tw為例 
ServerAdmin webadmin@aaa.idv.tw #網站管理員的mail 
DocumentRoot "C:/AppServ/www/mt/sam" #網站的文件目錄,因為我要給mt的某個網誌用所以指到mt的目錄 
ServerName blog.aaa.idv.tw #這裡再打一次你的域名 
ErrorLog logs/error_log #錯誤訊息的log檔要存在那?你可以不用改 
CustomLog logs/access_log common #錯誤訊息的log檔要存在那?你可以不用改 
有人會問DocumentRoot "C:/AppServ/www/sam/"? 我這樣說吧,我到時會做二個站台一個自己用一個給朋友用時怎麼辦呢?因為 
我朋友叫sam,我就在C:/AppServ/www/mt/下新增一個sam的資料夾,到時我新增其中一個網誌時,會將資料放到這裡.聰明的你就知道要多個網誌 
要怎麼做了吧.有這樣的設定就可以讓www.aaa.idv.tw指到我的網誌,而blog.aaa.idv.tw指到我朋友sam的網誌. 
重新啟動apache服務,可以先跑test apache httpd.conf configuration(appserv中有這個選項,在程式集中),看有沒有語法錯誤. 
8.ok.前置都做完了真累..呵..可以設定mt了,mt設定滿簡單的只要設定二個檔mt.cfg和mt-db-pass.cgi 
mt-db-pass.cgi打開來只有一行,把它殺它,然後填入你MySQL裡mtdatabase那個user的password(我前面是以mtadmin為例),改完存檔即可. 
再來改mt.cfg: 
找到CGIPath http 將內容改成 CGIPath http://www.aaa.idv.tw/ #你的網址 
找到DataSource 將內容改成 DataSource "c:/appserv/mysql/data/" 
找到StaticWebPath 將內容改成 StaticWebPath /mt-static/ 
找到PublishCharset 將內容改成 PublishCharset UTF-8 
找到以下的字行將前面的#拿掉 
CGIMaxUpload 500000 
DBUmask 0022 
HTMLUmask 0022 
UploadUmask 0022 
DirUmask 0022 
NoHTMLEntities 1 
在最下面加入: 
ObjectDriver DBI::mysql 
Database mtdatabase #這個指的是前面我們在MySQL所建要給mt用的database 
DBUser mtadmin #這個指的是前面我們在MySQL所建要給mt用的database的使用者管理員 
完成了,記得存檔. 
9.mt系統初始化. 
開啟web browser打入網址http://www.aaa.idv.tw/mt-check.cgi 
這時會做mt的系統偵測並把結果秀出來. 
再來開啟web browser打入網址http://www.aaa.idv.tw/mt-load.cgi 
這時會做mt初始化,並將mysql裡的mtdatabase加入一些欄位及值. 
再來開啟web browser打入網址http://www.aaa.idv.tw/mt.cgi 
這樣就進入mt的設定畫面也把mt給它裝好了.而預設的使用者是Melody密碼是Nelson 
如果你不做多個站台對應不同網址則這樣就大尼i成了........ 
^__________________________________________________^ 
10.如果要新增一個網誌對應到不用的域名. 
對於有此需求的再參考此一設定,前提是前面的httpd.conf有設二個以上的virtual host(虛擬主機), 
以我的範例為例. 
a.在c:\appserv\www\mt內新增一個要放新網誌的資料夾,我新增一個sam的資料夾. 
b.我在前面的httpd.conf已經有多設了一台虛擬主機blog.aaa.idv.tw是指到c:\appserv\www\mt\sam 
確認以上二點你都完成了,就可以直接用mt的新增網誌再多加一個blog站台(第一個是我的,我現在再多加一個站台取名為ASAM) 
進入ASAM的站台內的管理網誌再進入組態設定.將以下做修改為: 
本機站台路徑 c:/appserv/www/mt/sam 
站台網址 blog.aaa.idv.tw 
本機彙整路徑 C:\appserv\www\mt\sam\archives 
彙整網址 http://blog.aaa.idv.tw/archives/ 
儲存再重建網站,就大尼i成. 
www.aaa.idv.tw 將指到自己的blog站台 
blog.aaa.idv.tw 將指到ASAM blog站台