'분류 전체보기'에 해당되는 글 223건

  1. 2011.08.29 Init: SSLPassPhraseDialog builtin is not supported on Win32 에러가 날때 1
  2. 2011.08.24 구글 크롬 다운로드 직링크
  3. 2011.08.24 Eclipse 에서 Trac 연동해서 쓸때 Task 가 자꾸 웹브라우져로 열릴때
  4. 2011.08.24 Maven, SVN 을 이용한 개발서버(Tomcat) 자동배포 하기
  5. 2011.08.24 Maven Jetty Plugin 으로 개발하면서 css, js, html 같은 정적 파일이 저장안될때

Init: SSLPassPhraseDialog builtin is not supported on Win32 에러가 날때

윈도우 서버에서 Apache 서버에다 SSL 설정을 한다음 부푼 마음을 앉고 리스타트를 시켰는데

error.log 에

Init: SSLPassPhraseDialog builtin is not supported on Win32 

요런 에러 로그가 찍히면서 서버가 뜨지 않았다.

나는 시키는 데로 했을 뿐인데 에러가 자꾸났다.



죠런 에러가 나는 이유는 key 파일 때문이라고 한다.

해결하기 위해서는 일단 원본 key 파일은 어데다 백업 받아 놓고 

openssl  rsa -in 파일명.key -out 파일명.key 

요래 한번 해주고 아파치 서버를 다시 리스탓트 해 보면 잘된다~


내 개인적인 생각이지만 인증서 발급해주는 곳들은 설명을 깔쌈하게 훅훅 잘 알아들을 수 있게 안해주는것 같다.

설명을 잘 안해줘서 원격지원으로 추가수입을 벌려고 하는 것 같기도 하고 -_-

아니면 내가 빠가일수도 있고~~ 

구글 크롬 다운로드 직링크


다운로드 직링크 : http://dl.google.com/chrome/install/버전번호/chrome_installer.exe

버전번호에 다운받을 크롬 버전 뒤에서 부터 6자리를 적어주면 된다 .

예를들어 현재 최신버전인  Google Chrome 13.0.782.215 를 받고 싶다면

http://dl.google.com/chrome/install/782.215/chrome_installer.exe

요렇게 하면 된다.

Eclipse 에서 Trac 연동해서 쓸때 Task 가 자꾸 웹브라우져로 열릴때

원래 이클립스에는 Task 용으로 깔쌈한 전용에디터가 있는데 이 에디터로 Task 를 열어야 Attach Context 기능같은 간지나는 기능을 쓸 수 있다.

그런데 Trac 에 등록된 User 들중에 ADMIN 계정은 전용에디터로 잘 열리는데 보통 계정들은 태스크가 웹브라우져로 열렸다.

고것은 해당 계정에 XML_RPC 라는 권한이 없어서 그렇게 되는 것이다.

XML_RPC 권한 추가해주기

Admin > General > Permissions 로 가서
 
authenticated (로그인한 사용자를 뜻함) 에 XML_RPC 권한 추가






죠렇게 설정해 주면 이제부터는 보통 사용자들도 전용 에디터로 열수 있다.



Maven, SVN 을 이용한 개발서버(Tomcat) 자동배포 하기

이것저것 개발하기도 바쁜데 개발한것들을 자꾸 개발서버에 배포해 달라고 보채면 평온하던 마음에 욱 하는 마음이 살포시 자리잡게 된다.

나의 평온한 마음을 계속 유지하기 위해서 일정시간 마다 개발서버에 자동배포 되도록 잔머리를 굴려 보았다.

소스를 SVN으로 관리하고 있고 프로젝트가 Maven 프로젝트이고, 톰캣이 윈도우 서비스로 등록되 있어야 요렇게 하는것이 가능하다. 

개발서버가 윈도우기 때문에 배치파일과 윈도우  보조프로그램 > 시스템 도구 > 작업스케쥴러를 활용하기로 했다.

※ 만약 리눅스나 유닉스 같은 경우는 배치파일을 리눅스용 스크립트로 작성하고 고것을 cron 으로 돌리면 될것이다.

먼저 배치파일 스크립트 소스는 다음과 같다.
@echo off

:: 변수 설정 시작

set temp_build_dir=c:\tmp2\

:: SVN 에 등록된 프로젝트 이름
set project_name=MyProject

:: SVN 정보 설정
set svn_repository=https://xxx.xxx.xxx.xxx/svn/%project_name%
set svn_user=xxxxx
set svn_passowrd=xxxxxx

:: Maven에서 빌드후 생성해주는 war 파일,  보통 xxxx-0.0.1-SNAPSHOT.war 로 생성됨
set to_gen_war=xxxxxxx.war

:: 빌드후 생성된 war 파일을 복사할 대상 war 파일, 톰캣에서 바라보는 webapps 디렉토리
set target_webapp_dir=C:\webapps\xxxx\

:: 프로젝트의 컨텍스트 패스, / 면 ROOT 라고 적어주면 됨
set target_webapp_war_name=ROOT


:: service 에 등록된 톰캣 서비스이름으로 바꿔주셈~
set tomcat_service_name=tomcat6


:: 변수 설정 끝




:: 배포시작
:: 톰캣 정지
net stop %tomcat_service_name%


:: 기존 배포된 디렉토리 지우기
rd /s /q %target_webapp_dir%%target_webapp_war_name%


