무료 SMS를 사용하기 위해 LG 데이콤의 아이모리를 이용하였습니다. XPEED 사용자는 부가서비스 신청(무료)하면 무료로 월 300건(1일에 20건)을 이용할 수 있습니다. 다른 SMS 서비스 업체를 이용하시려면 첨부된 파일 중 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는 자신이 구축한 서버를 이용하니 혹시 계정 정보가 누출되지 않을까 하는 걱정은 안해도 됩니다.
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으로 복사하고, 실행 권한을 줍니다.
- 위 내용에서 $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
붉은 색으로 된 부분을 추가하면 됩니다.( 붉은 색 이전의 문자를 검색하여 해당 위치를 찾으면 됩니다.)
마지막으로 curl이 core 디렉토리의 checkincurl.php에 접근할 수 있도록 core 디렉토리에 있는 .htaccess의 파일명을 변경하거나 삭제합니다.
이제 모든 설정이 완료되었습니다. TortoiseSVN, 이클립스 등의 SVN 클라이언트에서 커밋 로그를 입력할 때 issue #10 또는 bug #10과 같은 내용만 포함되면 svn 서버에서 자동으로 mantis로 그 내용을 전송하여 이슈 노트로 등록합니다. 커밋 로그 입력 시 매번 issue #10와 같은 것을 입력하기 싫다면 속성 설정으로 자동 입력되게 할 수도 있습니다. TortoiseSVN의 경우는 http://newbie.kr/52를 참고하시면 자동 입력되게 할 수 있습니다. 몇 시간에 걸쳐 고생해서 연동을 하긴 했는데 얼마나 사용할지는 모르겠습니다. svn 클라이언트에서 커밋 시 mantis에 기록된 이슈 번호를 알아야 하기 때문이죠.. 그냥 커밋 후 mantis에 다시 한 번 기록하는 것는 더 편할 수도...
먼저 이전 팁을 적용해야 됩니다.
특히 coreutils이 설치(ipkg install coreutils)되어야 될 겁니다.
그리고,
/opt/etc/profile에서 PATH이 부분 위와 동일한지 확인해보세요..
/opt/sbin:/opt/bin가 기본으로 설치하면 제일 앞에 오는데 그렇게 되면 안되더군요.. 그래서 제일 뒤로 보냈습니다.
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/bin:/usr/syno/sbin:/opt/sbin:/opt/bin <-- 이 라인중에 현재 익스에서 보면 /opt/sbin:/opt/bin 이 라인이 다음 라인으로 밀리면서 그대로 갖다 붙이면
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/bin:/usr/syno/sbin:
적용 가능 모델: PowerPC Freescale 8533 (PPC) CPU 사용하는 아래 모델들 DS109+, DS209+, DS209+II, DS409+, DS409RP+, RS409+, RS409RP+, DS509+ bootstrap 설치
ds> cd /tmp ds> wget http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable/syno-e500-bootstrap_1.2-5_powerpc.xsh ds> sh syno-e500-bootstrap_1.2-5_powerpc.xsh
ds> vi /opt/etc/ipkg.conf 다음 라인 추가 src syno-e500 http://ipkg.nslu2-linux.org/feeds/optware/syno-e500/cross/unstable
ds> vi /etc/profile 맨 마지막 줄을 아래와 같이 변경(없으면 추가) PATH=:$PATH:/opt/bin:/opt/sbin
ds> vi /etc/ssh/sshd_config 아래처럼 변경 # override default of no subsystems #Subsystem sftp /usr/libexec/sftp-server Subsystem sftp /opt/libexec/sftp-server
ds> vi /opt/etc/default/openssh 아래처럼 변경 SSHD_ENABLE=no ds> ps -aef | grep sshd 3499 root 920 S /usr/syno/sbin/sshd 22129 root 1928 S sshd: root@ttyp0 ds> kill -HUP 3499