close
  • 홈
  • :
  • 위치로그
  • :
  • 태그
  • :
  • 방명록
  • :
  • 관리자
  • :
  • 새글쓰기
블로그 이미지

이슬나라 [isulnara.com]
프로그램 관련 문의...
전체 (208)
자작 프로그램 (24)
EzIP (3)
IEPageSetup (3)
iSysInfoX (2)
메신저 알림이 (1)
ezSVC (1)
WebFTP (2)
iDebugX (1)
기타 (10)
버그 신고 (1)
이것저것.. (55)
WebFTP 게시판 (0)
팁 모음 (77)
linux (21)
프로그래밍 (36)
윈도우 (5)
네크워크 (7)
기타 (7)
윈도우 숨은.. (4)
터미널 서비스.. (1)
공개 웹하드 (1)
관리자 (0)
PC 원격제어.. (1)
NAS (43)
«   2009/11   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Pixels max_allowed_packet 시놀로지 serial ds107 postgresql 아파치 인증 putty emulator 태터툴즈 openSUSE11.3 다운로드스테이션 ftp 로딩 DateCompare 원격제어 nProtect zbs-200 sms hosts.deny 스플래시 홈 네트워크 ZONE FILE TMS TDBAdvGrid awk WDN-2000 아이피변경 에뮬레이터 FON
[ezLink] 동시 접속수...
ezLink 1.2.1.2 정식... (3)
MD5 CRC 체크섬.
Apache, Subversion...
CentOS에 MongoDB 설치.
예.. 제가 직접 만들어서...
isul / 01/29
직접 만드시는 프로그램...
LuckySh / 01/28
109j용 1869가 synology...
isul / 01/22
Ds-109j 1869 가지고 계...
심재규 / 01/21
시도해보지는 않았지만 S...
isul / 01/20
일반 어플리케이션을 서...
ㅇㅇ/ / 2009
사이코웨어 : nProtect,...
√ MIRiyA's AstraLog / 2008
웹페이지에서 인쇄시 머...
醉生夢死™ / 2006
웹페이지에서 MAC Addres...
날자~!! 날어~!! / 2005
 최근글 목록
 2011/11 [2]
 2011/10 [3]
 2011/09 [1]
 2011/07 [3]
 2011/06 [1]
넷하드 - NAS 카페
무료 원격제어 프로그램
블로그가 뭥미?
솔라리스 테크넷
스티브 맥코넬
시놀로지 NAS 카페
하얀나무 - 캠핑 전문 쇼핑몰
하얀나무's Story
Total of
456368 visitors
Today 75
Yesterday 189
 
글검색결과[2009/11] : 3
2009/11/15  IEPageSetup 크기에 맞게 축소(IE8만 지원)하는 기능(ShrinkToFit) 추가 (37)
2009/11/10  시스템 에러 로그 SMS로 받기 및 SMS 서버 구축하기 (4)
2009/11/07  SVN + Mantis 연동하기 (2)
     
 자작 프로그램/IEPageSetup 
IEPageSetup 크기에 맞게 축소(IE8만 지원)하는 기능(ShrinkToFit) 추가
Posted on 2009/11/15 21:15
 
 
 
 
IE8에서 크기에 맞게 축소하는 기능을 추가하였습니다.

적용된 버전:1,4,0,1


