建議先備份網(wǎng)站,在備份網(wǎng)站上進(jìn)行升級,升級完成后再用備份網(wǎng)站替換之前的網(wǎng)站。主要步驟如下:
- 備份網(wǎng)站
- 重建備份網(wǎng)站,使之運行
- 在備份網(wǎng)站上進(jìn)行升級
- 升級完畢后用備份網(wǎng)站替換之前的網(wǎng)站。
1、備份網(wǎng)站
備份只需要備份網(wǎng)站文件目錄和數(shù)據(jù)庫文件即可。- 為了方便我們訪問之后重建的備份網(wǎng)站,我們須要在備份之前為網(wǎng)站添加一個別名,這里我添加一個"http://159.21.121.15"的別名
- 將"D:\DotNetNuke" 拷貝到"E:\WebsietBackup\DotNetNuke"
- 停止SQL服務(wù),將”D:\Program Files\Microsoft SQL Server\MSSQL\Data\WebsiteDNN_Data.MDF"和 “D:\Program Files\Microsoft SQL Server\MSSQL\Data\WebsiteDNN_Log.MDF"這兩個文件拷貝到”E:\WebsiteBackup\Database\",保持原文件名即可。
2、重建備份網(wǎng)站,使之運行
因為原網(wǎng)站還在,所以我們直接在備份的網(wǎng)站上操作。- 修改"E:\WebsietBackup\DotNetNuke\"目錄的權(quán)限設(shè)置,為NETWORK SERVICE帳戶添加完全控制權(quán)限。注:在Windows 2000/IIS5 Window XP Pro里面是 {Server}"ASPNET 帳戶,在Windows 2003/IIS6 里面是 NT AUTHORITY"NETWORK SERVICE帳戶。
- 將"E: \WebsiteBackup\Database\"里的數(shù)據(jù)庫文件“附加”為一個新的數(shù)據(jù)庫,名為"DNNWebstieUpgrade",如果之前有過專門的數(shù)據(jù)庫用戶設(shè)置,修改"DNNWebsiteUpgrade"數(shù)據(jù)庫安全設(shè)置,使之跟原網(wǎng)站的安全設(shè)置一樣即可。
- 修改"E:\WebsiteBackup\DotNetNuke\"中的Web.config文件,主要是修改數(shù)據(jù)庫連接部份,如果安全設(shè)置一樣,你僅僅只須要把數(shù)據(jù)庫的名字從"DNNWebsite"修改為"DNNWebsiteUpgrade"。
<!-- Connection String for SQL Server 2000/2005 -->
<add name="SiteSqlServer"
connectionString="Server=(local);Database=WebsiteDNNWebsiteDNNUpgrade;uid=WebDNNAdmin;pwd=ourpassword;"
providerName="System.Data.SqlClient" />
<add name="SiteSqlServer"
connectionString="Server=(local);Database=
providerName="System.Data.SqlClient" />
- 在IIS中新建一個“網(wǎng)站”,命名為"DNNWebsiteUpgrade",將主目錄設(shè)置為"E:\WebsiteBackup\DotNetNuke\",設(shè)置主機(jī)頭為"159.21.121.15",并且不要忘記把ASP.NET的版本設(shè)置為2.0
- 現(xiàn)在,打開IE,在地址欄中輸入"http://159.21.121.15"你就應(yīng)該能訪問到重建的備份網(wǎng)站了。
3、在備份網(wǎng)站上進(jìn)行升級
下面我們就要在重建的備份網(wǎng)站上進(jìn)行升級了。- 首先我們先從www.dotnetnuke.com的網(wǎng)站上下載最新的DNN包,我使用的是:DotNetNuke_04.06.00_Install.zip
- 備份"E:\WebsiteBackup\DotNetNuke\"下面的web.config文件為webBackup.config,直接備份在當(dāng)前目錄下即可。
- 將DotNetNuke_04.06.00_Install.zip解壓到"E:\WebsiteBackup\DotNetNuke\"目錄,使其覆蓋之前的文件。到到這里web.config文件已經(jīng)被安裝包里的web.config替換掉了。
- 打開web.config文件,還原之前的設(shè)置,主要是數(shù)據(jù)庫連接,語言區(qū)域和Machine Key三部分,其中Machine Key一定要記得還原,不然升級之后的網(wǎng)站所有之前的用戶都將無法登錄
先注釋掉默認(rèn)的SQL 2005 Express 設(shè)置,把下面這一部分:
<!-- Connection String for SQL Server 2005 Express -->
<add
name="SiteSqlServer"
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
providerName="System.Data.SqlClient" />
修改為:<add
name="SiteSqlServer"
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
providerName="System.Data.SqlClient" />
<!-- Connection String for SQL Server 2005 Express
<add
name="SiteSqlServer"
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
providerName="System.Data.SqlClient" />-->
接著去掉與SQL Server 2000/2005 標(biāo)準(zhǔn)版的注釋<add
name="SiteSqlServer"
connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
providerName="System.Data.SqlClient" />-->
<!-- Connection String for SQL Server 2000/2005
<add
name="SiteSqlServer"
connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;"
providerName="System.Data.SqlClient" />
-->
<add
name="SiteSqlServer"
connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;"
providerName="System.Data.SqlClient" />
-->
在webBackup.config文件中找到connectionString的值,替換原始設(shè)置。如下:
<!-- Connection String for SQL Server 2000/2005 -->
<add
name="SiteSqlServer"
connectionString="Server=(local);Database=WebsiteDNNUpgrade;uid=WebDNNAdmin;pwd=yourpassword;"
providerName="System.Data.SqlClient" />
<add
name="SiteSqlServer"
connectionString="Server=(local);Database=WebsiteDNNUpgrade;uid=WebDNNAdmin;pwd=yourpassword;"
providerName="System.Data.SqlClient" />
還有一個SQL連接設(shè)置塊,這是為了保持兼容性設(shè)置的,也要修改一下,先注釋掉默認(rèn)的SQL 2005 Express 設(shè)置,把下面這一部分:
<!-- Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules -->
<add key="SiteSqlServer" value="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"/>
修改為:<add key="SiteSqlServer" value="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"/>
<!-- Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules
<add key="SiteSqlServer" value="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"/> -->
<add key="SiteSqlServer" value="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"/> -->
接著去掉與SQL Server 2000/2005 標(biāo)準(zhǔn)版的注釋
<!-- Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules
<add key="SiteSqlServer" value="Server=(local);Database=DotNetNuke;uid=;pwd=;"/>
-->
修改為:<add key="SiteSqlServer" value="Server=(local);Database=DotNetNuke;uid=;pwd=;"/>
-->
<!-- Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules-->
<add key="SiteSqlServer" value="Server=(local);Database=WebsiteDNNUpgrade;uid=WebDNNAdmin;pwd=yourpassword;"/>
<add key="SiteSqlServer" value="Server=(local);Database=WebsiteDNNUpgrade;uid=WebDNNAdmin;pwd=yourpassword;"/>
語言區(qū)域部分:修改這一部分
<globalization
culture="en-US"
uiCulture="en"
requestEncoding="UTF-8"
responseEncoding="UTF-8"
fileEncoding="UTF-8"/>
為:culture="en-US"
uiCulture="en"
requestEncoding="UTF-8"
responseEncoding="UTF-8"
fileEncoding="UTF-8"/>
<globalization
culture="zh-CN"
uiCulture="zh-CN"
requestEncoding="UTF-8"
responseEncoding="UTF-8"
fileEncoding="UTF-8" />
culture="zh-CN"
uiCulture="zh-CN"
requestEncoding="UTF-8"
responseEncoding="UTF-8"
fileEncoding="UTF-8" />
最重要的部分,MachineKey,找到這一部分:
<machineKey
validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902"
decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC"
decryption="3DES"
validation="SHA1"/>
validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902"
decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC"
decryption="3DES"
validation="SHA1"/>
從備份的webBackup.config文件找到這一部分,拷貝validationgKey和decryptionKey的值,替換上面的原始設(shè)置。一定要記得做這一步?。?/span>
到這里,web.config文件的修改完畢,可以開始激動人心的升級過程了。
打開IE,輸入"http://159.21.121.15",如果之前的步驟設(shè)置正確,你就能看如下的升級信息:
升級完成信息:


