基本上,這是在寫觀念,關於詳細作法及組態,有機會再互相討論,否則我做的很用力但沒人用的著也是白搭。
一、安裝Windows server2003的部分
1. 自然就是administrator更名,密碼機車、patch要上、必要的軟體裝一裝(例如Ultra Edit我是覺得一定會用到)
2. 關閉不必要服務:
當初資策會的講義是這樣寫:Alerter, Clipbook伺服器, DHCP用戶端,Diectory Replicator, FTP Publishing Service, License Logging Service, Messenger, Netlogon, Network DDE, Network Monitor, Remote Access Server, Remote Procedure Call Locator, Schedule Server, Simple Services, spooler, TCP/IP NetBIOS Helper, Telephone Service等
不過我有些服務我無法關閉,也不知道為什麼….跟登錄檔一樣,要多看一些文章來決定哪些非必要的通通關起來。
3. pagefile換位置,不要同一顆號稱比較好,更實際的是,要ghost的時候也快一點,映像檔也小一點
4. 控制台-系統-進階-效能設定 處理器排程跟記憶體使用量(就是改虛擬記憶體同一個地方的上面啦)改到右邊的背景服務跟系統快取記憶體
5. 網路連線右鍵內容那個有名的「File and Printer Sharing for Microsoft Networks」,我真的不懂要不要勾,我記得不勾的話該Web Server 也可以正常運作。勾下去可以選「內容」-「伺服器最佳化」,動態網站要勾「網路應用程式的資料傳輸量最大化」
6. 修改登錄檔:例如L2 cache、磁碟緩衝跟一些有的沒的,視各人喜好,這部分還有待整理,sese12討論區有,主題好像叫做「榨乾XP效能」之類的
7. 群組原則部分,需要多花一點時間來配置成自己所希望的狀態,例如帳號密碼原則啦、帳戶鎖定時間啦、稽核原則啦(登入成功失敗我都會看)、使用者權限指派(例如誰可以關機等)在「安全性選項」那裡,更是需要花心思跟時間去看(雖然預設值應該已經差不多了)
8. 啟用效能監控,差不多就是CPU啦、RAM啦、TCP v4的 segment/sec等等
9. 關於安全性部分,我會另寫在別篇
二、安裝IIS6.0或阿怕器
1. IIS視情況看看FTP或WebDev要不要裝。由於IIS6.0的FTP服務用的帳號一定是windows的user account,這點很鳥,除非你都讓人匿名登入,否則我會另裝雷電FTP,這套功能還算強大,就是比IIS的FTP難設定就是了。
2. 關於伺服器執行CGI相關的登錄檔修改:這我真的不知道改下去會發生啥事,相關內容在資策會的IIS講義裡有寫
3. 關於IIS或阿怕器的安全性相關問題,其實觀念是一樣的,只是圖形介面的IIS比較好設罷了。這裡能談的還不就是存取控制跟身份驗證?看我整裡的資訊安全篇裡頭的觀念就好了
4. 伺服器最佳化部分,要再自己翻書,我覺得能變動的部分都不難
5. 我會把秀給user看的錯誤訊息(如error 403)改掉,IIS我應該會努力偽裝成阿怕器,或是統一成一個畫面,要user自己對照列出號碼跟訊息
Windows 跟 IIS裝完以後,我就會把本機的防火牆裝起來,第一件事情就是濾掉ICMP echo request
三、安裝PHP
1. php 4.x跟php 5.x不大一樣,除非對php很熟,否則用5.x可能會因為php.ini組態問題導致php無法啟用,或者搭不上IIS6.0,為了保險起見,我是用php4.3.6
2. php.ini部分,細部選項太多,最好有書按表操課。光是安裝方法就不只一種,一票path也不知道設來幹嘛?
3. PHP+IIS會比較複雜一些,尤其是IIS6.0。關於這部分我有寫下簡單步驟,有必要再問我
四、MySQL安裝以及phpmyadmin網頁
1. MySQL 5x版本不知道正式版出來了沒,我是乖乖的用上一版啦
2. 安裝時輸入的帳號密碼好像一點屁用都沒有,反正預設都會跑出一個沒密碼的root 帳號,且是完全權限
3. phpmyadmin是一個使用web介面控制SQL的好東西(使用文字介面對SQL下命令,我是完全不會啦)phpmyadmin本身就是一個php動態網頁,所以先確定IIS跟PHP是OK的,接著把整個phpmyadmin目錄扔到一個遙遠的路徑(如D槽)接著給他一個虛擬路徑後,使用
http://F...N/虛擬路徑/index.php去使用及組態你的資料庫。一定要使用虛擬路徑喔,或者至少要rename,預設路徑phpmyadmin實在太危險了。而且我只允許本機登入此頁面,所以也會鎖IP,這比設定需要帳號密碼才能登入phpmyadmin頁面還實際。(註*)
4. 一般來說,馬上把root幹掉,設一個同root權限且機車的帳號密碼給phpmyadmin用(當然,phpmyadmin登入SQL的帳號密碼也要跟著改),設一個沒有管理權限的帳號給即將架設的網站使用
註*:做網頁的看來很多人習慣不佳,喜歡使用方便好記或預設的東西。例如我有一天無聊去猜大潤發www.rt-mart.com.tw有沒有管理介面,結果一猜就中(www.rt-mart.com.tw/admin),接著我猜公司內部網站intra.rt-mart.com.tw,第三次就中(intra.rt-mart.com.tw/include)。當然大潤發都有設定存取控制就是了,所以秀「您沒有檢視此網頁的授權」,而要我是管理員就會通通改成「無此網頁」騙人
五、動態網站的安裝
1. 凡是使用到資料庫的免錢套裝動態網站,一定會有一個組態檔(通常叫做configure.php之類的)設定登入SQL的帳號密碼,反正把他弄成跟你SQL裡的設定的一致就對了,否則網站根本無法運作。
2. 有些有名的免錢討論區,會寫一個install.php的頁面,搞的就像安裝軟體一樣,這樣使用者要架站就更簡單了。
3. 一般這些一票人在用的討論區,一定有一個web管理頁面,視必要設以存取控制或路徑rename
4. 我會寫一個index.html的頁面來將網站導入真正的首頁,且使用者在我的網站瀏覽時永遠都是秀http://FQDN/index.html ,隱藏我的目錄。不過遇到免費套件網站,就沒啥屁用了,目錄結構天知地知你知我知…
5. phpwind這討論區很王八,我遇到的情況是,安裝時資料庫一定要保留root帳號給他,否則很多設定無法寫入…寫入N次資料庫還是空值
六、災難回復
1. 整個安裝程序,從作業系統到討論區程式,可以的話多做幾個還原檔,每告一段落就一次,避免遺憾。而且每一個映像檔都要註明好內容,例如「已安裝IIS及PHP」之類的,否則應該會忘記
2. php.ini備份
3. IIS有組態備份精靈備份組態,阿怕器把 .conf檔全部拷貝另存
4. 資料庫部分,在data路徑下的資料全部拷貝
5. 論壇若有修改連結或程式碼的話,也是整個路徑拷貝,反正都不大
6. 以上動作,在windows下應該都可以排程執行