IIS7에서 Maximum Requesting Entity Body Limit(최대 요청 엔터티 본문 제힌)항목의 기본값이 200k로 설정되어 있음.
(IIS6의 경우 Metabase.xml 파일에서 AspMaxRequestEntityAllowed항목의 기본값 200k를 상향설정)

IIS > WebSites > ASP > Limits Properties > Maximum Requesting Entity Body Limit : 200000 -> 200k이상으로 상향 설정

2012/09/05 10:59 2012/09/05 10:59

IIS7 404.8 에러 처리.

IIS 2012/09/05 10:58

HTTP Error 404.8 - Not Found
The request filtering module is configured to deny a path in the URL that contains a hiddenSegment section.

IIS7.5에서는 요청 필터링이 구성되어 있으며 요청 필터링에는 서버 관리자가 특정 디렉터리에 대한 액세스를
거부할 수 있도록 하는 hiddenSegments 섹션이 기본 포함되어 있기 때문.

IIS > website > Request Filtering > Hidden segments 탭 선택.

기본 설정 segment : web.config/bin/App_code/App_GlobalResources/App_LocalResources/App_WebReferences/App_Data/App_Browsers

위 기본 segment 중 url에 포함되어 있는 것이 있으면 제거하여 처리하면 됨.

2012/09/05 10:58 2012/09/05 10:58
ADODB.Stream 방식이 아닌 dext upload로 처리되는데도 iis7.x 설정때문에 30M이상 업로드 안됨.
sites > IIS > Request Filtering > Edit Feature Settings > Maximum allowed content length

Maximum allowed content length 값을 변경하면 됨.

* 기본값 : 30M
2012/09/05 10:55 2012/09/05 10:55
MSSQL 2008 Microsoft SQL Server ManagementStudio 에서 테이블의 컬럼 속성을 변경 시 아래와 같은
에러 메시지를 볼수 있다.

"변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다.
다시 만들 수 없는 테이블을 변경했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함]옵션을 설정했습니다."

이런 경우 [도구-옵션-Designers]에서 "테이블을 다시 만들어야 하는 변경 내용 저장 사용 안함(S)"을 체크 해제 하면 된다.
사용자 삽입 이미지

2012/09/04 09:40 2012/09/04 09:40
IIS7에서는 http와 https 세션 연결이 각각 별도의 영역에서 따로 설정되므로, 세션을 동일하게 유지하기 위해 아래와 같이 설정.

IIS -> 사용자 계정 -> ASP -> Session Properties -> New ID On Secure Connection : False 로 설정
2012/09/03 14:02 2012/09/03 14:02
출처 : http://blog.daum.net/itamas/49


코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

CPU

OS 최대

4

2 CPU

4 CPU
(웹 작업부하만)

1 CPU

메모리 사용률

OS 최대

OS 최대

4 GB Ram

OS 최대

1 GB Ram

데이터베이스 크기

무제한

무제한

무제한

무제한

4GB

다중 인스턴스 지원

50 인스턴스

16

16

16

16

x32 하드웨어 지원

지원

지원

지원

지원

지원

x64 하드웨어 지원

지원

지원

지원

지원

지원

동적 주소Windows 확장 메모리 관리

지원

지원

 

 

 

데이터 압축

지원

 

 

 

 

리소스 관리자

지원

 

 

 

 

I64 하드웨어 지원

지원

 

 

 

 

하이퍼바이저 지원

지원

지원

지원

지원

지원

테이블 및 인덱스 분할

지원

 

 

 

 

병렬 인덱스 작업

지원

 

 

 

 

병렬 일관성 체크(DBCC)

지원

 

 

 

 

확장 가능한 공유 데이터베이스

지원

 

 

 

 

인덱싱 된 뷰

지원

 

 

 

 

고급 미리 읽기 및 검색

지원

 

 

 

 

 

 

 

고가용성 (상시 접속)

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

다중 인스턴스 지원

50 인스턴스

16

16

16

16

데이터베이스 미러링

전체

단일 스레드

모니터 서버만

모니터 서버만

모니터 서버만

장애조치 클러스터링

16-노드

2-노드

 

 

 

온라인 시스템 변경

지원

지원

지원

지원

지원

백업 로그 전달

지원

지원

지원

지원

지원

미러에서 자동 손상 복구

지원

지원

 

 

 

로그 스트림 압축

지원

