도메인만 있으면 자신만의 메일 주소를 가질 수 있는 Google Apps을 정리 한다.


서비스 신청



Google Apps 주요 기능


그림:GoogleLicense.png

  • Google이 SKT와 협력하여 국내에 들어온지 얼마되지 않았는데, 벌써 최대 50명까지 무료로 사용할 수 있었던 무료 라이선스가 10명으로 줄었습니다.

    {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- |width="20%" align="center" valign="middle" style="background-color:#eee;"|기능 |width="40%" align="center" valign="middle" style="background-color:#eee;"|표준형
    (Google Apps) |width="40%" align="center" valign="middle" style="background-color:#eee;"|고급형
    (Google Apps for Business) |- |align="center" valign="middle" style="background-color:#eee;"|개요 |
  • 가격 : 무료 (최대 10 사용자)
    |
  • 가격 : 사용자당 $50/월
    |- |align="center" valign="middle" style="background-color:#eee;"|Gmail, Postini |
  • 사용자당 7 GB
  • Postini는 지원 않음
    |
  • 사용자당 25 GB
  • Postin : 이메일 감시/보안과 아카이빙 백업 서비스
    |- |align="center" valign="middle" style="background-color:#eee;"|Google Calendar | |
  • 리소스 일정 조정 가능 (회의실/프로젝터 등)
    |- |align="center" valign="middle" style="background-color:#eee;"|Google Docs, Google Cloud Connect |
  • 1 GB
    |
  • 사용자당 1 GB for file storage
    |- |align="center" valign="middle" style="background-color:#eee;"|Google Sites |
  • 10 GB
    |
  • 10 GB + 사용자당 500 MB for shared storage
    |- |align="center" valign="middle" style="background-color:#eee;"|Google Talk | | |- |align="center" valign="middle" style="background-color:#eee;"|Google Groups |
  • 지원 않음
    |
  • Google Groups for Business
    |- |align="center" valign="middle" style="background-color:#eee;"|Google Video |
  • 지원 않음
    |
  • Google Video for Business
  • 한국은 지원 않음
    |- |align="center" valign="middle" style="background-color:#eee;"|Google Mobile | | |- |align="center" valign="middle" style="background-color:#eee;"|[Google Apps Script](Google Apps - Google Apps Script.md) | | | |}
  • Google Apps for Business
  • http://www.google.com/apps/intl/en/business/index.html
  • 파트너 정책
  • Google 포럼


Gmail


Google Calendar


Google Docs


Google Sites


Google Apps Script


Google Gadget


Gmail SMTP로 메일 발송



Gmail SMTP 서버 정보

  • TLS 사용: smtp.gmail.com:587
  • SSL 사용: smtp.gmail.com:465


