實作appserv上架設mt

回覆文章
布魯斯
Site Admin
文章: 211
註冊時間: 週四 2月 16, 2006 3:34 pm

實作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站台
布魯斯
Site Admin
文章: 211
註冊時間: 週四 2月 16, 2006 3:34 pm

文章 布魯斯 »

不過有一點要注意的,就是perl必須安裝在C:/usr下,否則會無法執行cgi程式。
回覆文章