지원

 

 

 

온라인 인덱싱

지원

 

 

 

 

미러된 백업

지원

 

 

 

 

리소스 관리자

지원

 

 

 

 

백업 압축

지원

 

 

 

 

핫애드 메모리 및 CPU지원

지원

 

 

 

 

데이터베이스 스냅숏

지원

 

 

 

 

빠른 복구

지원

 

 

 

 

온라인 페이지 및 파일 복원

지원

 

 

 

 

병렬 인덱스 작업

지원

 

 

 

 

분산형 분할 뷰 업데이트

지원

 

 

 

 

테이블 및 인덱스 분할

지원

 

 

 

 

 

복제

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

SQL Server 변경 추적

지원

지원

지원

지원

지원

병합 복제

지원

지원

구독자만

구독자만

구독자만

트랜잭션 복제

지원

지원

구독자만

구독자만

구독자만

스냅숏 복제

지원

지원

구독자만

구독자만

구독자만

다른 유형의 구독자

지원

지원

 

 

 

Oracle 게시

지원

 

 

 

 

 

 

엔터프라이즈 보안

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

C2 Complaint Tracing

지원

지원

지원

지원

지원

SQL 감사 기반

지원

지원

지원

지원

지원

FGA(Fine-Grained Auditing)

지원

 

 

 

 

TDE(Transparent Data Encryption)

지원

 

 

 

 

확장가능 키 관리

지원

 

 

 

 

 

엔터프라이즈 관리효율성

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

정책 기반 구성

지원

지원

지원

지원

지원

데이터베이스 마이그레이션 도구

지원

지원

지원

지원

지원

정책 기반 관리

지원

지원

지원

지원

지원

간소화된 설치

지원

지원

지원

지원

지원

SQL Server Management Studio 도구

지원

지원

지원

지원

지원

데이터베이스 메일

지원

지원

지원

지원

 

성능 데이터 수집

지원

지원

지원

지원

 

SQL 프로파일러

지원

지원

지원

지원

 

SQL Server 에이전트

지원

지원

지원

지원

 

데이터베이스 튜닝 관리자

지원

지원

지원

지원

 

계획 동결

지원

지원

 

 

 

표준 성능 보고서

지원

지원

 

 

 

분산형 분할 뷰

지원

 

 

 

 

병렬 인덱스 작업

지원

 

 

 

 

쿼리 인덱싱 된 뷰 자동 매칭

지원

 

 

 

 

병렬 데이터베이스 백업 체크섬 검사

지원

 

 

 

 

무제한 가상화

지원

 

 

 

 

 

데이터 웨어하우징

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

데이터베이스 없이 큐브 작성

지원

지원

 

 

 

준비 및 데이터웨어하우스 스키마 자동생성

지원

지원

 

 

 

특성 관계 디자이너

지원

지원

 

 

 

효율적인 집계 디자이너

지원

지원

 

 

 

확장 가능한 읽기 전용 AS

지원

 

 

 

 

분할된 큐브

지원

 

 

 

 

분산형 분할 큐브

지원

 

 

 

 

데이터 압축

지원

 

 

 

 

스타 조인 쿼리 최적화

지원

 

 

 

 

 

Integration Services

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

SQL Server 가져오기 및 내보내기 마법사

지원

지원

지원

지원

지원

로그 공급자 및 로깅

지원

지원

 

 

 

XML 원본

지원

지원

 

 

 

SSIS 런타임

지원

지원

 

 

 

기본 데이터 프로파일링 도구

지원

지원

 

 

 

SSIS 패키지 디자이너 및 서비스

지원

지원

 

 

 

데이터 마이닝 쿼리 변환

지원

 

 

 

 

데이터마이닝 모델 학습대상 어댑터

지원

 

 

 

 

퍼지 그룹화 변환

지원

 

 

 

 

퍼지 조회 변환

지원

 

 

 

 

용어 추출 변환

지원

 

 

 

 

차원처리 대상 어댑터

지원

 

 

 

 

파티션처리 대상 어댑터

지원

 

 

 

 

 

Reporting Services

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

Reporting Services 메모리 제한

무제한

무제한

4GB

4GB

4GB

보고서 디자이너

지원

지원

지원

지원

지원

보고서 관리자

지원

지원

지원

지원

지원

역할 기반 보안

지원

지원

지원

지원

지원

고급 게이지 및 차트 작성

