(이번 파이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)




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




수고하셨습니다 ^^..

Ubuntu에 MySQL을 설치하는 방법은


1. apt-get mysql-server 로 설치, 중간에 root 비밀번호 설정


2. mysql -u root -p  를 통해 로그인


3. GRANT ALL PRIVILEGES ON *.* to ‘계정’@’%’ IDENTIFIED BY ‘비밀번호’; 를 통해 외부접속 설정 후 exit; 를 통해 빠져나온다.


4.  cd /etc/mysql 경로 이동 후 vi my.cnf 로 편집기를 열어서 bind-address 를  주석처리.


iOS MDM 서버를 구축 중 멘붕이 와서  다른 방법을 알아보다 WSO2 MDM을 적용해보기로 결정..


먼저 우분투에 JAVA JRE를 설치한다.


1. 먼저 터미널에서  sudo apt-get install default-jre 실행하여 자바 설치


2. java -version 명령어로 현재 설치 된 버전을 확인하는데 가끔 퍼미션 에러가 날 때가 있다.


이 때는 chmod u+x java 를 통해 권한 설정 후 다시 버전을 확인하면 현재 설치 된 버전 확인이 가능하다.

'프로그래밍 > iOS MDM' 카테고리의 다른 글

MDM 테스트 서버 구축  (2) 2016.04.13
WSO2 Enterprise Mobility Manager 구축 [2] - MySQL 설치  (0) 2016.03.31
MDM 서버 셋업  (8) 2016.03.11
SSH로 접속하여 서버에 SSL 적용하기  (0) 2016.03.09
Apple MDM 이란?  (0) 2016.03.09

MDM 솔루션을 구축하기 위해서는 서버가 필요한데, LG U+ Cloud나 Naver NCloud Biz 등 에서

시스템 사양과 요금 등을 고려하여 적당한 시스템을 선택하면 된다.


MDM 서버는 SSL 적용이 필수인데 SSL 적용을 위한 인증서가 iOS에서 신뢰할 수 있는 인증기관(링크)에서 발급한 인증서를

써야 하는지 자가서명 된 인증서를 써도 되는지 모호하여 일단 자가서명 인증서를 사용하여 진행 해보기로 하였다.


ubuntu server는 설치되어 있는 상황이라고 가정하고 계속 진행을 해보자면 일단 맥의 터미널 프로그램을 이용하여 원격 서버에 접속한다.

먼저 터미널 실행 후 ssh root@ip주소  를 입력하여 우분투 서버에 접속을 한다.

초기 서버 셋팅 시 root 라는 유저 네임은 어떻게 설정하였는가에 따라 다르겠지만 보통 root를 많이 사용하므로 유저 네임은 root라고 본다.


먼저 APM (Apache, PHP, MySQL)을 설치한다.


apt-get update


apt-get install apache2


아파치 설치가 끝나면 service apache2 start 명령어를 이용하여 아파치 서버를 시작하고

웹 브라우저에서 서버의 IP주소 또는 도메인으로 접속했을 때 아래와 같은 페이지가 뜬다면 성공적으로 설치 된 것이다.



하지만 아직 ssl 적용이 되지 않았기 때문에 https://서버주소로 접속을 하면 접속이 되지 않을 것이다.


다음으로 sudo apt-get install openssl 명령어를 이용하여 openssl을 설치한 후 다음 순서대로 따라한다.


openssl genrsa -des3 -out server.key 2048 // 자가서명 인증서 생성 

openssl req -new -days 365 -key server.key -out server.csr // CSR 파일 생성 

cp server.key server.key.org 

openssl rsa -in server.key.org -out server.key // 개인키 패스워드 제거 

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt // 인증서 서명 

openssl x509 -in ca.der -inform DER -text // 인증서 인코딩 변경 

Apache 적용 
sudo a2enmod ssl 

sudo service apache2 restart 

sudo mkdir /etc/apache2/ssl // 인증서 폴더 생성 

위 작업에서 생성된 server.crt / server.csr / server.key 파일을 위에서 생성한 경로로 이동해 준다. 
 
Apache 설정 
sudo cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/서버주소      // default-ssl 파일을 사용중인 도메인주소로 변경
 
sudo vi /etc/apache2/sites-available/서버주소      // 편집기로 아래와 같이 내용 수정 
  SSLEngine on 
  SSLCertificateFile /etc/apache2/ssl/server.crt 
  SSLCertificateKeyFile /etc/apache2/ssl/server.key 

sudo a2ensite 서버주소 

sudo service apache2 restart // 서버 활성화 및 재시작

서버가 재시작 된 후에 https://서버주소로 접속하면 신뢰할 수 없는 인증기관 어쩌고 하는 내용이 뜨는데 
이것은 자가서명 인증서로 SSL을 구성하였으므로 당연한 현상이다.


vi 편집기 명령어는 다른 개발자분들이 쉽게 잘 설명해 놓은 자료들이 많으므로 조금만 검색하면 쉽게 찾을 수 있다.





+ Recent posts