Gmail for Ubuntu Server

  • sendmail 등을 설치 한다.

    #--- 환경 폴더: /etc/mail
    #--- 설치 폴더: /usr/share/sendmail
    apt-get install sendmail
    apt-get install sasl2-bin
    apt-get install sendmail-cf

  • OpenSSL을 사용하여 sendmail에서 사용할 개인키와 공개키를 생성를 생성 한다.

    • [개인키와 공개키 생성](OpenSSL.md#개인키와 공개키 생성.md)
  • sendmail 인증 정보를 생성 한다.

    cd /etc/mail
    mkdir auth
    cd auth
    vi /etc/mail/auth/authinfo
       AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호](Gmail비밀번호.md)"
    
    #---인증 파일의 hashdb(authinfo.db)를 생성 한다.
    makemap hash authinfo < authinfo
    
    #--- 인증파일경로의 퍼미션을 설정 한다.
    chmod 700 /etc/mail/auth
    chmod 600 /etc/mail/auth/*

  • vi /etc/mail/sendmail.mc

    include('/etc/mail/sasl/sasl.m4')dnl            #--- Ubuntu Server에서만 추가
    FEATURE(authinfo,hash /etc/mail/auth/authinfo)dnl
    define('SMART_HOST','smtp.gmail.com')dnl
    define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl
    define('ESMTP_MAILER_ARGS', 'TCP $h 587')dnl
    define('confCACERT_PATH', '/etc/mail/certs')dnl
    define('confCACERT', '/etc/mail/certs/CAcert.pem')dnl
    define('confSERVER_CERT', '/etc/mail/certs/mycert.pem')dnl
    define('confSERVER_KEY', '/etc/mail/certs/mykey.pem')dnl
    define('confCLIENT_CERT', '/etc/mail/certs/mycert.pem')dnl
    define('confCLIENT_KEY', '/etc/mail/certs/mykey.pem')dnl
    define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
    define('confAUTH_OPTIONS', 'A')dnl
    #--- 아래 라인 위에 추가 한다.
    MAILER(smtp)dnl

  • sendmail.cf 생성

    • CentOS
      m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
      service sendmail restart
    • Ubuntu Server
      cd /etc/mail
      make
      

    #--- 필요한 경우 sendmail의 설정을 재 생성 한다. sendmailconfig

    /etc/init.d/sendmail start ```


  • php.ini 설정

    sendmail_path = /usr/sbin/sendmail -t

  • [메일 송수신 확인](HMail_Server_4.4.1.md#메일 송수신 확인.md)



Gmail for CentOS

[[CentOS]] 5.5 버전에서 sendmail을 사용하여 Gmail을 연동하여 보자.

  • sendmail 설치

    yum install openssl sendmail sendmail-cf
    yum install cyrus-sasl cyrus-sasl-plain

  • sendmail이 TLS 또는 SSL을 지원하는지 확인 한다.

    #--- STARTTLS와 SASLv2가 있는지 확인
    sendmail -d0.1 -bv root

  • SASL 2.1.21 이상을 지원하는지 확인 한다.

    yum list | grep sasl

  • OpenSSL을 사용하여 sendmail에서 사용할 개인키와 공개키를 생성를 생성 한다.

    • [개인키와 공개키 생성](OpenSSL.md#개인키와 공개키 생성.md)
  • sendmail 인증 정보를 생성 한다.

    cd /etc/mail
    mkdir auth
    cd auth
    vi /etc/mail/auth/authinfo
       AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호](Gmail비밀번호.md)"
       ### AuthInfo:smtp.gmail.com "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호](Gmail비밀번호.md)" "M:PLAIN"
       ### AuthInfo:smtp.gmail.com:587 "U:root" "I:[Gmail아이디]@gmail.com" "P:[Gmail비밀번호](Gmail비밀번호.md)" "M:PLAIN"
    
    #---인증 파일의 hashdb(authinfo.db)를 생성 한다.
    makemap hash authinfo < authinfo
    
    #--- 인증파일경로의 퍼미션을 설정 한다.
    chmod 700 /etc/mail/auth
    chmod 600 /etc/mail/auth/*

  • vi /etc/mail/sendmail.mc

    include('/etc/mail/sasl/sasl.m4')dnl            #--- Ubuntu Server에서만 추가
    FEATURE(authinfo,hash /etc/mail/auth/authinfo)dnl
    define('SMART_HOST','smtp.gmail.com')dnl
    define('RELAY_MAILER_ARGS', 'TCP $h 587')dnl
    define('ESMTP_MAILER_ARGS', 'TCP $h 587')dnl
    define('confCACERT_PATH', '/etc/mail/certs')dnl
    define('confCACERT', '/etc/mail/certs/CAcert.pem')dnl
    define('confSERVER_CERT', '/etc/mail/certs/mycert.pem')dnl
    define('confSERVER_KEY', '/etc/mail/certs/mykey.pem')dnl
    define('confCLIENT_CERT', '/etc/mail/certs/mycert.pem')dnl
    define('confCLIENT_KEY', '/etc/mail/certs/mykey.pem')dnl
    define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
    TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
    define('confAUTH_OPTIONS', 'A')dnl
    #--- 아래 라인 위에 추가 한다.
    MAILER(smtp)dnl

  • sendmail.cf 생성

    • CentOS
      m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
      service sendmail restart
    • Ubuntu Server
      cd /etc/mail
      make
      

    #--- 필요한 경우 sendmail의 설정을 재 생성 한다. sendmailconfig

    /etc/init.d/sendmail start ```


  • 최종 확인

    echo '/map authinfo AuthInfo:smtp.gmail.com' | /usr/sbin/sendmail -bt
    echo "this is a test" | sendmail -s aaa@test.co.kr
    #--- aaa@test.co.kr 메일함에서 메일을 확인 한다.
    • [메일 송수신 확인](HMail_Server_4.4.1.md#메일 송수신 확인.md)
  • 방화벽에서 587, 465 port를 개방 한다.

    system-config-securitylevel

  • 기타 sendmail 설정

    • Access 설정
      makemap hash /etc/mail/access.db < /etc/mail/access
    • Mail host 설정
      vi /etc/mail/local-host-names

  • showinfo_sendmail.bash

    #!/bin/bash
    echo 'sendmail 버전  : sendmail 8.13.8'
    echo '환경 파일      : vi /etc/mail/sendmail.mc'
    echo '기동 종료      : service sendmail restart'
    echo '서비스 확인    : ps -ef | grep sendmail | grep -v grep'

  • php.ini 설정

    sendmail_path = /usr/sbin/sendmail -t


서비스 업체별 POP3, SMTP 주소

  • Defaut port
    • smtp : 25 / tcp, POP3 : 110 / tcp, IMAP : 143 / tcp
    • 보안 smtp : 587 / tcp, 보안 POP3 : 995 / tcp, 보안 IMAP :
  • gmail.com (환경설정 - 전달 및 POP/IMAP - POP 다운로드 항목에서 사용설정을 해야 이용 가능)
    • IMAP: imap.gmail.com (SSL 사용, 포트: 993)
    • POP3: pop.gmail.com (SSL 사용, 포트: 995)
    • SMTP: smtp.gmail.com (SSL 사용, 포트: 465)
  • hanmail.net
    • POP3: pop.hanmail.net (SSL 사용, 포트: 995)
    • SMTP: smtp.hanmail.net (SSL 사용, 포트: 465)
  • nate.com
    • POP3: nate.com (포트: 110)
    • SMTP: 지원 안함 (다른 업체의 SMTP를 이용하는 수 밖에 없음)
  • naver.com (으뜸사용자만 이용 가능)
    • POP3: pop.naver.com (포트: 110)
    • SMTP: smtp.naver.com (포트: 25)
  • yahoo.co.kr
    • POP3: pop.mail.yahoo.co.kr (SSL 사용, 포트: 995)
    • SMTP: smtp.mail.yahoo.co.kr (SSL 사용, 포트: 465, 인증 사용)
  • yahoo.com
    • POP3: pop.mail.yahoo.com (SSL 사용, 포트: 995)
    • SMTP: smtp.mail.yahoo.com (SSL 사용, 포트: 465, 인증 사용)


참고 문헌


Outlook 설정


  • Microsoft Outlook를 실행하여 "도구 -> 계정 설정 -> 새로 만들기" 메뉴를 선택 합니다.
  • "Microsoft Exchange, POP3, IMAP 또는 HTTP"을 선택 합니다. 그림:GoogleOutlook001.png
  • "수동으로 서버 설정 또는 추가 서버 유형 구성"을 선택 합니다. 그림:GoogleOutlook002.png
  • "인터넷 전자 메일"을 선택 합니다. 그림:GoogleOutlook003.png
  • 필요한 정보를 입력하고 "기타 설정" 버튼을 선택 합니다.
    • 사용자 이름 : 사용자 이름
    • 전자 메일 주소 : 이메일 주소
    • 계정 유형 : IMAP
    • 받는 메일 서버 : imap.gmail.com
    • 보내는 메일 서버 : smtp.gmail.com
    • 사용자 이름 : 이메일 주소
    • 암호 : 비밀번호
    • 암호 저장 체크 그림:GoogleOutlook004.png
  • "고급" 탭을 선택하여 아래와 같이 설정 합니다.
    • 받는 메일 서버 : 993
    • 암호화된 다음 연결 방식 사용 : SSL
    • 보내는 메일 서버 : 25
    • 암호화된 다음 연결 방식 사용 : TLS 그림:GoogleOutlook005.png
  • "보내는 메일 서버" 탭을 선택하여 아래와 같이 설정 합니다.
    • "보내는 메일 서버 인증 필요" 체크
    • "받는 메일 서버와 동일한 설정 사용" 선택
      그림:GoogleOutlook006.png

개발자 가이드



GData Eclipse 개발 환경 설정

Eclipse에서 [http://code.google.com/intl/ko-KR/apis/gdata/javadoc/ Google Data(GData) APIs Client Library]를 사용할 수 있는 개발 환경을 구성 한다.

  • Google Data(GData) APIs Client Library을 사용하려면 JDK 1.6 이상을 사용하여야 한다.
  • gdata-java-client에서 gdata.java-1.41.5.zip를 다운로드 한다.
    • d:/libGdata/ 폴더에 압축을 푼다.
  • Eclipse Plugin 설치 : http://gdata-java-client-eclipse-plugin.googlecode.com/svn/update-site
  • Eclipse에서 Google Data Project를 생성 한다.
    • "Package Explorer"에서 오른쪽 마우스를 누른다.
    • "new -> Others -> Google Data -> Google Data Project" 메뉴를 선택 한다.
    • "Project name"을 입력하고 사용할 프로젝트 템플릿을 선택 한다.
    • "Location"에서 "d:/libGdata/java/lib/" 폴더를 선택하고 "Finish" 버튼을 눌러 프로젝트를 생성 한다.
  • Class not found 오류가 발생할 경우에는

Google Apps API

{|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- |width="30%" align="center" style="background-color:#eee;"|Google Apps |width="70%"|


OpenID Single Sign-On


SAML Single Sign-On


Google Apps with two-legged OAuth

  • Two-legged OAuth를 사용하여 Google Calendar에 접속하는 사례

    • Google Apps 관리자 화면에서 "Advanced tools" 메뉴를 선택 한다.
    • "Manage OAuth domain key" 링크를 선택 한다.
      • OAuth consumer key : 프로그램에서 CONSUMER_KEY로 사용, consumer key를 사용 가능하도록 체크 한다.
      • OAuth consumer secret : 프로그램에서 CONSUMER_SECRET로 사용
      • Two-legged OAuth access control : 모든 API를 사용할 수 있도록 선택 한다.
    • "Manage third party OAuth Client access" 링크를 선택하여 접근 권한을 설정 한다.

    import com.google.gdata.client.authn.oauth.GoogleOAuthParameters; import com.google.gdata.client.authn.oauth.OAuthException; import com.google.gdata.client.authn.oauth.OAuthHmacSha1Signer; import com.google.gdata.client.authn.oauth.OAuthParameters.OAuthType; import com.google.gdata.client.calendar.CalendarService; import com.google.gdata.data.calendar.CalendarEntry; import com.google.gdata.data.calendar.CalendarFeed; import com.google.gdata.util.ServiceException;

    //--- http://code.google.com/intl/ko-KR/apis/gdata/docs/auth/oauth.html public class Calendar { private static String CONSUMER_KEY = "xxxx"; private static String CONSUMER_SECRET = "xxxx"; private static String userID = "xxxx"; //--- Google Apps 사용자의 로그인 아이디 (@앞의 것)

    public static void main(String[](.md) args) {
       GoogleOAuthParameters oauthParams = null;
              CalendarService calendar = null;
              URL metafeedUrl = null;
              CalendarFeed resultFeed = null;
    
              oauthParams = new GoogleOAuthParameters();
       oauthParams.setOAuthConsumerKey(CONSUMER_KEY);
       oauthParams.setOAuthConsumerSecret(CONSUMER_SECRET);
       oauthParams.setOAuthType(OAuthType.TWO_LEGGED_OAUTH);
    
       calendar = new CalendarService("My Application");
              try {
           calendar.setOAuthCredentials(oauthParams, new OAuthHmacSha1Signer());
           metafeedUrl = new URL("http://www.google.com/calendar/feeds/default/allcalendars/full?xoauth_requestor_id=" + userID + "@" + CONSUMER_KEY); 
           resultFeed = calendar.getFeed(metafeedUrl, CalendarFeed.class);
       } catch (OAuthException e1) {
           e1.printStackTrace();
       } catch (MalformedURLException e) {
           e.printStackTrace();
       } catch (IOException e) {
           e.printStackTrace();
       } catch (ServiceException e) {
           e.printStackTrace();
       }
    
       List entries = resultFeed.getEntries();
       for (int i = 0;i < entries.size();i++) {
           CalendarEntry entry = entries.get(i);
           System.out.println("\t" + entry.getTitle().getPlainText());
       }
       System.out.println("\nTotal Entries: "+entries.size());

    } } ```


  • 샘플: http://svn.softec.lu/java/trunk/softec-google-calendar/src/main/java/lu/softec/google/calendar/GoogleCalendars.java


  • 참고 문헌


관리자 가이드



무료 DNS 업체


Google Apps 서비스 (Premier Edition)

  • Google Apps (Premier Edition) 관리자 콘솔의 메뉴/기능
    {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- |width="20%" align="center" style="background-color:#eee;"|Dashboard |width="80%"|
  • 서비스 사이트와 설정 화면으로의 링크 제공
    • Email, Calendar, Docs, Sites, Groups
    • Chat, Mobile, Start Page
    • Google Wave, Contacts, Moderator, Short Links, Aviary Design Tools, Insightly, Manymoon, OffiSync
  • "Add more services" 링크 클릭시
    • "Postini Services" 추가 가능
    • Google Apps Marketplace에서 서비스 추가 가능
    • Google App Engine에서 서비스 추가 가능
      |- |align="center" style="background-color:#eee;"|Organization & users |
  • 계층화된 형태로 조직을 생성하고 조직별로 서비스 사용 권한을 설정 한다.
    • 상위 조직에 부여된 권한을 하위 조직에서 상속 가능
    • 각 조직별로 사용자를 할당 한다. 단, 한명의 사용자는 하나의 조직에만 할당이 된다.
    • Contacts, Gmail, Google Calendar, Google Docs, Google Groups, Google Sites, Google Talk, Google Wave
      |- |align="center" style="background-color:#eee;"|Groups |
  • Group을 만들어 Group email을 할당 한다.
  • Google Groups 서비스를 통해 각종 정보를 그룹 구성원간에 공유할 수 있다.
  • 문서, 사이트, 동영상 및 캘린더에 대한 액세스 관리
    |- |align="center" style="background-color:#eee;"|Domain settings |
  • General 메뉴
    • 서비스 및 관리자 설정
    • 사용 언어, 시간대 설정
    • SSL 사용 여부 등 설정
  • Account information 메뉴
    • Google Apps 계정 정보, 라이선스 정보를 표시 한다.
  • Domain names 메뉴
    • 도메인 이름을 설정 한다.
  • User settings 메뉴
    • Contact Sharing 여부
    • Enable provisioning API 여부
    • Sign-in page : SAML 기반의 SSO 서비스를 설정 한다.
    • Advanced Password Setting : 암호 정책을 설정 한다.
  • Apperance 메뉴
    • 상단 기업 로고와 화면 색상을 설정 한다.
      |- |align="center" style="background-color:#eee;"|Advanced tools |
  • Create multiple users
    • Bulk upload : CSV 파일 사용
    • Download Directory Sync
  • Authentication
    • Set up single sign-on (SSO)
    • Advanced Password Settings
    • Manage OAuth domain key : OAuth 사용 설정
    • Federated Login using OpenID
    • Manage third party OAuth Client access : API 사용 권한 설정
  • Reporting
    • View Usage and Reports
    • Set Up Google Analytics
  • Free/busy service
    • MS Exchange와 calendar 정보를 연동할 때 사용
  • Secure Data Connector
    • 기업의 레가시 시스템에 있는 데이터를 안전한 방법으로 Google Apps에서 사용할 수 있도록 한다.
  • Email migration
  • API references
  • Google Apps desktop features
  • User email uploads
    |- |align="center" style="background-color:#eee;"|Support |
  • Resources for administrators
  • Resources for end users
  • Customer support form Sofficepack.co.kr
    |- |align="center" style="background-color:#eee;"|Service Settings |
  • 각 종 서비스의 설정 페이지
    • Start Page
    • Email, Chat, Calendar, Docs, Groups, Google Wave, Sites, Contacts, Mobile, Moderator, Short Links |}
  • Google Apps 서비스 상태 정보
    • Mail, Calendar, Talk, Doc List, Documents, Spreadsheets, Presentations, Drawings, Sites
    • Video for business, Groups, Admin control panel / API, Postini Services


참고 사이트



Deployment


Development


Reseller


참고 문헌


공유하기