지원

지원

지원

지원

 

기본 데이터 프로파일링 도구

지원

지원

지원

지원

지원

Excel, Word, PDF 및 이미지로 내보내기

지원

지원

지원

지원

지원

Microsoft Office 통합

지원

지원

지원

지원

지원

사용자 지정 인증

지원

지원

지원

지원

 

보고서 서버 애플리케이션 포함

지원

지원

지원

지원

지원

임시 보고(보고서 작성기)

지원

지원

지원

 

 

연산 보고서 구성 확장

지원

 

 

 

 

SharePoint 통합

지원

지원

 

 

 

전자메일 및 파일 공유 배달

지원

지원

 

 

 

보고서 기록, 예약, 구독 및 캐싱

지원

지원

 

 

 

데이터 원본, 배달 및 렌더링 확장성

지원

지원

 

 

 

데이터 기반 보고서 구독

지원

 

 

 

 

보고서 확장 배포

지원

 

 

 

 

임시 보고서의 무한 클릭 방문

지원

 

 

 

 

 

Analysis Services

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

Analysis Services 백업

지원

지원

 

 

 

차원, 특성 관계, 집계 및 큐브 디자인

지원

지원

 

 

 

개인설정 확장

지원

지원

 

 

 

Analysis Services 확장 가능 공유 데이터베이스

지원

 

 

 

 

계정 인텔리전스

지원

 

 

 

 

연결된 측정값 및 차원

지원

 

 

 

 

큐브 뷰

지원

 

 

 

 

반가산적 측정값

지원

 

 

 

 

차원 쓰기저장

지원

 

 

 

 

분할된 큐브 및 분산형 분할 큐브

지원

 

 

 

 

사용자 지정 롤업

지원

 

 

 

 

 

데이터 마이닝

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

Excel 2007 및 Visio 2007 추가기능 지원

지원

지원

 

 

 

DM 알고리즘에 대한 포괄적인 집합

지원

지원

 

 

 

통합형 데이터 마이닝 도구(마법사, 편집기, 모델 뷰어, 쿼리 작성기)

지원

지원

 

 

 

병렬 모델 처리

지원

 

 

 

 

교차 유효성 검사

지원

 

 

 

 

플러그인 알고리즘 지원

지원

 

 

 

 

데이터 마이닝 알고리즘의 고급 구성 및 조정 옵션

지원

 

 

 

 

Integration Services를 사용하여 파이프라인 데이터 마이닝 및 텍스트 마이닝 지원

지원

 

 

 

 

시퀀스 예측

지원

 

 

 

 

 

프로그래밍 생산성

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

MERGE 및 Upsert 기능

지원

지원

지원

지원

지원

새로운 날짜 및 시간 데이터 형식

지원

지원

지원

지원

지원

국제화 지원

지원

지원

지원

지원

지원

전체 텍스트 검색

지원

지원

지원

지원

지원

CLR(공용 언어 런타임) 통합

지원

지원

지원

지원

지원

네이티브 XML 지원

지원

지원

지원

지원

지원

XML 인덱싱

지원

지원

지원

지원

지원

FILESTREAM 지원

지원

지원

지원

지원

지원

엔터티 프레임워크 지원

지원

지원

지원

지원

지원

공간 지원

지원

지원

지원

지원

지원

 

개발 도구

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

Microsoft Visual Studio 통합

지원

지원

지원

지원

지원

Intellisense(Transact-SQL 및 MDX)

지원

지원

지원

지원

지원

MDX Edit, Debug 및 디자인 도구

지원

지원

 

 

 

 

공간 및 위치 서비스

 

코어 에디션

스페셜 에디션

 

Enterprise

Standard

Workgroup

Web

Express

공간 인덱스

지원

지원

지원

지원

지원

측지 데이터 형식

지원

지원

지원

지원

지원

고급 공간 라이브러리

지원

지원

지원

지원

지원

표준 기반 공간 지원

지원

지원

지원

지원

지원

2012/08/21 13:27 2012/08/21 13:27

출처 : http://blog.naver.com/soo9585/80023256739

