隨著Windows 8的發布,其服務器版本Windows Server 2012也相繼推出,本篇將全面介紹如何在Windows Server 2012搭建安裝DedeCMS所需要的PHP+MySQL環境,同時也將介紹如何在Windows Server 2012中設定服務器站點的安全。
1.添加IIS服務器角色
點擊任務欄左下角的“服務器管理器”,在“安裝類型”選項卡中選擇“基於角色或基於功能的安裝”,服務器選擇中直接選擇當前服務器即可,在服務器角色中選擇“Web服務器”(如圖1-1)。
然後到“Web服務器角色(IIS)”中選擇需要的IIS組件。這裡需要額外勾選:請求篩選、IP和域限制、URL授權、Windows身份驗證、HTTP重定向、CGI、ISAPI擴展、ISAPI篩選器。
選擇完畢後確認安裝,在同時“功能”選項卡中選擇安裝“.NET Framework 3.5”,系統將會安裝IIS以及相關的服務組件。
我們在浏覽器中輸入http://localhost,如果看到以下頁面則表明我們已經安裝完畢。
2.安裝MySQL服務器
Windows Server2012中安裝MySQL同以往版本安裝並沒有什麼不同。
2.1.從MySQL官方:http://dev.mysql.com/downloads/mysql/5.1.html下載Windows (x86, 64-bit), MSI Installer。
2.2.雙擊安裝包進行安裝,我們選擇“Custom”模式,將安裝目錄存放在“D:MySQL”中,數據庫文件存放在“D:MySQLdata”中;
2.3.設定默認root管理員的帳號密碼,這裡由於我們是本地測試,所以設定密碼為:123456,如果是用於服務器環境,需要根據情況將密碼、端口重設;
至此MySQL服務器已經安裝完畢了(如圖:2-1)。
3.安裝PHP
3.1.我們這裡選擇下載PHP5.3,可以從官方:http://windows.php.net/download/獲取。這裡由於我們將采用Fast-cgi模式安裝,所以選擇VC9 x86 Non Thread Safe。
3.2.雙擊包進行安裝,將安裝目錄更改為“D:PHP”,選擇服務器“IIS FAST-CGI”;
3.3.確認安裝,安裝完畢後在命令行中輸入“php -v”,看到如圖信息則表示已經安裝完成。(如圖3-1)
4.安裝IIS PHP Manager管理器
為了方便的對PHP管理,我們選擇安裝IIS的PHP Manage組件,可以從:http://phpmanager.codeplex.com下載,這個安裝過程非常簡單,這裡不再詳細介紹。
5.安裝DedeCMS
5.1.創建IIS權限控制帳戶
為了對站點文件進行權限控制,我們需要添加一個專門用戶對站點目錄文件權限控制的用戶,我們可以在“服務器管理器”中的“工具(T)”菜單欄中選擇“計算機管理器”,在這裡我們來管理帳號。
我們首先在“本地用戶和組”中添加一個名為“WebUsers”的用戶組。
然後添加一個名為“IIS_DEDECMSUSER”的帳號,這個帳號隸屬於“WebUsers”用戶組。
這裡需要注意取消帳號的遠程控制權限,同時在用戶屬性“遠程桌面服務配置文件”中“拒絕用戶登錄到遠程桌面桌面會話主機服務器的權限”(如圖5.1-1)。
5.2.創建IIS站點
接下來我們需要創建一個站點:
(1)我們將站點根目錄放在“D:Websiteswww.dede.comwww”中;
(2)IIS中添加站點,域名設定為“www.dede.com”;
(3)我們如果需要測試訪問,需要在host中添加:127.0.0.1 www.dede.com
完成後立即啟動站點。(如圖5.2-1)
5.3.安裝DedeCMS程序
(1)我們從DedeCMS官方網站下載最新版本的DedeCMS程序:http://www.dedecms.com/products/dedecms/downloads/;
(2)下載解壓安裝包,將uploads文件夾下的文件拷貝到站點更目錄“D:Websiteswww.dede.comwww”中;
(3)在浏覽器中輸入“www.dede.com”,這時候我們能夠看到安裝頁面,按照安裝提示進行安裝(如圖5.3-1);
(4)數據庫設定密碼為“123456”,確定後就完成了本次安裝(如圖5.3-2);
6.站點安全設置
6.1.站點目錄權限配置
(1)首先我們在IIS中綁定設定的用戶帳號,在站點的功能試圖中的“身份驗證”,雙擊進入後,在“匿名身份驗證”中設定之前我們添加的用戶帳號“IIS_DEDECMSUSER”(如圖6.1-1);
(2)站點根目錄文件夾設定權限“D:Websiteswww.dede.comwww”,我們在文件夾右鍵屬性,在“安全”選項卡的“高級”中設定文件夾權限(如圖6.1-2);
(3)我們需要取消uploads、data以及生成靜態html文件目錄的執行權限,可以在IIS站點功能試圖的“處理程序映射”中“編輯功能權限...”,取消腳本執行權限(如圖6.1-3)。
6.2.管理後台分離
接下來我們需要對後台進行分離,這樣能夠確保系統的安全性。
(1)創建管理後台站點,將系統更目錄下的dede管理後台文件夾移動到“D:Websiteswww.dede.comadmin”中,創建一個名為“admin.dede.com”的站點(如圖6.2-1);
hosts中添加紀錄:127.0.0.1 admin.dede.com
(2)按照5.1的方法,創建後台管理文件夾控制帳號“IIS_DEDECMSADMIN”;
(3)按照6.1(1)中的辦法,綁定admin.dede.com站點目錄“IIS_DEDECMSADMIN”權限;
(4)按照6.1(2)中的辦法,給“D:Websiteswww.dede.comwww”以及“D:Websiteswww.dede.comadmin”都添加“IIS_DEDECMSADMIN”的管理權限,其中www目錄給予可寫入權限(如圖6.2-2);
(5)調整文件
找到D:Websiteswww.dede.comadminconfig.php,將第12行
require_once(DEDEADMIN.'/../include/common.inc.php');
改為
require_once(DEDEADMIN.'/../www/include/common.inc.php');
然後在這段代碼下面加上:
$cfg_plus_dir = $cfg_phpurl = $cfg_basehost."/".$cfg_plus_dir;
找到D:Websiteswww.dede.comadminlogin.php,將11行
require_once(dirname(__FILE__).'/../include/common.inc.php');
改為