- 서비스 신청
- Google Apps 주요 기능
- Gmail
- Google Calendar
- Google Docs
- Google Sites
- Google Apps Script
- Google Gadget
- Gmail SMTP로 메일 발송
- Gmail SMTP 서버 정보
- Gmail for Ubuntu Server
- Gmail for CentOS
- 서비스 업체별 POP3, SMTP 주소
- 참고 문헌
- Outlook 설정
- 개발자 가이드
- GData Eclipse 개발 환경 설정
- Google Apps API
- OpenID Single Sign-On
- SAML Single Sign-On
- Google Apps with two-legged OAuth
- 관리자 가이드
- 무료 DNS 업체
- Google Apps 서비스 (Premier Edition)
- 참고 사이트
- Deployment
- Development
- Reseller
- 참고 문헌
도메인만 있으면 자신만의 메일 주소를 가질 수 있는 Google Apps을 정리 한다.
홈페이지 : http://www.google.com/apps/intl/ko/business/index.html
라이선스 : 무료(기본형) 또는 유료(고급형, user당 $50)
서비스 신청
Google Apps 주요 기능
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;" 사용자당 7 GB
Postini는 지원 않음
|사용자당 25 GB
Postin : 이메일 감시/보안과 아카이빙 백업 서비스 align="center" valign="middle" style="background-color:#eee;" 리소스 일정 조정 가능 (회의실/프로젝터 등) align="center" valign="middle" style="background-color:#eee;" 1 GB
|사용자당 1 GB for file storage align="center" valign="middle" style="background-color:#eee;" 10 GB
|10 GB + 사용자당 500 MB for shared storage align="center" valign="middle" style="background-color:#eee;" - align="center" valign="middle" style="background-color:#eee;" 지원 않음
|Google Groups for Business align="center" valign="middle" style="background-color:#eee;" 지원 않음
|Google Video for Business
한국은 지원 않음 align="center" valign="middle" style="background-color:#eee;" - align="center" valign="middle" style="background-color:#eee;" } Google Apps for Business
파트너 정책
Google Apps Authorized Reseller
http://www.google.com/apps/intl/en/business/resellers/index.html
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, 인증 사용)
참고 문헌
qmail 로도.. Gmail SMTP 를 경유하여 메일을 보낼 수 있습니다.. (내용 있씀), 2008.10
Ubuntu Server
CentOS
Outlook 설정
Microsoft Outlook를 실행하여 "도구 -> 계정 설정 -> 새로 만들기" 메뉴를 선택 합니다.
"Microsoft Exchange, POP3, IMAP 또는 HTTP"을 선택 합니다.
"수동으로 서버 설정 또는 추가 서버 유형 구성"을 선택 합니다.
"인터넷 전자 메일"을 선택 합니다.
필요한 정보를 입력하고 "기타 설정" 버튼을 선택 합니다.
사용자 이름 : 사용자 이름
전자 메일 주소 : 이메일 주소
계정 유형 : IMAP
받는 메일 서버 : imap.gmail.com
보내는 메일 서버 : smtp.gmail.com
사용자 이름 : 이메일 주소
암호 : 비밀번호
암호 저장 체크
"고급" 탭을 선택하여 아래와 같이 설정 합니다.
받는 메일 서버 : 993
암호화된 다음 연결 방식 사용 : SSL
보내는 메일 서버 : 25
암호화된 다음 연결 방식 사용 : TLS
"보내는 메일 서버" 탭을 선택하여 아래와 같이 설정 합니다.
"보내는 메일 서버 인증 필요" 체크
"받는 메일 서버와 동일한 설정 사용" 선택
개발자 가이드
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 App Engine에서 "google-collect-1.0.jar" 가져와서 라이브러리에 등록하여 사용 한다.
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%"|
http://code.google.com/intl/ko/googleapps/images/architecture.png align="center" style="background-color:#eee;" AtomPub(Publishing Protocol)을 기반으로 한 REST 스타일의 API
-
|-
|align="center" style="background-color:#eee;"|Google Apps Script
| Google Docs의 Spreadsheet와 Google Sites 에서 사용할 수 있는 Script API align="center" style="background-color:#eee;" 기업내의 데이터를 보안된 방법으로 Google Apps에서 접속할 수 있도록 한다.
|}
OpenID Single Sign-On
OpenID 2.0 Standard
참고 문헌
SAML Single Sign-On
SAML v2.0 Standard XML-based framework
사용자 인증(authentication)과 권한(authorization) 정보를 교환하도록 허용
SAML을 구현한 Java 기반의 오픈소스
Google Apps 관리자 설정 메뉴
"Advanced tools -> Set up sign-on (SSO)" : SSO 정보과 인증서 정보(public key) 설정
"Advanced tools -> Two-step verification" : 새로운 장비에서 로그인시 핸드폰으로 인증 코드 발송
참고 문헌
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" 링크를 선택하여 접근 권한을 설정 한다.
https://apps-apis.google.com/a/feeds/user/#readonly : Read only
https://docs.google.com/feeds/ : Read/Write
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
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());
}
}
참고 문헌
관리자 가이드
무료 DNS 업체
http://kr.dnsever.com/ : 무료 DNS서비스 제공, 도메인수에 제한 없음
http://www.zoneedit.com/ : 5개의 도메인 무료
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;"
계층화된 형태로 조직을 생성하고 조직별로 서비스 사용 권한을 설정 한다.
상위 조직에 부여된 권한을 하위 조직에서 상속 가능
각 조직별로 사용자를 할당 한다. 단, 한명의 사용자는 하나의 조직에만 할당이 된다.
Contacts, Gmail, Google Calendar, Google Docs, Google Groups, Google Sites, Google Talk, Google Wave align="center" style="background-color:#eee;"
Group을 만들어 Group email을 할당 한다.
Google Groups 서비스를 통해 각종 정보를 그룹 구성원간에 공유할 수 있다.
문서, 사이트, 동영상 및 캘린더에 대한 액세스 관리 align="center" style="background-color:#eee;" 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;"
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;" Resources for administrators
Resources for end users
Customer support form Sofficepack.co.kr align="center" style="background-color:#eee;" 각 종 서비스의 설정 페이지
Start Page
Email, Chat, Calendar, Docs, Groups, Google Wave, Sites, Contacts, Mobile, Moderator, Short Links
|}
Mail, Calendar, Talk, Doc List, Documents, Spreadsheets, Presentations, Drawings, Sites
Video for business, Groups, Admin control panel / API, Postini Services
참고 사이트
Deployment
Google Apps Deployment for Enterprise
Deployment Tools or Help
Development
gdata-samples : Google Apps API를 사용한 Sample 코드 제공
API and Library
gdata-java-client : Google Apps Java Client Library
- : Google Apps JavaScript Library
Eclipse Plugin : http://gdata-java-client-eclipse-plugin.googlecode.com/svn/update-site
Reseller
참고 문헌
[https://appengine.google.com/ Google App Engine], Google App Engine
Google Apps 판매 업체
분류: Cloud
Google
email
비즈니스
CentOS