Upgrading DotNetNuke
Current Assembly Version: 04.06.00
Current Database Version: 04.03.07
Upgrade Status Report
00:00:00.046 - Upgrading to Version: 4.6.0
00:00:00.109 - Executing Script: 04.04.00.SqlDataProvider Error! (see 04.04.00.log for more information)
00:00:00.906 - Executing Script: 04.04.01.SqlDataProvider Success
00:00:00.937 - Executing Script: 04.05.00.SqlDataProvider Success
00:00:01.609 - Executing Script: 04.05.01.SqlDataProvider Success
00:00:01.812 - Executing Script: 04.05.02.SqlDataProvider Success
00:00:02.734 - Executing Script: 04.05.03.SqlDataProvider Success
00:00:03.171 - Executing Script: 04.05.04.SqlDataProvider Success
00:00:03.218 - Executing Script: 04.05.05.SqlDataProvider Success
00:00:03.218 - Executing Script: 04.06.00.SqlDataProvider Success
00:00:03.812 - Performing General Upgrades
00:00:05.765 - Installing Module File Adsense_01.00.01_Install: Success
00:00:06.296 - Installing Module File HTML_04.06.00_Install: Success
00:00:06.906 - Installing Module File Links_03.03.07_Install: Success
00:00:07.343 - Installing Package File LiveID_01.00.00_Install: Success
00:00:07.890 - Installing Package File OpenID_01.00.00_Install: Success
Upgrade Complete
Click Here To Access Your Portal
4、升級完畢后用備份網(wǎng)站替換之前的網(wǎng)站。
升級完成之后,就可以用http://159.21.121.15訪問升級成功后的網(wǎng)站了,仔細(xì)檢查一下你使用的一些第三方模塊在新版本下是不是可以正常運行,之前的皮膚是不是表現(xiàn)正常,如果一切完美,就可以用升級完后的網(wǎng)站代替之前的網(wǎng)站了。這個步驟相對簡單,我就不詳細(xì)講了,主要是:
- 刪除"D:\DotNetNuke"目錄,把"E:\WebsiteBackup\DotNetNuke" 拷回D:盤,記得修改權(quán)限設(shè)置,并且在IIS中也重設(shè)一下主目錄。注:如果刪除時說目錄正在使用,請停止IIS,并殺掉進(jìn)程再試。
- 數(shù)據(jù)庫文件同樣拷回原位,刪除之前數(shù)據(jù)庫,重新附加為WebsiteDNN,重設(shè)安全設(shè)置。
- 把web.config文件中的數(shù)據(jù)庫連接設(shè)置修改為連接DNNWebsite。
- 用iisreset命令重啟一下IIS。