::체크아웃 받을 디렉토리가 존재하지 않으면 맨듬
IF NOT EXIST %temp_build_dir% (
	mkdir %temp_build_dir%
)

cd %temp_build_dir%

:: svn 에서 프로젝트를 CHECKOUT 받는다.
svn co %svn_repository% --username %svn_user% --password %svn_passowrd%

cd %project_name%

:: maven 으로 war 파일 생성될때까지 기다림
start /wait cmd /c mvn clean package

cd target

:: war 파일을 개발서버 톰캣 webapps 폴더로 복사
copy %to_gen_war% %target_webapp_dir%%target_webapp_war_name%.war /y

:: 톰캣 시작
net start %tomcat_service_name%

개발서버배포.bat


상단에 있는 변수 설정하는 부분을 프로젝트에랑 개발서버 환경에 맞게 바꿔주면 된다.

스크립트를 보면 알겠지만 매우간단하다.


1. 톰캣 STOP
2. 기존 배포된 디렉토리 지우기 
3. SVN 으로 소스 체크아웃
4. Maven으로 war 파일 생성
5. 생성된 war 파일 복사
6. 톰캣 START

요런 과정을 거친다.



위 스크립트가 실행되기 위해서는 svn, mvn 명령어가 아무데서나 실행될수 있도록 시스템 환경변수 PATH 에 해당경로를 추가해 줘야 한다. 

죠래 만든 스크립트를 이제 윈도우에 있는 기능인 작업 스케쥴러에 등록해서 원하는 시간에 실행되도록 추가해 주기만 하면 된다.

윈도우2008 이나 윈도우7 인 경우 대략 아래와 같을 것이고, XP 도 찾아보면 비슷한게 있을 것이다.


1. 새작업 만들기



2. 일반설정



 3. 트리거 설정(트리거탭)

매일 언제 실행할건지 설정한다.


4. 실행할 스크립트 설정(동작탭)

어떤 스크립트를 실행할것인지 선택


죠렇게 설정해 주고 스케쥴에 추가를 해주면 이제부터 설정한 시간마다 SVN에서 소스를 체크아웃 받아 서버에다 자동 배포를 시켜줄것이다.
 

Maven Jetty Plugin 으로 개발하면서 css, js, html 같은 정적 파일이 저장안될때

이클립스에서 maven을 쓰면서 jetty plugin 으로 서버를 띄워놓고 개발을 할때

css, js, html 같은 정적 컨텐츠 파일을 편집해서 저장할려고 하면

"요청한 작업은, 사용자가 매핑한 구역이 열려 있는 상태인 파일에서 수행할 수 없습니다" 요런 야리꾸리한 에러 메시지가 뜨면서 저장이 안된다.



어디서 찾아봤는데 이런 현상은 윈도우에서만 발생하고 서버가 올라간 상태에서 해당파일을 jetty 가 참조하고 있어서 동시에 파일을 변경할수 없어서 나는 에러라고 한다. 

요것을 해결하기 위한 방법은

1. pom.xml 에서 jetty plugin 이 설정된 부분에 아래처럼 <defaultsDescriptor>위치</defaultsDescriptor> 를 추가해준다.
<plugin>
	<groupId>org.mortbay.jetty</groupId>
	<artifactId>jetty-maven-plugin</artifactId>
	<version>8.0.0.RC0</version>
	<configuration>
		<scanIntervalSeconds>1</scanIntervalSeconds>
		<webAppConfig>
			<defaultsDescriptor>src/main/resources/jetty/webdefault.xml</defaultsDescriptor>
		</webAppConfig>
	</configuration>
</plugin>

 jetty 8.0.0. 어쩌고 하는 버전부터인지 몰라도 아무튼 최신버전은 webdefault.xml 위치를 설정하는 방법이 바껴서 위와 같은 태그로 설정해야 한다.

Maven Jetty Configuration 참고 URL : http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin





2. pom.xml에서 설정한 위치로 webdefault.xml 파일을 복사하고 webdefault.xml 파일에서 init-param 들 중에 useFileMappedBuffer 이라는 항목이 true 로 설정되 있을건데 요걸 false 로 바꿔주면 된다.
<init-param>
	<param-name>useFileMappedBuffer</param-name>
	<param-value>false</param-value>
</init-param>

webdefault.xml

 요렇게만 해주면 이제부터 파일이 훅훅 저장이 잘 된다.




※ 옛날 버전에서 webdefault.xml 위치 지정 : configuration 태그 아래에 바로 <webDefaultXml>위치</webDefaultXml> 요렇게 설정하면 된다.
<configuration>
	<webDefaultXml>src/main/resources/jetty/webdefault.xml</webDefaultXml>
</configuration>
옛날버전 Jetty Configuration 참고 URL : http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin



※ 디폴트 webdefault.xml 위치
[메이븐로컬레파지토리]\org\eclipse\jetty\jetty-webapp\플러그인버전\jetty-webapp-XXX.jar 파일안에 org/eclipse/jetty/webapp/ 폴더 안에 있다~~
 
[메이븐로컬레파지토리] 경로는 별다른 설정을 안했다면 사용자 홈 디렉토리\.m2\repository 이다.

나같은 경우는 C:\Users\Administrator\.m2\repository 요기임.
prev 1 ··· 36 37 38 39 40 41 42 ··· 45 next