다음과 같이 사용하면 됩니다.
IEPageSetupX.ShrinkToFit = true;
주의: IE8이 아닐 경우 아무런 동작을 하지 않습니다.(에러는 발생하지 않습니다)
다운로드 및 자세한 설명은 아래 페이지를 참고바랍니다.
http://isulnara.com/tt/36
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
IEPageSetup, ShrinkToFit
Trackback [0] : Comment [37]
TrackbackAddress
http://isulnara.com/tt/trackback/209
홍찬석 수정/삭제 답변하기
2009/11/19 17:11
인증이 되어 있질 않아 아쉽지만, 그래도 이렇게 신경써 주셔서 감사합니다. 인증은 다른 루트를 통해 알아봐야 겠네요~
즐거운 저녁시간 되세요~
BlogIcon isul 수정/삭제
2009/11/19 21:08
예.. 저도 인증된 파일로 배포하지 못해 아쉽네요..
고맙습니다.
감사 수정/삭제 답변하기
2009/12/11 15:27
쓰면서 항상 감사하고 있습니다... 간만에 들어와 보니 버전업되었네요...
염치없지만 감사하다는 말밖에는 드릴께 없네요.... 감사히 잘 쓰겠습니다... 꾸벅
BlogIcon isul 수정/삭제
2009/12/11 23:12
고맙습니다. 아직 기능 추가할 게 많은데 쉽지가 않네요..
^________^
우군 수정/삭제 답변하기
2010/05/13 18:32
윈도우7의 경우 영어버전으로 설치해야 되는군요...ㅋㅋㅋ
여튼, 오늘 처음 써봤는데, 감사합니다.
BlogIcon 이성헌 수정/삭제 답변하기
2010/05/17 23:59
인증 관련되서 이야기를 나누고 싶은데 빠른 시일내에 연락을 주시면 고맙겠습니다.(roviet@mpdas.com)
저그사랑 수정/삭제 답변하기
2010/05/20 11:34
오늘 검색해서 처음으로 사용해봤는데 정말 좋은 콘트롤인거 같습니다.
사실 상용 scriptx랑도 별차이가 없는 콘트롤을 무료 배포하시니 감사할 따름입니다.
근데 써보면서 한가지 더 욕심을 내보자면 상용에 있는 기능중 프린트 페이지 범위 설정이 있는데 이것도 혹시 추가하실수 있을지 모르겠습니다.
암튼 무료사용자로서 염치 없지만 가능하시다면 부탁드리겠습니다.
BlogIcon isul 수정/삭제
2010/05/20 11:45
프린트 페이지 범위 설정이라는 것이 5 페이지가 있다면 이 중에서 인쇄를 원하는 페이지를 지정하는 것을 의미하는 것인가요?
IE에 있는 기능이면 어떻게 해보겠는데..
윈도우의 기능이면 빠른 시일 내에 추가는 어렵습니다.
저그사랑 수정/삭제 답변하기
2010/05/20 13:19
예 말씀하신데로의 기능입니다.
printing.SetPageRange(selectionOnly[, from, to]) 몇페이지서 부터 몇페이지까지 프린팅설정 입니다.
scriptX에는 있는기능이지만 유료에서만 가능하고요 무료버전에서는 플래시가 포함되어있는 페이지는
프린팅이 잘 안되더군요..유료버전에서는 잘 나올지 모르겠지만요...ㅎ.
IEPageSetup은 플래시든 뭐든 잘 동작하네요 그래서 현재는 이것을 쓸수 밖에 없습니다.
뭐 암튼 이 기능도 추가 가능한지 궁금할 뿐이고요 가능하신다면야 시간은 얼마든지 기다릴 수 있습니다^^
BlogIcon isul 수정/삭제
2010/05/22 11:46
언제 추가할 수 있을지는 모르겠지만..
추가할 기능 리스트에 넣어두겠습니다.
고맙습니다.
현상수배 수정/삭제 답변하기
2010/07/06 15:25
잘 사용하고 있었는데....
좀 연락점 부탁드립니다..
전화 안되시면 문자라도 010 7494 4588 ...
인증서 관련해서.. 상의드릴일이.ㅋㅋㅋ
BlogIcon isul 수정/삭제
2010/07/06 23:30
메일(http://isulnara.com/tt/notice/120)이나 비밀글로 남겨주세요..
새광 수정/삭제 답변하기
2010/07/09 09:42
항상 감사드리면 잘 쓰고 있었습니다.
질문이 하나 있는데요~
이번에 윈7에서 사용하다보니 'AlwaysUseDefaultPrinter' 값 세팅 오류라고
메세지가 뜨는데.. 이건 왜 그런걸까요?
BlogIcon isul 수정/삭제
2010/07/12 09:10
윈7을 설치해야 되어서 빠른 시일 내에는 되지 않을 거 같습니다.
테스트해보고 글 남기겠습니다.
BlogIcon isul 수정/삭제
2010/07/19 23:58
Windows7(32bit), IE8에서 정상 동작함을 확인하였습니다.
에러 발생하는 페이지를 알려주시면 확인해보겠습니다.
수정/삭제 답변하기
2010/08/13 11:13
관리자만 볼 수 있는 댓글입니다.
BlogIcon isul 수정/삭제
2010/08/13 11:22
뭐 크게 도와 드린 것도 아닌데.. 식사까지...
말씀만으로도 고맙습니다^^
수정/삭제 답변하기
2010/12/01 17:43
관리자만 볼 수 있는 댓글입니다.
BlogIcon isul 수정/삭제
2010/12/02 00:00
아래 데모 참고해보세요..
http://isulnara.com/myAPP/IEPageSetupX/demo3.html
BlogIcon 현상수배 수정/삭제 답변하기
2010/12/08 15:00
항상 고마운 마음만으로 쓰고 있었습니다..
이번에 제가 아시는 사장님을 통해서 인증서를 씨웠습니다...
저도 관리자님을 따로고자.. 인증된 파일을 보내드립니다..
관리자님은 보시고 화일 교체 해주세요.. ^^;;;
http://devzone.myetrayz.net:8001/rapidb ··· f2a7baf3
항상 감사한 마음으로 쓰고 있습니다..
인증서 구매하고 씨우는 작업을 하느냐 오래 거렸네요..
전에 연락주셨으면 좀더 일찍 해드렸을텐데....
BlogIcon isul 수정/삭제
2010/12/08 15:16
얼마 전에 인증된 파일을 보내주신 분이 한 분 계셨습니다. 그래서 그걸로 배포하고 있었습니다.
고맙습니다^^
현상수배님께서 보내주신 파일도 함께 배포하겠습니다.

다행이 제가 근무하는 회사에서 인증서를 구입할 예정입니다. 곧 사용할 수 있을 것 같습니다.
앞으로 1년은 문제없을 것 같습니다.
여우사이 수정/삭제 답변하기
2011/01/24 11:19
안녕하세요.
scriptx 때문에 돌아다니다가 우연찮게 발견해서 적용을 해봤는데요.
정확한 원인을 찾을수가 없어서 글을 올립니다..

페이지는 iframe안에 여러개의 iframe이 속해있는데요. 예로 총 출력할 페이지가 5페이지라고 하면
같은데이타를 뽑았을때
1. 어떤 pc에서는 정상적으로 다 나오고,
2. 어떤 pc에서는 1,2 페이지 여백으로 나오고,
3. 또 어떤pc에서는 축소되서 나와버립니다.
그런데 이게 ScriptX할때와, IEPageSetup을 사용할때 컴터마다 틀리지만 동일한 증상이 나오네요.
즉 ScriptX에서는 1번(정상)인게 IEPageSetup는 2번 또는 3번 증상이 나오고,
ScriptX에서는 2번 증상이 IEPageSetup에서는 1번(정상)으로 출력되네요.
이런문제 겪어보시거나 해결하신분 안계시는지요??
BlogIcon isul 수정/삭제
2011/01/25 00:23
안녕하세요..
남겨주신 설명만으로는 상황 파악이 힘듭니다.
테스트할 수 있는 URL을 남겨주시면 확인해보겠습니다.
모든이에게 공개가 어려우면 비밀글로 남겨주셔도 됩니다.
이희동 수정/삭제 답변하기
2011/01/27 16:09
<script language="javascript" type="text/javascript">
function Installed() {
if (typeof(document.all("IEPageSetupX"))!="undefined" && document.all("IEPageSetupX")!=null) {
return true;
} else {
return false;
}
}

function PrintTest() {
if (!Installed()) {
alert("컨트롤이 설치되지 않았습니다. 정상적으로 인쇄되지 않을 수 있습니다.")
} else {
alert("정상적으로 설치되었습니다.");
}
}

function print() {
//IEPageSetupX.Clear(); // 머리글, 바닥글 삭제 && 모든여백0 설정
IEPageSetupX.header = "";
IEPageSetupX.footer = "";
IEPageSetupX.leftMargin = 0.1;
IEPageSetupX.rightMargin = 0.0;
IEPageSetupX.topMargin = 0.0;
IEPageSetupX.bottomMargin = 0.0;
IEPageSetupX.PrintBackground = true;
IEPageSetupX.Orientation = 0; // 인쇄종이방향 설정 (가로:0, 세로:1)
IEPageSetupX.Preview(); // 미리보기 설정
IEPageSetupX.Print(true); // 프린트창없이 설정 (프린트 창이 있고 싶으면 보내는 값에 "true" 넣기)
}
</script>
</head>

<body onload="javascript:print();">
<OBJECT id=IEPageSetupX classid="clsid:41C5BC45-1BE8-42C5-AD9F-495D6C8D7586" codebase="./IEPageSetupX.cab#version=1,0,20,4" width=0 height=0>
<param name="copyright" value="http://isulnara.com">
<div style="position:absolute;top:276;left:320;width:300;height:68;border:solid 1 #99B3A0;background:#D8D7C4;overflow:hidden;z-index:1;visibility:visible;">
<FONT style='font-family: "굴림", "Verdana"; font-size: 9pt; font-style: normal;'>
<BR> 인쇄 여백제어 컨트롤이 설치되지 않았습니다.
<BR> <a href="./IEPageSetupX.exe"><font color=red>이곳</font></a>을 클릭하여 수동으로 설치하시기 바랍니다.
</FONT>
</div>
</OBJECT>


위와 같이 했는데
여백설정이 전혀 되지 않습니다.
BlogIcon isul 수정/삭제
2011/01/27 23:44
이 부분은 IEPageSetupX와 관련 없이..
여백은 0이나 0.1 같은 것은 설정되지 않습니다.
IE의 페이지 설정 메뉴에서 그렇게 설정한 후 다시 그 메뉴로 들어가 보세요..
설정되지 않을 것입니다.
최소값이 정해져 있습니다. 정확히 얼마 인지는 모르겠네요..
수정/삭제 답변하기
2011/02/25 13:49
관리자만 볼 수 있는 댓글입니다.
BlogIcon isul 수정/삭제
2011/02/27 13:09
곧 이라사서 짐 정리하느라 당장은 확인을 못합니다.
3월 2일 이후에 확인해보겠습니다.
BlogIcon isul 수정/삭제
2011/03/04 01:14
이사하고 짐 정리하느라 시간이 많이 지났습니다.
이제서야 테스트하려고 접속해보니 사이트에 접속이 안됩니다.
혹시 해결되지 않았다면 다시 알려주시면 바로 확인해보겠습니다.
헤븡 수정/삭제 답변하기
2011/03/09 05:02
안녕하세요 질문좀 드리려구요^^
저도 print activex 알아보고 있다가
우연찮게 들어왔는데 참 좋은일 하시는거 같네요 ^^;
그런데 댓글 읽어보다보니 인증서 관련 이야기가 조금 있던데요
지금 배포하시는 인증된 파일은 유효기간이 1년인건가요?
만일 이 activeX로 인쇄페이지 개발을 했을 경우 1년뒤에는 어떻게 될지 궁금합니다 ^^;
BlogIcon isul 수정/삭제
2011/03/09 12:21
안녕하세요.
이미 인증된 파일은 문제가 없습니다.
다만 제가 프로그램을 수정하고 다시 인증하는 시점(1년 후)에 인증서가 만료되어서 인증을 할 수 없게 되는 것이 문제인 것입니다.
현재 인증되어 배포 중인 파일은 문제 없습니다.
임현철 수정/삭제 답변하기
2011/03/16 15:52
안녕하세요.
저희 그룹웨어에 IEPageSetupX를 사용하고 있던데요. 새로산 pc기 윈도우7인데 어떤 컴에서는 설치가 되어 잘 사용하는데 다른 몇개는 설치를 해도 자꾸 설치 안되어 있다고 나오네요. 해결 할 수없는 문제인가요?
BlogIcon isul 수정/삭제
2011/03/16 15:54
안녕하세요..
수동 설치 프로그램으로 설치한 후에 테스트해도 동일한 문제가 발생하는지요?
수정/삭제 답변하기
2011/05/08 21:20
관리자만 볼 수 있는 댓글입니다.
topman 수정/삭제 답변하기
2011/05/08 21:22
이런 죄송합니다. 이거 post글에 어찌 사용해야 글이 등록이 되는지 잘 몰라서 이상하게 등록이 된듯 합니다.
64bit에서 설치후에도 검증을 못하던데 혹 방법이 있는지 ?
BlogIcon isul 수정/삭제
2011/05/09 00:14
현재 32bit용으로만 제작해서 배포 중입니다.
이 프로그램을 개발한 툴이 아직 64bit를 지원하지 않아서 64bit용을 배포하지 못하고 있습니다.
아직 64bit에서 동작되는지도 확인하지 못했습니다.
주변에 64bit 사용하는 사람들 찾아서 테스트해보겠습니다.
일단 64bit에서 테스트해봐야 어떻게 대처할 것인지 방안이 나올 것 같습니다.
최대한 빠른 시일 내에 64bit PC를 찾아 테스트해보고 결과 올리도록 하겠습니다.
수정/삭제 답변하기
2011/10/28 13:31
관리자만 볼 수 있는 댓글입니다.
BlogIcon isul 수정/삭제
2011/10/28 13:34
저작권 관련해서는 아무런 문제가 없습니다.
IEPageSetupX 자체를 판매하지 않는 이상 상업용 사이트에도 이용해도 됩니다.
사용하시는 곳까지 알려주셔서 고맙습니다.
SecretComment
     
 NAS 
시스템 에러 로그 SMS로 받기 및 SMS 서버 구축하기
Posted on 2009/11/10 12:20

이 글은 NAS에서 발생한 시스템 에러 로그를 SMS로 전송 받는 것과 NAS를 SMS 서버로 만드는 것에 대한 것입니다.

사용된 장비: DS-209+II
사용된 SMS 서비스: LG 데이콤 아이모리(http://www.imory.co.kr/), LGT 무료 부가 서비스(http://lgtelecom.com)

첨부파일: http://isulnara.com/myAPP/SimpleSMS/sms.zip (sms.lgt, sms.xpeed, sendmsg.php)


0. 시작하기 전에

무료 SMS를 사용하기 위해 아래 서비스를 사용하였습니다.
- LG 데이콤의 아이모리를 이용하였습니다. XPEED 사용자는 부가서비스를 신청(무료)하면 무료로 월 300건(1일에 20건)을 이용할 수 있습니다.
- LG Telecom의 부가 서비스를 이용하였습니다. 가입자의 경우 월 50건을 무료로 이용할 수 있습니다.
다른 SMS 서비스 업체를 이용하시려면 첨부된 파일 중 sms 스크립트를 직접 수정하여야 됩니다.
위에 언급된 서비스를 모두 이용 가능할 경우 하나의 서비스에서 보낼 수 있는 건수를 초과하면 다른 서비스를 이용하여 전송하게 됩니다.


1. curl 설치

이 부분은 최신 펌웨어에서는 기본으로 설치되어 있어서 생략 가능합니다.(2010/03/28)

먼저 curl의 설치가 필요합니다. (당연히 아래 명령을 이용하기 위해서는 bootstrap이 설치 되어 있어야 겠죠. http://isulnara.com/tt/201 참조)
[root@fs:/volume1/tmp]# ipkg install libcurl

2. /usr/syno/etc/php.ini 수정


SMS 전송 스크립트를 실행(php에서 exec 명령 사용)하기 위해서 아래와 같이 수정합니다. (빨간 색으로 처리된 것이 수정된 부분입니다)
#safe_mode_exec_dir = /usr/syno/bin
safe_mode_exec_dir =
변경된 사항을 적용하기 위해서 웹서버를 재시작해야 됩니다. 관리자 페이지에서 웹서비스를 재시작 시키면 됩니다.(홈>>네트워크 서비스>>웹 서비스 - Web Station 활성화 체크 해제 ->확인 -> 다시 체크 -> 확인)

3. 프로그램 설치 및 설정

● 첨부된 sms.lgt와 sms.xpeed를 텍스트 에디터에서 열어서 붉은 색 부분을 자신의 아이모리 계정 정보로 수정합니다. 두 서비스 중 하나면 사용할 경우에는 해당되는 파일만 수정하면 됩니다.
# 사용자 ID
UID=YOUR_ID

# 암호
PWD=YOUR_PASSWORD
● /usr/local/sms에 폴더를 생성하고, 수정된 sms.lgt와 sms.xpeed를 그 폴더로 복사하고 실행 권한을 줍니다.
[root@fs:/volume1/tmp]# mkdir -p /usr/local/sms
[root@fs:/volume1/tmp]# cp sms.* /usr/local/sms/
[root@fs:/volume1/tmp]# chmod 705 /usr/local/sms/sms*
● php에서 sms.lgt와 sms.xpeed를 실행할 수 있게 아래 명령을 실행합니다.(이 명령은 펌웨어 업그레이드 후에도 실행해야 SMS 서비스를 정상적으로 이용할 수 있습니다)
[root@fs:/volume1/tmp]# ln -s /usr/local/sms/sms.lgt /usr/syno/bin/sms.lgt
[root@fs:/volume1/tmp]# ln -s /usr/local/sms/sms.xpeed /usr/syno/bin/sms.xpeed
● 첨부된 sendmsg.php의 내용 중 붉은 색 부분을 수정합니다.(계정 정보는 위의 아이모리 및 LGT 계정 정보와는 상관없는 것으로 NAS 또는 자신만 접근하기 위한 정보임)
// 본 스크립트에 접근을 허용하기 위한 사용자 계정 설정
$uid = 'YOUR_ID';
$pwd = 'YOUR_PASSWORD';

// 보내는 사람 전화번호 기본값
$sender = '01012345678';

// 아래에서 자신이 이용할 수 있는 서비스는 주석을 해제(//를 삭제)하시기 바랍니다.
$sms = array(   ''
                    //, '/usr/syno/bin/sms.xpeed'       // XPEED , 월 300건(1일 20건) 무료
                    //, '/usr/syno/bin/sms.lgt'            // LGTelecom, 월 50건 무료
                  );
● 수정된 sendmsg.php를 웹에서 접근 가능한 디렉토리(/volume1/web/sms/)에 올립니다.
[root@fs:/volume1/tmp]# mkdir /volume1/web/sms
[root@fs:/volume1/tmp]# cp sendmsg.php /volume1/web/sms

4. 관리자 페이지에서 SMS 알림 설정

관리자 페이지의 [홈 >> 시스템 >> 공지] 메뉴에서 SMS 탭을 선택하고, '추가' 버튼을 클릭하면 아래와 같은 화면이 나옵니다.
공급자 이름에는 아무것이나 입력하시고, SMS URL에는 위에서 설정한 sendmsg.php가 위치한 URL을 다음과 같은 형식으로 입력합니다.
http://nas 아이피/sms/sendmsg.php?uid=myid&pwd=mypwd&from=010&to=019&msg=hi
위에 URL에서 파라미터는 신경 쓰지 않아도 됩니다. 각 파라미터에 대한 값은 자동으로 들어가게 되니까요.
NAS의 아이피 및 sendmsg.php의 경로만 설정하면 됩니다.
사용자 삽입 이미지

위 화면에서 '다음'을 클릭하면 아래와 같은 화면이 나옵니다.
매개변수 설정하는 화면인데요.. 각 매개변수는 아래 화면에서와 같이 설정하면 됩니다.
이 부분에 버그가 있어서 콤보박스에서 해당 항목을 선택할 경우 잘 선택되지가 않습니다. 이때는 에디터 창에다 직접 입력하세요. 예를 들면 uid 옆의 입력 창에서 '사'를 입력하고 화살표 아래 방향 키를 눌러서 '사용자 이름'을 선택하고 엔터키를 치면 자동으로 설정됩니다.
사용자 삽입 이미지

위 화면에서 "종료" 버튼을 클릭하시고, 아래 화면에서 "SMS 서비스 제공 업체"에 위에서 추가한 것으로 선택을 하고, "사용자 이름"과 "패스워드"에 sendmsg.php에서 설정한 계정 정보를 입력합니다. 전화번호는 자신의 전화번호를 입력하면 되겠죠.
"확인" 버튼을 클릭하여  변경된 정보를 저정하고, "테스트 SMS 메시지 전송" 버튼을 클릭하여 테스트 메시지가 전송되는지 확인합니다. 메시지가 잘 오면 모두 정상적으로 설정이된 것이고, 안 온다면 처음부터 다시 살펴보세요^^
사용자 삽입 이미지

이상으로 시스템 에러를 SMS로 받아보는 모든 설정을 마쳤습니다.

참고로 SMS 알림이 발생하는 상황은 아래와 같습니다.

# 볼륨이 충돌합니다. (내부 볼륨, DX5/RX4 또는 시스템 볼륨 포함)
# 볼륨이 저하되었습니다. (내부 볼륨, DX5/RX4 또는 시스템 볼륨 포함)
# DX5/RX4가 더 이상 존재하지 않습니다.
# 내장 디스크가 충돌합니다.
# DDNS 등록에 실패했습니다.
# UPS 연결이 끊겼습니다.
# 내부 팬이 멈췄습니다.
# DX5/RX4 팬이 멈췄습니다.
# 과열로 인해 시스템이 종료되었습니다.


5. 보너스

아래 화면은 위에서 구축한 SMS 서비스를 이용하여 Window$에서 간단히 문자 메시지를 보내는 프로그램(SimpleSMS)입니다.

사용자 삽입 이미지
자신의 NAS에 있는 sendmsg.php를 이용하여 SMS를 보내는 프로그램입니다.

현재 여러 무료 SMS 제공 업체를 이용한 통합 SMS 전송 프로그램들이 있는데요.. 혹시나 계정 정보가 누출되지 않을까 걱정이 되기도 하죠..
SimpleSMS는 자신이 구축한 서버를 이용하니 혹시 계정 정보가 누출되지 않을까 하는 걱정은 안해도 됩니다.

다운로드: http://isulnara.com/myAPP/SimpleSMS/SimpleSMS.exe


이 SimepleSMS를 이용하기 위해서는 먼저 "설정" 버튼을 클릭하여 다음과 같이 설정합니다.


사용자 삽입 이미지
위에서 구축한 자신의 SMS 서버 정보를 설정합니다.

서버에는 sendmsg.php의 URL을 입력합니다. 이 팁을 그대로 따라 했을 경우는
http://yourdomain or ip/sms/sendmsg.php가 됩니다.

아이디 및 암호에는 sendmsg.php에서 설정한 계정 정보를 입력합니다.



이번에 구축한 SMS 서비스를 이용하기 위한 다른 방법으로는

● 쉘에서 직접 명령 내리기 - "/usr/local/sms/sms.xpeed 보내는사람번호 받는사람번호 메시지" 형식으로 명령을 내려서 문자를 전송할 수도 있습니다. NAS 시작 시 문자 보내기 등에 응용할 수 있겠죠.
● 웹에서 HTML 화면 구성해서 SMS 보내기 등에 응용할 수 있습니다.


이상으로 로그를 SMS로 받아오는 것과 간단히 나만의 SMS 서버를 구축하여 보았습니다.

아이모리나 LGT의 서비스를 사용할 수 없는 분들은 다른 무료 서비스에 적용해보세요..
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
DS209+II, SimpleSMS, sms
Trackback [0] : Comment [4]
TrackbackAddress
http://isulnara.com/tt/trackback/208
BlogIcon 파이팅건맨 수정/삭제 답변하기
2009/11/15 20:09
우연히 들렀습니다. 전 위의 SMS 전송기능을 Windows 용으로 하나 만들게 되었던 것 같군요^^ Windows 환경에서 사용하실 분들에게 도움이 될 것 같습니다. 글 잘 보았습니다.
http://airpage.org/~gunman/cgi-bin/airp ··· a-73.htm
BlogIcon isul 수정/삭제
2009/11/15 21:02
만드신 XMen 잘 봤습니다.
간단한 SMS 전송 웹서버가 되는거군요.
smstest 수정/삭제 답변하기
2010/09/07 16:14
매개변수 설정할때 자꾸 '잘못된 URL 매개변수'라고 오류가 나서 진행이 안되네요.
혹시 원인을 아시나요..?
BlogIcon isul 수정/삭제
2010/09/08 12:53
저도 지금 테스트해보니 동일한 에러가 발생됩니다. 펌웨어 업데이트 후 뭔가 변경된 거 같습니다.
수동으로 추가할 수 있는 지 확인해보고 답글 남기겠습니다.
SecretComment
     
 NAS 
SVN + Mantis 연동하기
Posted on 2009/11/07 16:54
SVN 클라이언트에서 남긴 커밋 로그를 Mantis의 이슈 노트로 자동 등록하는 방법에 관하여 설명합니다.

대상 장비: DS-209+II (일반 윈도우, 리눅스 머신에도 적용 가능함)

결과부터 보도록 하죠..

아래와 같이 SVN 클라이언트에서 커밋 로그를 입력하여 커밋하면
사용자 삽입 이미지

Mantis의 이슈 노트와 히스토리에 그 내용이 자동으로 기록됩니다.
사용자 삽입 이미지


보통 mantis와 svn 클라이언트와의 연동을 위해서 mantis 설치 디렉토리의 하위 디렉토리인 core에 있는 checkin.php를 사용합니다.
그러나 DS-209+II에서는 checkin.php를 이용하기가 쉽지 않습니다.
checkin.php 소스 코드의 첫 줄이 다음과 같이 시작됩니다.
#!/usr/local/bin/php -q
즉, CLI(Command Line Interface) 모드에서 동작되도록 되어 있는 것이죠..
DS-209+II에는 php 실행 파일이 존재하지 않고, mysql 관련 라이브러리가 없기 때문에 checkin.php를 이용하려면 직접 컴파일 해서 해당 파일들을 구해야 됩니다. 일반 리눅스 서버가 아니라서 쉽지 않은 일이죠..

그래서 다른 방법을 찾아보았습니다.
checkincurl.php이라는 걸 이용하는 것입니다.
이것을 이용하기 위해서는 curl이 필요합니다.
curl을 이용한 방법의 장점으로는 svn서버와 웹서버가 물리적으로 같은 서버에 있지 않을 경우에도 커밋 로그를 mantis로 전송할 수 있다는 것입니다.

아래 명령을 이용하여 curl을 먼저 설치합니다.(당연히 아래 명령을 이용하기 위해서는 bootstrap이 설치 되어 있어야 겠죠. http://isulnara.com/tt/201 참조)
[root@fs:~]# ipkg install libcurl

이제 svn 클라이언트에서 커밋할 경우 svn 서버에서 mantis로 checkincurl.php로 커밋 로그를 넘겨주도록 설정해야 됩니다.
svn 서버의 저장소에 hooks라는 디렉토리가 존재합니다.
이 디렉토리 내의 post-commit.tmpl를 post-commit으로 복사하고, 실행 권한을 줍니다.
[root@fs:~]# chmod 705 post-commit

그리고, 그 내용은 다음과 같이 설정합니다.
REPOS="$1"
REV="$2"

auth=$(/opt/bin/svnlook author -r $REV $REPOS)
dt=$(/opt/bin/svnlook date -r $REV $REPOS)
changed=$(/opt/bin/svnlook changed -r $REV $REPOS)
log=$(/opt/bin/svnlook log -r $REV $REPOS)
n='<br>'

/opt/bin/curl -d "user=$auth&log=Changeset [${REV}] $n$log$n$changed" http://서버주소/mantis경로/core/checkincurl.php
- 위 내용에서 서버주소와 mantis가 설치된 경로를 설정합니다.

이제 mantis 설정이 남았습니다.
mantis 설정은 기본 설정 파일 수정과 한글 지원을 위한 처리, core 디렉토리에 접근을 위한 설정 이렇게 세 가지가 필요합니다.

먼저 mantis 설치 디렉토리의 config_inc.php를 아래와 수정합니다.
# svn
$g_source_control_server = array('192.168.0.4');
$g_source_control_account = 'isul';
$g_source_control_regexp = '/\b(?:bug|issue)\s*[#]{0,1}(\d+)\b/i';
$g_source_control_notes_view_status = VS_PRIVATE;

$g_source_control_set_status_to = RESOLVED;
$g_source_control_set_resolution_to = FIXED;
$g_source_control_fixed_regexp = '/\bfix(?:ed|es)\s+(?:bug|issue)?\s*[#]{0,1}(\d+)\b/i';
- 위 내용에서 $g_source_control_server는 접속을 허용할 svn 서버의 ip 주소를 설정합니다.
- $g_source_control_account는 mantis에 있는 사용자 계정을 입력합니다.
- $g_source_control_regexp로 설정된 bug, issue는 커밋 로그 입력 시 "bug #이슈번호" 또는 "issue #이슈번호"라는 단어가 있을 경우에만 mantis의 이슈 노트로 등록되게 한다는 의미입니다.
- $g_source_control_set_status_to는 이슈 노트의 공개/비공개 설정으로 VS_PRIVATE는 비공개, VS_PUBLIC는 공개를 의미함
- $g_source_control_set_status_to는 이슈 상태를 의미(RESOLVED, CLOSED 등)
- $g_source_control_set_resolution_to는 이슈 노트의 해결 상태를 의미

다음은 한글 처리를 위한 부분으로 DS-209+II와 같이 LANG 환경변수를 사용할 수 없는 시스템에서만 필요합니다.
DS-209+II의 경우 post-commit에 "export LANG=ko_KR.UTF-8"을 설정해봐야 인식되지 않습니다.
이 문제를 해결하기 위해 mantis 설치 경로의 core 디렉토리에 checkincurl.php를 아래와 같이 수정합니다.
이 부분 설정하지 않으면 한글이 아래와 같이 표시됩니다.
?\\236?\\158?\\152

붉은 색으로 된 부분을 추가하면 됩니다.( 붉은 색 이전의 문자를 검색하여 해당 위치를 찾으면 됩니다.)
    # --------------------------------------------------------
    # $Id: checkin.php,v 1.5.2.1 2007-10-13 22:35:16 giallu Exp $
    # --------------------------------------------------------

    global $g_bypass_headers;
    $g_bypass_headers = 1;
   
    require_once( dirname( dirname( __FILE__ ) ) . DIRECTORY_SEPARATOR . 'core.php' );

    //--------------------------------------------------------------------------------------
    // 한국어 변환
    //                    by isul ( http://isulnara.com )
    //--------------------------------------------------------------------------------------
    function convertToKorean($str)
    {
        $DELIMITER = "?\\\\";
       
        $pos = strpos($str, $DELIMITER);
        while ($pos !== false)
        {
            $pos = strpos($str, $DELIMITER);
            $dec = substr($str, $pos + 3, 3);

            if ($pos !== false)
                $str = str_replace($DELIMITER . $dec, '%' . dechex($dec), $str);
        }

        return urldecode($str);
    }
    //--------------------------------------------------------------------------------------

... 중략 ....

$t_line = isset($_POST['log']) ? $_POST['log'] : '';
$t_line = convertToKorean($t_line);
#var_dump("$t_line");

마지막으로 curl이 core 디렉토리의 checkincurl.php에 접근할 수 있도록 core 디렉토리에 있는 .htaccess의 파일명을 변경하거나 삭제합니다.


이제 모든 설정이 완료되었습니다.
TortoiseSVN, 이클립스 등의 SVN 클라이언트에서 커밋 로그를 입력할 때
issue #10 또는 bug #10과 같은 내용만 포함되면 svn 서버에서 자동으로 mantis로 그 내용을 전송하여 이슈 노트로 등록합니다.
커밋 로그 입력 시 매번 issue #10와 같은 것을 입력하기 싫다면 속성 설정으로 자동 입력되게 할 수도 있습니다.
TortoiseSVN의 경우는 http://newbie.kr/52를 참고하시면 자동 입력되게 할 수 있습니다.
몇 시간에 걸쳐 고생해서 연동을 하긴 했는데 얼마나 사용할지는 모르겠습니다.
svn 클라이언트에서 커밋 시 mantis에 기록된 이슈 번호를 알아야 하기 때문이죠.. 그냥 커밋 후 mantis에 다시 한 번 기록하는 것는 더 편할 수도...

참고
http://www.mantisbt.org/bugs/view.php?id=8847
http://newbie.kr/52
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
DS209+II, mantis, svn
Trackback [0] : Comment [2]
TrackbackAddress
http://isulnara.com/tt/trackback/207
BlogIcon mk 수정/삭제 답변하기
2011/01/03 15:04
안녕하세요? 이 글을 통해 상당히 공부하게 되었고 도움을 받은 mk라 합니다.
잘 썼지만 한 가지 문제가 발생해서 확인 좀 부탁드릴까.. 해서 덧글을 남깁니다!
한국어 변환하는 함수 중에서
$pos = strpos( $str, $DELIMITER ); 가 있고
while ( $pos ), if ( $pos ) 에서 사용을 하는 데
$pos = 0 이 되는 경우엔 값을 찾았음에도 불구하고 루프를 돌지 않는 경우가 생기더라구요.
그래서 while ( !($pos === false) ), if ( !($pos === false ) )
로 고치는 게 맞지 않을까.. 하여 덧글을 올립니다.

(나머지는 잘 됩니다. ㅠㅠ )
BlogIcon isul 수정/삭제
2011/01/03 23:42
안녕하세요..
지적해주신 내용이 맞습니다.
처음부터 한글로 시작되면 제가 올렸던 코드는 문제가 있습니다.
알려주신 코드를 조금 수정하여 본문을 수정하였습니다.

while ( !($pos === false) ), if ( !($pos === false ) )
---->
while ($pos !== false), if ($pos !== false)

고맙습니다^^
SecretComment
  1