iT邦幫忙

DAY 19
3

DotNetNuke的學習心得系列 第 15

[鐵人賽Day19]DotNetNuke使用篇–建立子網站

作為一個優秀的內容管理系統,能夠利用同一套系統建立不同的網站似乎已經是被要求必備的功能之一,功能豐富的DotNetNuke自然也能達成這個需求,這一篇就來看看該如何利用同一套系統建立不同的網站。
在建立子網站之前,先來複習一下DotNetNuke的管理者帳號:DotNetNuke當中有兩種權限的管理者帳號,以原文來稱呼叫做Host和Admin,或者是Super Admin和Site Admin,以中文來稱呼的話,筆者會以最高管理者及網站管理者來區分,最高管理者的權限可以執行DotNetNuke中所有的功能,也就是可以跨網站執行管理的功能。網站管理者則是只能針對最高管理者賦予他所擁有的網站範圍執行屬於該網站的功能權限。因此,要建立DotNetNuke的子網站必須是最高管理者才能夠操作。

登入最高管理者的帳號之後,在Host選單中點選Site Management(網站管理),在列表的下方點選「新增網站」:

以中文語系操作會看到如下的畫面:

看到這裡讀者一定會覺得很奇怪,筆者不是一直在說DotNetNuke建立子網站嗎?為什麼還會有父網站的選項呢?(Parent vs Child)
除了筆者撰文所用的環境是架設在Windows Azure Websites服務的共用選項(Free)無法使用sub-domain所以無法建立父網站之外,其實兩者之間的差異並不會太大,在功能性的部份幾乎是一樣的。
父網站可以使用別的(不同的)網域(網址),也可以使用相同網域(網址),但是子網站的部份會使用相同網域(網域)下的子目錄型態出現,以下舉幾個例子:
父網站:www.dnndemo.com
父網站:news.dnndemo.com
父網站:www.dnnsite.com
子網站(news):www.dnndemo.com/news/

(註:中文畫面的網站別名就是父網站要使用的Domain網址)

以筆者使用Azure Website來說,dnndemo.azurewebsites.net是安裝時使用的網址,因此建立子網站news就會變成dnndemo.azurewebsites.net/news/,子網站會在網站的根目錄底下建立子目錄,並且將Default.aspx複製一份過去,在Portals的目錄底下也會建立一個子網站編號的子目錄,放置其它相關的檔案。建立子網站並不需針對伺服器做什麼額外的設定,但是父網站則是需要特別在IIS及DNS上做設定,因此就方便性而言,子網站相對方便得多。

如果讀者對於父網站及子網站的部份仍有疑慮,也可以參考國外DNNCreative網站的文章,以及下面兩個圖示的說明(截取自文章連結中的PDF檔案):

筆者建立一個3c的子網站來做測試:

另外要特別注意的部份是在建立網站時,如果最下面的Use Current User as Administrator選項有打勾,代表使用目前登入的最高管理者帳號為網站管理員(看似沒有什麼實質意義上的差別),如果打算建立另外一個帳號作為新的網站管理者,那麼就需要取消打勾,下面會多一些欄位可以填寫:

不過這裡會建立一個新的帳號來作為新網站的管理者帳號,如果想要指定已經存在的會員帳號,或者是建立網站的時候操作太順跳過去了,那麼就必須透過以下的方式來處理。

1.在新建立的網站利用原本想要使用的帳號和密碼「註冊」來關聯到新的網站。
(註:如果不是使用相同的帳號密碼,系統會說帳號已經存在,因此要用相同的帳號密碼在新的網站「註冊」,以便DNN實際將帳號關聯到新的網站裡)
2.利用最高管理者權限進入到新網站的使用者管理頁面(Manage Users),列表中會出現剛才註冊關聯的帳號,再透過加入角色的功能將剛才註冊關聯的帳號加入Administrators的角色中。

相關連結:

DotNetNuke Portal Considerations
DotNetNuke and Multiple Portals
DotNetNuke Info: The difference between Parent and Child portals

(本文同步發表於泰克哪裡去部落格)

[鐵人賽Day1]DotNetNuke簡介
[鐵人賽Day2]DotNetNuke安裝前置作業
[鐵人賽Day3]DotNetNuke安裝-傳統方式安裝在IIS
[鐵人賽Day4]DotNetNuke安裝-透過Web PI安裝
[鐵人賽Day5]DotNetNuke安裝-使用Windows Azure Website
[鐵人賽Day6]DotNetNuke網站結構說明
[鐵人賽Day7]安裝DotNetNuke語系
[鐵人賽Day8]DotNetNuke-新增頁面與模組
[鐵人賽Day9]第一個DotNetNuke模組-Hello DotNetNuke
[鐵人賽Day10]DotNetNuke模組的多國語系
[鐵人賽Day11]安裝DotNetNuke專案範本
[鐵人賽Day12]DotNetNuke模組設計範本–SimpleModule(1)
[鐵人賽Day13]DotNetNuke模組設計範本–SimpleModule(2)
[鐵人賽Day14]DotNetNuke模組設計範本–SimpleModule(3)
[鐵人賽Day15]DotNetNuke模組設計範本–SimpleModule(4)
[鐵人賽Day16]DotNetNuke使用篇–會員帳號設定(User Account Settings)
[鐵人賽Day17]DotNetNuke使用篇–第三方帳號驗證
[鐵人賽Day18]DotNetNuke使用篇–管理使用者帳號、角色
[鐵人賽Day20]DotNetNuke使用篇–內容多語系化
[鐵人賽Day21]DotNetNuke使用篇–Host設定介紹
[鐵人賽Day22]DotNetNuke使用篇–網站設定(Site Settings)介紹
[鐵人賽Day23]翻譯DotNetNuke–使用語言編輯器
[鐵人賽Day24]DotNetNuke的網頁選單(Menu)翻譯
[鐵人賽Day25]設定DotNetNuke的Email範本
[鐵人賽Day26]DotNetNuke寄送郵件功能介紹
[鐵人賽Day27]查看DotNetNuke的執行記錄–事件檢視器(Log Viewer)介紹
[鐵人賽Day28]維護DotNetNuke的清單列表(List)–在Profile中可以下拉選擇台灣的縣市
[鐵人賽Day29]DotNetNuke樣式設計–Skin和Container簡介
[鐵人賽Day30]尋找更多的DotNetNuke擴充套件(Module、Skin)


上一篇
[鐵人賽Day18]DotNetNuke使用篇–管理使用者帳號、角色
下一篇
[鐵人賽Day20]DotNetNuke使用篇–內容多語系化
系列文
DotNetNuke的學習心得27

尚未有邦友留言

立即登入留言