1. mysql-server, mysql-client 설치

설치 중에 root 비밀번호를 두번 묻는데, 사용할 비밀번호 입력

$ sudo apt-get install mysql-server mysql-client


2. 설치 후 /etc/mysql/mysql.conf.d/mysqld.conf 파일 수정

$ sudo vi /etc/mysql.conf.d/mysqld.conf
......
# bind-address = 127.0.0.1
......


3. mysql 서비스 재시작

 $ sudo service mysql restart


4. 테스트 DB 생성 및 유저 생성/접근 권한 설정

$ mysql -u root -h localhost -p
mysql> CREATE DATABASE pidb;
mysql> CREATE USER 'pi'@'localhost' IDENTIFIED BY '비밀번호 설정';
GRANT ALL PRIVILEGES ON pidb.* TO 'pi'@'localhost';
FLUSH PRIVILEGES;
$ mysql -u pi -h localhost pidb -p

패스워드 입력 후 접속 된다면 설정 완료


5. 파이썬 연동 되었는지 확인 위해 파이썬 쉘에서 mysql 모듈 import

$ python
>>> import MySQLdb

ImportError: No module named MySQLdb


6. 연동되지 않았다면, http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/ 에서

압축 파일을 다운로드 받아서 압축 해제


7. 필수 패키지 설치 후 setup.py 빌드/설치

sudo apt-get install libmysqlclient-dev
$ python setup.py build
$ sudo python setup.py install


8. 파이썬 쉘 실행 후 mysql 모듈 import 하여 연동 확인

$ python
>>> import MySQLdb





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