[iPhone] 아이폰 Exchange/Gmail 연동시 오류 해결 방법

아이폰에서 지메일을 연동하여 사용할 경우 Google Sync라는 서비스를 이용하여 메일이 계정이 도착시에 알림을 받을 수 있는 일명 “푸시 알람”서비스를 제공 받을 수 있습니다. 이 경우 구글의 주소록이라던가 캘린더등도 연동이 가능합니다. 이 서비스는 Microsoft Exchange 서버에 연결하는 설정을 이용하여 가능한데요, 자세한 내용은 [이곳]을 참고하셔서 설정을 하시면 됩니다.

하지만 iOS가 4.x대로 넘어오면서 지메일 연동이 예전처럼 잘 안되는 문제가 발생하곤 합니다. 저는 벌써 2번이나 겪었네요. 이경우 곧 되겠거니 하고 냅둬도 계속 안되는 문제가 있습니다. 구체적인 현상으로는 다음의 화면을 보시게 됩니다. (왼쪽 스크린샷 참고)

사용자 삽입 이미지

이런 문제가 발생하게 되면 오른쪽 스크린샷에서 볼 수 있는 “푸시할 Mail 폴더”라는 설정이 사라지게 됩니다. 저 설정이 등장해야 푸시가 정상적으로 등장을 합니다. 제가 여러가지로 방법을 찾아보았는데 가장 확실한 방법(이라고 주장하고 싶은;;)을 적어보겠습니다.

1. (안드로이드폰을 중복 사용중이라면) 계정 동기화를 끕니다

안드로이드의 설정 – 계정 및 동기화메뉴에 들어가면 설정한 지메일 계정이 나타납니다. 계정의 설정에 들어가서 모든 동기화를 꺼줍니다. 실제로 안드로이드폰과 아이폰을 동시에 사용하면 계정에 중복 접근을 하여 계정이 막히는 경우가 있는것 같습니다.
사용자 삽입 이미지

2. 아이폰의 메일 계정을 삭제합니다

기존에 설정된 아이폰의 메일 계정을 삭제하여 지메일에 연결하는 모바일 기기를 모두 제거하도록 합시다.

3. 구글 지메일 계정의 락을 해제합니다

구글 계정이 락이 된 상태일 경우 락을 해제할 수 있습니다 .하지만 일단 어떤 상황인지 사용자가 정확히 판단을 내리기 어려운 상황이니 무조건 락을 해제하도록 합시다.

위의 주소에서 락을 해제할 수 있습니다. 계정 정보와 그림의 문자를 입력하시면 됩니다.

4. 아이폰 타임아웃 패치를 설치합니다

아이폰 4.0.1이후 버전의 iOS의 경우 싱크가 제대로 문제가 있는듯 합니다. 애플에서 인정을 하고 내놓은 패치입니다. 해당 패치를 선택하는데 다음의 페이지를 아이폰을 이용하여 방문을 합니다.

download the signed configuration profile을 탭하시면 바로 설치화면이 뜹니다. 바로 추가하면 됩니다. 혹시 모르니 블로그에도 올려두겠습니다.

1391423667.xxx

5. 기다립니다

마음이 급하시다면 여기서 다시 메일을 설정해 봅니다. [참고] 하지만 저의 경우 바로 되는 경우는 없더군요. 아이폰에 메일 세팅이 제거된 상태로 몇시간이 지나서 메일 세팅을 하면 잘 되게 됩니다. 저의 경우는 2~3시간도 기다려 봤는데 잘 안되었는데 자고 일어나면 잘 되더군요.

결론적으로 이 문제가 발생하면 자기전에 위의 절차를 따라한후에 한숨 자고 아침에 일어나서 다시 메일 설정을 하면 잘 되게 됩니다. 제가 겪은 문제는 모두 위의 모든 절차와 10시간 이상의 숙면(?) 이후에 복구가 되더군요.

6. 멀티 캘린더를 이용할 경우

다수의 구글 캘린더를 연동하여 사용하실 경우 http://m.google.com/sync 에 방문하셔서 설정을 하시면 됩니다. 처음에 기본적으로는 사용할 수 없으니 언어를 English로 변경후에 사용하시기 바랍니다.

참고 :
http://www.google.com/support/forum/p/Google+Mobile/thread?tid=31539c68d7aedd35&hl=en
http://www.google.com/support/forum/p/gmail/thread?tid=0aea7857b25a174f&hl=en

[Linux/SSL] 리눅스 서버에 Apache 2 설치 및 SSL 설정하기(mod_ssl, openssl)

