Выполняем полное резервное копирование имеющегося хоста. То есть копируем целиком всю папку со скриптами, и делаем бэкап БД. Заходим на сайт проекта на SourceForge. Прокручиваем открывшуюся страницу вниз, пока не увидим список файлов последнего релиза. На данный момент, например, он выглядит так:  Кликаем по ссылке на пакет обновления платформы (в его имени фигурирует слово "Upgrade", отмечен красным на скриншоте), попадаем на страницу для скачки и скачиваем на ней сам файл. Заходим в папку со скриптами DNN, переименовываем файл "web.config" в "web_old.config", удаляем файл "default.aspx" (так надо). Примечание: после выполнения этих действий сайт работать не сможет, поэтому, если речь идёт о "живом" сайте, будет разумно временно разместить в папке DNN файл "index.html" с сообщением о проводимом техобслуживании сайта. Из скачанного архива выдёргиваем файл "release.config" и кладём его в папку со скриптами DNN. Переименовываем файл "release.config" в "web_new.config". Открываем в текстовых редакторах старый конфигурационный файл ("web_old.config") и новый ("web_new.config"). Переносим из старого в новый параметры подключения к серверу MS SQL. Находим в новом файле строки вида: <!-- 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" /> <!-- Connection String for SQL Server 2000/2005 <add name="SiteSqlServer" connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;" 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" /> --> <!-- Connection String for SQL Server 2000/2005 --> <add name="SiteSqlServer" connectionString="Server=(local);Database=DotNetNuke;uid=;pwd=;" providerName="System.Data.SqlClient" /> Теперь во вторую строку параметров подключения аккуратно переносим данные из старого конфигурационного файла, указывая сервер, имя базы, логин и пароль пользователя. То же самое проделываем со строками: <!-- 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;"/> <!-- Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules <add key="SiteSqlServer" value="Server=(local);Database=DotNetNuke;uid=;pwd=;"/> --> После этого находим в старом конфигурационном файле строки ключей шифрования, имеющие примерно следующий вид: <machineKey validationKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902" decryptionKey="F9D1A2D3E1D3E2F7B3D9F90FF3965ABDAC304902F8D923AC" decryption="3DES" validation="SHA1"/> и заменяем ими строки, находящиеся в новом файле. Содержимое скачанного файла пакета обновления платформы распаковываем в папку со скриптами DNN, перезаписывая старые файлы новыми. (Если на время обновления выкладывался "index.html" – удаляем его.) Переименовываем "web_new.config" в "web.config". Заходим на сайт, при этом автоматически начнётся процедура обновления. В случае, если попытка обновления завершилась неудачно, или после завершения обновления сайт не работает, разворачиваем сайт обратно из бэкапа (копируем скрипты обратно, делаем откат базы к предыдущему состоянию), после чего пытаемся выявить причину проблемы. :) |