<?
if($mode=='mailsend') { // $mode 값이 mailsend 일 경우 아래 내용 실행
$limit = 5; // 첨부파일 제한 용량 (단위:MB)

#### 에러 발생시 back("에러문",이동할 페이지수) 함수를 사용하여 에러출력 후 지정한 페이지 수만큼 뒤로 이동함 ###
function back($str,$no=-1) {
echo "<script>
window.alert(\"".$str."\")
history.go(".$no.")
</script>
";
}

// $to 값이 공백일 경우 에러출력 후 한페이지 뒤로 이동
if(!ereg("([^[:space:]]+)",$to)) {
back("메일을 받는사람의 메일주소가 필요합니다.");
exit;
}

// $to 값이 정확한 이메일 주소가 아닐 경우 에러출력 후 한페이지 뒤로 이동
if(!ereg("([a-zA-Z0-9,_]{2,15})@([a-zA-Z0-9]{2,15}).([a-zA-Z0-9]{2,15})", $to, $regs)) {
back("받는사람의 Email 주소 형식이 틀립니다. [예] [email protected]");
exit;
}
// $subject 값이 공백일 경우 에러출력 후 한페이지 뒤로 이동
if(!ereg("([^[:space:]]+)",$subject)) {
back("메일 제목이 없습니다. 메일 제목을 입력해 주십시오.");
exit;
}

$boundary = "----".uniqid("part"); // 이메일 내용 구분자 설정

## 헤더생성 ##
$header .= "Return-Path: $from\r\n"; // 반송 이메일 주소
$header .= "From: $from\r\n"; // 보내는 사람 이메일 주소
$header .= "MIME-Version: 1.0\r\n"; // MIME 버전 표시
$header .= "Content-Type: Multipart/mixed; boundary = \"$boundary\""; // 구분자가 $boundary 임을 알려줌

## 여기부터는 이메일 본문 생성 ##
$mailbody .= "This is a multi-part message in MIME format.\r\n\r\n"; // 메세지
$mailbody .= "--$boundary\r\n"; // 내용 구분 시작

//내용이 일반 텍스트와 html 을 사용하며 한글이라고 알려줌
$mailbody .= "Content-Type: text/html; charset=\"ks_c_5601-1987\"\r\n";
//암호화 방식을 알려줌
$mailbody .= "Content-Transfer-Encoding: base64\r\n\r\n";
//이메일 내용을 암호화 해서 추가
$mailbody .= base64_encode(nl2br($body))."\r\n\r\n";

## 첨부 파일 개수만큼 루프를 돌면서 본문에 추가함 ##
for($i=0;$i<count($userfile);$i++) {
if($userfile[$i]) {
// $limit 으로 설정한 용량 보다 클경우 에러 출력 후 뒤로 이동
if($userfile_size[$i] > ($limit * 1024 * 1024)) {
back(($i+1)."번째 첨부파일이 제한용량(".$limit."MB)을 초과하였습니다.");
exit;
}

$filename = basename($userfile_name[$i]); // 파일명만 추출 후 $filename에 저장
$fp = fopen($userfile[$i], "r"); // 파일 open
$file = fread($fp, $userfile_size[$i]); // 파일 내용을 읽음
fclose($fp); // 파일 close

// 파일첨부파트
$mailbody .= "--$boundary\r\n"; // 내용 구분자 추가
// 여기부터는 어떤 내용이라는 것을 알려줌
$mailbody.= "Content-Type: ".$userfile_type[$i]."; name=\"".$filename."\"\r\n";
//암호화 방식을 알려줌
$mailbody .= "Content-Transfer-Encoding: base64\r\n";
// 첨부파일임을 알려줌
$mailbody .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
// 파일 내요을 암호화 하여 추가
$mailbody .= base64_encode($file)."\r\n\r\n";
}
}

/*
위에서 생성된 $header 와 $mailbody 를 mail() 함수를 이용해서 $to 에게 보냄
만약 메일 전송 실패시 에러출력 후 첫화면으로 이동
*/
if(!mail($to,addslashes($subject),$mailbody,$header)) back("이메일 발송해 실패 하였습니다.");
else echo "<script>alert('메일을 발송하였습니다.');location.replace('?');</script>";

// 아래 html 의 경우 특별히 설명이 필요 없을 듯 하네요...^^
} else { // $mode 값이 mailsend 가 아닐경우 아래 내용 실행
?>
<html>
<head>
</head>
<body text="white" link="#CDEFFF" vlink="#DCD8FF" alink="#FFD2CD">
<table border="0" width="600">
<form method="post" name="form" enctype="multipart/form-data" action="">
<input type=hidden name="mode" value="mailsend">
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">받는사람 Email</td>
<td><p><input type="text" name="to" size="30"></td>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">보내는사람 Email</td>
<td><p><input type="text" name="from" size="30"></td>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">제 목</td>
<td><p><input type="text" name="subject" size="50"></td>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">내 용</td>
<td><p><textarea name="body" rows="10" cols="55"></textarea>
</tr>
<tr>
<td width="200" bgcolor="#5584AA"><p align="center">첨 부</td>
<td>
<p><input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30"><br>
<input type="file" name="userfile[]" size="30">
</td>
</tr>
<tr>
<td colspan=2 align=center><br>
<input type="submit" name="send" value="편지보내기">
<input type="reset" name="cancel" value="내용지우기">
</td>
</tr>
</form>
</table>

<?
}
?>

2012/08/20 19:30 2012/08/20 19:30

1. sendmail.mc 수정

아래 부분을 찾아
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
다음과 같이 앞의 dnl 을 삭제 한다.
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl


아래 부분을 찾아
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
다음과 같이 앞의 dnl 을 삭제 한다.
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl


아래부분을 찾아
dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ->
다음과 같이 dnl을 삭제하고 IP를 수정한다.
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl


2. m4 명령으로 sendmail.cf는 다시 생성
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


이때 sendmail-cf.rpm 이 설치되어 있어야 한다.
만일 없다면 다음과 같이 메시지가 나온다.
sendmail.mc:10: m4: Cannot open /usr/share/sendmail-cf/m4/cf.m4: No such file or directory\

3. dovecot 설치
[email protected]:/etc# yum install dovecot
dovecot 설정
[email protected]:/etc/dovecot# vi /etc/dovecot/dovecot.conf

수정전
protocols = imap imaps

수정후
protocols = pop3 pop3s


아래 부분 주석 해제
listen = *
login_user = dovecot
mail_location = mbox:~/mail:INBOX=/var/mail/%u

login_executable = /usr/lib/dovecot/pop3-login
mail_executable = /usr/lib/dovecot/pop3
auth_executable = /usr/lib/dovecot/dovecot-auth

dovecot 재시작
[email protected]:/etc/dovecot# /etc/init.d/dovecot restart    

pop3 및 smtp 인증을 위한 서비스 시작
/etc/init.d/saslauthd restart

2012/08/18 15:03 2012/08/18 15:03
XE 1.4.x 버전에서 신데케이션 사용 시 정상적으로 동작하지 않는다.

문제는 몇개월 된 것으로 보인다.

네이버 문의시에는 홈페이지 서버에서 IP를 막았으니 차단해제를 하라는 답변만 온다.
서버상에는 IP가 차단되지 않았는데 답답한 답변만 하고 있다.

네이버 측에서 답변과 함께 wget 으로 테스트 한 캡쳐화면을 보내줬다.
wget 으로 확인 시 0Byte가 찍히는 것을 확인했다.

브라우저상에서는 정상적으로 나오나 wget 으로 아무 출력이 없는 것이 무슨 문제가 있기는 한것이였다.

wget -UYeti 'http://domain.com/index.php?module=syndication&act=getSyndicationList&id=tag:domain.com,2012:site&type=channel' -Oa


결국은 서버상에서 문제점을 찾지 못하고 소스를 까보는 수밖에는 답이 없었다.
소스 확인 시 xe/classes/display/DisplayHandler.class.php 파일에서
$gz_enabled = true 로 설정되어 있어 Content-Encoding: gzip 으로 설정되었던 것이다.


Content-Encoding: gzip 으로 설정되어 브라우저에서는 정상 출력되지만 wget 으로는 출력되지 않았던 것이다.

1.5.x 소스를 보니 $gz_enabled = false 로 되어 있었다. 역시 패치의 중요성...

xe/classes/display/DisplayHandler.class.php 의 15번째 $gz_enabled = true을 $gz_enabled = false 로
바꾸면 wget 으로 출력못하는 문제는 해결된다.

이제 네이버에서 정상적으로 크롤링만 하면 되는데 어찌될찌는 기댕겨봐야 한다.
2012/08/06 21:04 2012/08/06 21:04

Hibernate 프레임워크

JSP 2012/08/06 09:21
http://www.javajigi.net/display/FRAMEWORK/Hibernate+Getting+Started
2012/08/06 09:21 2012/08/06 09:21