마이크로소프트의 설치형 블로그 Oxite - 설치 가이드
Oxite는 마이크로소프트가 개발자들을 대상으로 내놓은 설치형 블로그로 CodePlex에서 소스코드가 공개되어 진행하는 오픈 프로젝트입니다. (혹자는... 마이크로소프트가 이런 분야에까지 발을 들여놓는다는 식으로 말이 많은데... 쩝!)
CodePlex에 가보면 알겠지만, 알파버전이라고 된 것을 보면 Oxite 자체가 아직 미완성이라는 느낌을 바로 갖게 됩니다. 게다가 아래에서 설명이 나오겠지만 Oxite가 참조하는 라이브러리 자체도 아직 정식 릴리즈가 되지 않은 것도 있습니다. 따라서 만약 여러분들이 Oxite로 자신만의 블로그를 갖고 싶다면 아직은 UI를 많이 고치거나 소스 자체를 고치지 말 것을 권장하고 싶습니다. 왜냐하면 지속적으로 CodePlex로부터 개선된 버전들이 공개될 것이고, 그것들을 쉽게 업그레이드하려면 기존 소스 코드가 크게 변경되어 있지 않은 상태가 좋기 때문입니다. 당분간은 자신의 색깔을 가져가지 말고, 충실히 글을 채워놓다 보면 정식버전이 나올 테고 그때에서야 조금씩 고쳐가는 것이 좋겠습니다.
어쨌든, 우여곡절끝에 Oxite가 2월 15일 버전이 릴리즈되었습니다.
안 그래도 그동안 설치해볼까 망설이고 있었는데요. 그런데, 기존 1월 버전은 MVC Framework도 베타가 사용되어져서 선뜻 손이 안 가다가 오늘 극적으로 ^^ 릴리즈가 된 버전이 MVC RC1을 지원한다고 하기에 주저없이 설치를 시작했습니다.
아래는, 제가 설치한 과정을 그대로 나열한 것입니다.
1. Oxite 다운로드
아래의 CodePlex에서 2월 15일자를 선택해서 다운로드 받으면 됩니다.
Oxite.2009.2.15
; http://www.codeplex.com/oxite/Release/ProjectReleases.aspx?ReleaseId=23315
; https://github.com/ldybyz/Oxite
다운로드 후, 압축을 해제합니다. 앞으로의 설치에서 압축해제한 폴더 중에 "/Oxite/bin" 폴더에 놓아야 할 것이 많습니다.
2. SQL Express 2008 설치
기본적으로 SQL Express 2008을 기준으로 Oxite가 만들어졌습니다. SQL Express 2005 버전을 가지고 있다면 2008 버전을 반드시 설치하시고, SQL Server 2008이 있다면 나중에 연결 문자열을 조정해 주면 됩니다. 아래의 경로에서 다운로드 할 수 있습니다.
Downloading and Installing SQL Server 2008 Express
; http://www.microsoft.com/express/sql/download/
3. ASP.NET MVC RC1 설치
Oxite 소스 코드가 ASP.NET MVC RC1을 기준으로 만들어졌기 때문에 빌드하기 위해 꼭 필요합니다. 아래의 경로에서 다운로드 받은 후 설치하면 됩니다.
ASP.NET MVC Release Candidate 1 Refresh
; http://go.microsoft.com/fwlink/?LinkID=140768
ASP.NET MVC 4 for Visual Studio 2010 SP1 and Visual Web Developer 2010 SP1
; https://www.microsoft.com/en-us/download/details.aspx?id=30683
4. Unity 프레임워크 설치
역시 빌드하는 데 꼭 필요합니다. 아래의 경로에서 다운로드 받은 후 설치합니다.
Installing Unity 1.2
; http://www.microsoft.com/downloads/details.aspx?FamilyId=2C8B79E7-AE56-4F90-822E-A1E43C49D12E
unitycontainer/unity
; https://github.com/unitycontainer/unity
5. xUnit 1.1 DLL 복사
아래의 경로에서 다운로드 받은 "xunit-1.1.zip"의 압축을 해제해서 "\Oxite\bin" 폴더에 복사해 둡니다. Oxite 소스 코드의 "Oxite.Mvc.Tests"에서 참조하고 있는데, 해당 프로젝트를 빌드할 필요가 없다면 굳이 xUnit을 다운로드 받지 않아도 됩니다.
Installing xunit 1.1
; http://www.codeplex.com/xunit/Release/ProjectReleases.aspx?ReleaseId=16811
xunit/xunit
; https://github.com/xunit/xunit
6. AntiXSS 3.0 Beta 설치 후 복사
아래의 경로에서 다운받아 설치한 후, "C:\Program Files\Microsoft Information Security\Microsoft Anti-Cross Site Scripting Library v3.0 Beta\Library" 폴더에서 "AntiXSSLibrary.dll" 파일을 "\Oxite\bin" 폴더에 복사해 둡니다.
AntiXSS 3.0 Beta
; http://www.microsoft.com/downloads/details.aspx?FamilyId=051ee83c-5ccf-48ed-8463-02f56a6bfc09
; https://www.nuget.org/packages/AntiXSS/
7. BlogML 2.0 복사
아래의 경로에서 다운로드해 압축 해제 후, "\BlogML_2\BlogML 2.0\DotNet API\binary" 폴더에 있는 "BlogML.dll" 파일을 "\Oxite\bin" 폴더에 복사합니다.
Installing BlogML 2.0
; http://www.codeplex.com/BlogML/Release/ProjectReleases.aspx?ReleaseId=171
hmobius/BlogML.Core
; https://github.com/hmobius/BlogML.Core
이것으로 사전 설치 작업은 모두 끝입니다. 마지막으로 점검을 해보면, "/Oxite/bin" 폴더에는 다음과 같은 DLL들이 복사되어 있어야 합니다.
[그림 1: /Oxite/bin 폴더에 포함된 DLL]
8. 빌드 후 실행
이제, Oxite 루트 폴더의 Oxite.sln 파일을 VS.NET에서 열어서 빌드합니다. 빌드가 정상적으로 완료되었으면 "OxiteSite" 프로젝트를 시작 프로젝트로 설정하고 "F5" 키를 눌러서 실행하면,,, 아래와 같이 ^^ 그대로 블로그 화면이 나타납니다.
[그림 2: Oxite 블로그 첫 페이지]
실행 오류 - 1
아래와 같은 유형의 오류가 발생한다면, web.config의 연결 문자열에 기본 지정된 DB 연결 문자열과 실제로 여러분들의 컴퓨터에 설치된 SQL 서버의 구성이 다를 수 있습니다.
"
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
"
Source Error:
Line 30: select s;
Line 31:
Line 32: return projectSites(query).FirstOrDefault();
Line 33: }
Line 34:
예를 들어, 컴퓨터에 설치된 SQL Express의 인스턴스 명이 "SQLEXPRESS2"로 되어 있다면 OxiteSite 프로젝트의 web.config 파일에서 다음과 같이 연결 문자열을 변경해 줘야 합니다.
<connectionStrings>
<add name="ApplicationServices"
connectionString="Data Source=.\SQLEXPRESS2;AttachDBFileName=|DataDirectory|Oxite.Database.mdf;Integrated Security=true;User Instance=true;"/>
</connectionStrings>
실행 오류 - 2
만약 다음과 같은 오류가 발생했다면,
The database 'C:\..\OXITE\OXITESITE\APP_DATA\OXITE.DATABASE.MDF' cannot be opened because it is version 655. This server supports version 612 and earlier. A downgrade path is not supported.
Could not open new database 'C:\..\OXITE\OXITESITE\APP_DATA\OXITE.DATABASE.MDF'. CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file C:\..\Oxite\OxiteSite\App_Data\Oxite.Database.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.
여러분의 컴퓨터에 설치된 SQL Express의 버전이 2005 버전이기 때문에 2008 버전으로 업그레이드해야 합니다. 만약, 2005/2008 2개의 Express 버전이 설치되어 있다면 web.config에 지정된 DB 연결 문자열의 "Data Source" 값으로 지정된 인스턴스가 2005 버전을 가리키고 있기 때문입니다. 그런 경우에는 2008 버전의 SQL 인스턴스를 가리키도록 연결 문자열을 변경시켜줍니다.
[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]