링크라던가 기능부분은 다 작동을 하는데, 이미지가 엑박이 뜨네요. 뭔가 IIS를 쓸 때보다 규격도
약간 어정쩡하구요.
아파치에 asp.net을 붙이는 부분은 아래와 같이 작성했습니다.
#Use the asp.net handler for all common ASP.NET file types
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
< IfModule mod_aspdotnet.cpp>
# Mount the IBuySpy C# example application
AspNetMount /ccnet "C:/Program Files/CruiseControl.NET/webdashboard"
# Map all requests for /StoreCSVS to the IBuySpy application files
AliasMatch /ccnet/(.*.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx"
# Allow asp.net scripts to be executed in the IBuySpy example
<Directory>
Options FollowSymlinks ExecCGI
AspNet Files Directories Virtual
Order allow,deny
Allow from all
DirectoryIndex index.htm index.aspx default.aspx
</Directory>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
AliasMatch "/aspnet_client/system_web/(d+)_(d+)_(d+)_(d+)/(.*)" "C:/Windows/Microsoft.NET/Framework/v2.0.50727/$4"
# "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
# <Directory>
<Directory>
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
< /IfModule>
처음에 버전을 붙이는 코드("C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4")를
쓰다가 계속 작동이 안되서 2.0버전으로 고정을 시켰는데 혹시 저 부분이 문제인가요?
하루 종일 APM(Apache+PHP+MySQL)으로 웹사이트 하나 만들어 보겠다고 허우적 거림.
IIS는 웹서버로 사용하려고 하는 컴터(win XP pro)에서는 동접 8명까지만 허용된다고....
마음 같아서는 윈도 서버 2003R2 로 설치해버리고 싶지만 내 컴터가 아니기 때문에 패쓰.
한 5분 고민하다가
http://www.apmsetup.com/
APM SETUP7 사용해서 간단히 설치
PHP는 만져본 적이 없기 때문에 새로 공부할 순 없고 ASP.NET 사용하기로 결정!!
그런데 Apache 서버에서는 ASP.NET이 안돌아간다는 구글링 대답;;;;
기본 설정으로는 지원이 안되지만 .NET Framework 와 아파치용 ASP.NET모듈을 설치하고 설정을 조금만 손봐주면 된다.
Apache에서는 공식적으로는 더이상 .NET에 대한 서브프로젝트를 진행 하지 않는 단다. (은퇴하셨다는.... )
다음은 http://localhost/StoreCSVS/index.aspx 에서 ASP.NET 적용을 위한 설정.
/StoreCSVS 디렉토리 이하에서만 aspx 페이지에 접근이 가능하기 때문에
모든 페이지를 ASP.NET으로 제작하기 위해 삽질 좀 했다.
Default Directory에서 redirection하는 것이 더 편하겠다는 생각을 하면서...
처음보는 Apache 설정 파일을 쭈욱 훑어 봐야 했다는....ㅋ
.NET 프레임워크 홈페이지
http://www.microsoft.com/korea/MSDN/netframework/
ASP.NET 모듈 다운로드
http://sourceforge.net/projects/mod-aspdotnet/
Apache가 설치된 디렉토리의 conf/httpd.conf 파일에 다음을 추가하고 Apache 서버를 재시작한다.
(APM SETUP 7의 기본 설정은 c:apmsetupserverapache 폴더였던 것 같다. ;;;;;)
# ASP.NET LoadModule aspdotnet_module modules/mod_aspdotnet.so # Use the asp.net handler for all common ASP.NET file types AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo <IfModule mod_aspdotnet.cpp> # Mount the IBuySpy C# example application # 아래의 /StoreCSVS 부분을 / 로 바꾸면 모든 페이지에서 ASP.NET 적용이 가능하다. AspNetMount /StoreCSVS "C:/StoreCSVS/StoreCSVS" # Map all requests for /StoreCSVS to the IBuySpy application files # /로 바꾸었을 경우 아랫줄은 주석처리(#)해야 Apache서버가 정상적으로 작동한다. Alias /StoreCSVS "C:/StoreCSVS/StoreCSVS" # Allow asp.net scripts to be executed in the IBuySpy example <Directory "C:/StoreCSVS/StoreCSVS"> Options FollowSymlinks AspNet Files Order allow,deny Allow from all DirectoryIndex Default.htm Default.aspx </Directory> # For all virtual ASP.NET webs, we need the aspnet_client files # to serve the client-side helper scripts. AliasMatch /aspnet_client/system_web/(d+)_(d+)_(d+)_(d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4" <Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles"> Options FollowSymlinks Order allow,deny Allow from all </Directory> </IfModule> # ASP.NET
첫번째 Aliasmatch 다음에 빠진부분이 있더군요;
Alias /ccnet/ "C:Program Files/CruiseControl.NET/webdashboard/"
이렇게 추가해 주시고
AliasMatch /ccnet/(.*.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx"
이부분은
AliasMatch /ccnet(.*.aspx.*) "C:/Program Files/CruiseControl.NET/webdashboard/default.aspx"
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj
licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
# Mount the ASP.NET example application
AspNetMount /active "W:/www/active"
# Map all requests for /active to the application files
Alias /active "W:/www/active"
# Allow asp.net scripts to be executed in the active example
<Directory "W:/www/active">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.aspx
</Directory>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
AliasMatch /aspnet_client/system_web/(d+)_(d+)_(d+)_(d+)/(.*)
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</IfModule>
Mod_AspDotNet : http://sourceforge.net/projects/mod-aspdotnet/
Apache Homepage : http://www.apache.org/
이 문서는 WIndows XP에서 아파치 서버를 구동하는 경우를 기준으로 쓴다.
미완성 프로젝트라고는 하지만, 아직까지는 별다른 기능상의 제약을 만난적은 없다.
위의 Mod_AspDotNet의 링크에서 지원모듈을 다운받아서 설치하면 아파치 설정문서에 아래와 같은 항목이 추가된다.
# Use the asp.net handler for all common ASP.NET file types
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
# Mount the IBuySpy C# example application
AspNetMount /WebApp "C:/webpubs/wwwroot/webapp"
AspNetMount /WebApp "C:/webpubs/wwwroot/webapp/island"
# Map all requests for /StoreCSVS to the IBuySpy application files
Alias /WebApp "C:/webpubs/wwwroot/webapp"
Alias /WebApp "C:/webpubs/wwwroot/webapp/island"
# Allow asp.net scripts to be executed in the IBuySpy example
<Directory "C:/webpubs/wwwroot/webapp">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.aspx
< /Directory>
<Directory "C:/webpubs/wwwroot/webapp/island">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex Default.htm Default.aspx
</Directory>
# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
AliasMatch /aspnet_client/system_web/(d+)_(d+)_(d+)_(d+)/(.*)
"C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
< Directory
"C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>