세상에서 가장 많이 사용하고 있다는 아파치 웹서버에 SSL 설정을 하여 결과적으로 HTTPS를 사용할 수 있게 하는 방법에 대해 간략하게 정리해 보겠습니다. 아래는 개인적으로 자체 키를 생성해서 사용하는 방법을 적어볼 것이며 이것은 브라우저에서 접속시에 인증되지 않은 접속으로 경고가 뜨게 됩니다. 공인 인증 기관에서 키를 발급받을 경우 키 생성 부분만 발급 기관에서 요구하는 방법대로 수행을 하시면 됩니다.

1. Apache 웹서버 다운로드 및 설치

http://httpd.apache.org/ 에 방문하여 최신버전의 웹서버를 다운받습니다. 2.2.17 버전을 예로 들어 설명해 보겠습니다. 다운받은 파일을 적절한 위치로 이동후에 다음과 같은 명령어로 SSL을 활성화 시켜줍니다.

$ ./configure --prefix=/usr/local/apache2 --enable-ssl --enable-so
$ make
$ make install

위의 설명에서는 아파치 웹서버를 기본적으로 /usr/local/apache2 위치에 설치하는것으로 하였습니다.

2. SSL 설정하기

위와 같이 설치할 경우 아파치 웹서버의 설정 파일인 httpd.conf 파일은 /usr/local/apache2/conf 에 위치하게 됩니다. /usr/local/apache2/conf/httpd.conf 설정 파일을 열어 httpd-ssl.conf 추가 설정의 주석을 해제해 줍니다.

$ vi /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-ssl.conf

3. server.crt 및 server.key 생성하기

우선 openssl을 이용하여 server.key를 생성합니다. 계정의 루트 디렉토리에서 작업을 하도록 하겠습니다.

$ cd ~
$ openssl genrsa -des3 -out server.key 1024

위의 명령을 수행할 경우 암호를 물어보게 됩니다. 여기서 설정하는 암호를 잘 기억해 두셔야 합니다. 나중에 아파치 실행시에 물어봅니다. 여기서 암호를 지정하지 않을경우 아파치 실행시에 암호를 물어오지 않습니다.

이번에는 위에서 생성한 server.key파일을 이용하여 인증요청파일을 생성합니다.

$ openssl req -new -key server.key -out server.csr

마지막으로 위에서 생성한 server.key 및 server.csr파일을 이용하여 자체적으로 서명을 한 server.crt파일을 생성합니다.

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

좀더 자세한 정보를 원할 경우 [다음]을 참고하도록 합시다.

이제 만들어진 인증키 파일을 아파치 설정 디렉토리로 옮기도록 합니다. 이 디렉토리는 적당한 위치를 사용하시면 됩니다.

$ cd ~
$ cp server.key /usr/local/apache2/conf/
$ cp server.crt /usr/local/apache2/conf/

4. SSL이 적용된 Apache 웹서버 구동하기

이제 설정이 끝난 아파치를 구동하도록 합시다.

$ /usr/local/apache2/bin/apachectl start

실행시에 위의 server.key를 생성할때 물어보았던 개인키 암호를 물어보게 되는데 입력해 주도록 합시다.

Apache/2.2.17 mod_ssl/2.2.17 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server www.example.com:443 (RSA)
Enter pass phrase:

OK: Pass Phrase Dialog successful.

5. 가상호스트(VirtualHost) 적용하기

필요한 경우 하나의 서버에 다수의 가상호스트를 적용해야 할 수도 있습니다. 이경우 다음과 같은 가상 호스트 설정을 사용하시면 됩니다. 물론 다수의 키를 사용해도 되고 중복 사용해도 별 문제는 없습니다.

<VirtualHost *:443>
    ServerAdmin eye@example.com
    DocumentRoot /usr/local/apache2/htdocs
    ServerName example.com:443

    ...

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile "/usr/local/apache2/conf/server.crt"
    SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
</VirtualHost>

* CC 인증을 위한 키 생성

CC 인증을 받기 위해 SSL키 설정시 제약 사항이 추가되게 됩니다. 가령 다음과 같습니다.

  • 암호알고리즘으로 AES128 이상
  • 무결성알고리즘으로 SHA-2 (SHA256)
  • 키 알고리즘(RSA 1024이상)

이 경우 다음과 같이 키를 생성하시면 됩니다.

$ openssl genrsa -aes128 -out server.key 1024 
$ openssl req -new -key server.key -out server.csr
$ openssl x509 -sha256 -req -days 365 -in server.csr -signkey server.key -out server.crt

참고 : http://www.thegeekstuff.com/2011/03/install-apache2-ssl/