(이번 파이3 모델은 무려 블루투스 v4.0 , 802.11n 탑재!!)


테스트 장비 : Rsapberry Pi 3 Model B  (구매처)

테스트 OS : Ubuntu Mate 15.10 Desktop (다운로드)


**필수 프로그램 : Python 2.7 


1. 우분투 Mate 설치 후 기본 환경 설정


2. Python 2.7이 설치되어 있지 않다면 설치


3. MDM 서버 동작을 위한 파이썬 모듈 설치

  - Web.py : 일반적인 아파치 톰캣 등의 서버 구동 프로그램을 사용하지 않고 파이썬 코드로 작성된 소스파일을 웹서버로 작동하게 해주는 모듈

  - M2Crypto : 파이썬 코드로 된 서버를 SSL 프로토콜을 이용하여 접속할 때 체크하는 인증서 관련 패키지

  - PyOpenSSL : 파이썬 코드로 된 서버를 SSL 프로토콜을 이용하여 접속 할 때 필요한 모듈

  - APNSWrapper : APNS를 통해 MDM 푸시 커맨드를 아이폰/아이패드에 전송할 때 이용되는 모듈


해당 모듈 설치 후 APNSWrapper의 connection.py 파일의 131 line을 수정해 줘야 하는데, 

이유는 애플에서 보안적인 이유로 SSLv3에 대한 지원을 중단하였기 때문에

해당 부분을 TLSv1 으로 수정해 줘야 합니다.

131 line : ssl_version = self.ssl_module.PROTOCOL_TLSv1,


나머지 절차는 https://github.com/project-imas/mdm-server 대로 수행

CA 인증서 및 MDM 프로파일 생성 시 실수가 있으면 서버가 동작하지 않으니 주의해서 인증서 생성


서버의 8080 Inbound 설정 및 2195 포트 Outbound 설정 후 python server.py 커맨드를 통해 서버 동작

커맨드 실행 시 Starting Server  https://0.0.0.0://8080 로그가 찍히고 커맨드라인으로 빠져나오지 않는다면 성공적으로 동작하는 것입니다.


저는 라즈베리파이를 공유기에 물려서 서버를 구축했기 때문에 아이폰에서 같은 와이파이 접속 후

 사파리 브라우저에서 https://ip 또는 host name:8080 으로 접속하였습니다.

서버 메인 페이지에서 CA인증서를 먼저 설치해야 디바이스에 MDM프로파일이 설치됩니다.


만약 서버가 구동되지 않는 다면 server.py 파일의 마지막 부분에서 에러타입 로그를 찍어서 에러를 분석하면 됩니다.

테스트 과정에서 2번의 에러가 있었는데 첫번째는 파이썬 모듈의 비정상적 설치, 

두번째는 Server.crt 인증서 파일 크기가 0byte로 비정상적으로 생성되어 재 생성 하였습니다.


**server.py 에러타입 확인하는 법


try:

print "Debug : try"

app.run()

except TypeError as e:

print "Debug : except"

print('error:',e.args[0])

sys.exit(0)




**서버 정상 동작 시 터미널에서 출력되는 로그




수고하셨습니다 ^^..

+ Recent posts