ActiveSync 모바일 동기화를 위해 Kopano Z-Push를 구성하는 방법

Z-Push는 호환되는 모바일 장치가 Microsoft Exchange ActiveSync를 통해 Kopano Core와 동기화할 수 있도록 합니다. 안정적인 설정을 위해서는 Z-Push 백엔드를 Kopano 서버와 일치시키고, ActiveSync 엔드포인트를 HTTPS를 통해 게시하며, 업그레이드 중에 Z-Push 상태를 보존해야 합니다. 또한 가장 간단한 단일 서버 배포를 원하는지, 아니면 개별 서비스와 다중 호스트 용량이 필요한지에 따라 적절한 구성이 달라집니다.

사용 환경에 맞는 설정을 선택하세요.

Z-Push는 오픈 소스 ActiveSync 동기화 서버입니다. 호환되는 장치와 그룹웨어 백엔드 간의 프로토콜 계층 역할을 하며, 일반적으로 장치는 Kopano에 직접 연결하는 대신 Exchange 또는 ActiveSync 계정을 추가합니다. 선택한 백엔드와 모바일 클라이언트가 이메일, 연락처, 일정 항목 및 작업 유형을 지원하는 경우 Z-Push는 이러한 데이터 유형을 동기화할 수 있습니다. Kopano는 Kopano Core 관리자 설명서 에서 이러한 관계를 설명합니다 .

선택가장 적합한계획을 세우는 데 있어서의 절충점
코파노 백엔드Kopano Core는 메일, 연락처 및 캘린더의 소스입니다.Kopano 백엔드와 호환되는 PHP-MAPI 구성 요소가 필요하며, 지원되는 버전을 일치시켜야 합니다.
IMAP, CalDAV 또는 CardDAV 백엔드를 별도로 구성하십시오.메일과 그룹웨어 데이터는 서로 다른 서비스에 저장됩니다.더 많은 엔드포인트와 구성 옵션이 있으며, 기능 및 폴더 동작은 각 백엔드에 따라 다릅니다.
유통 패키지운영 체제에 의해 관리되는 표준 Linux 배포판패키지 버전 및 경로는 배포판 저장소와 Kopano 호환성에 따라 다릅니다.
소스 또는 사용자 지정 컨테이너 배포팀에 사용자 지정 레이아웃, 릴리스 고정 또는 컨테이너 작업이 필요합니다.종속성 관리, 상태 지속성, 웹 라우팅, 업그레이드 및 롤백을 직접 담당해야 합니다.
호스트 한 명Z-Push 서비스 하나만 사용하는 소규모 설치 환경상태와 네트워크 경로가 더 단순하지만 호스트는 단일 서비스 지점입니다.
다중 Z-Push 호스트고가용성 또는 확장 배포적절한 공유 또는 데이터베이스 기반 상태 설계가 필요합니다. 로컬에만 상태를 저장하면 요청이 일관성을 잃을 수 있습니다.

기존 Kopano Core 서버의 경우 Kopano 백엔드가 자연스러운 시작점입니다. IMAP과 CalDAV/CardDAV는 해당 시스템에 관련 데이터가 실제로 저장되어 있거나 의도적으로 데이터 소스를 분리하려는 경우에만 선택하십시오. 백엔드 대체는 기능에 영향을 미칠 수 있습니다. 동기화 동작, 주소록, 작업, 공용 폴더 및 호환성이 다를 수 있습니다.

설치 또는 구성 변경 전에

  • Kopano Core, Z-Push, PHP, 웹 서버 및 운영 체제 버전을 기록해 두십시오. 사용하려는 패키지에 대해 지원되는 조합을 확인하십시오. Z-Push에서 허용하는 PHP 버전만으로는 Kopano MAPI 확장 기능을 사용할 수 있다는 보장이 없습니다.
  • 클라이언트가 사용할 공개 호스트 이름(예: )을 선택 sync.example.com하고 해당 이름에 대한 신뢰할 수 있는 TLS 인증서를 준비하십시오.
  • Z-Push를 Kopano 호스트에서 실행할지 아니면 별도의 웹 서버에서 실행할지 결정하십시오. 별도의 호스트를 사용하면 웹에 연결된 서비스를 격리할 수 있지만, Kopano에 대한 네트워크 액세스가 가능하고 MAPI 서버 주소가 올바르게 구성되어 있어야 합니다.
  • 업그레이드 전에 Z-Push 구성 및 상태 디렉터리를 백업하십시오. Z-Push 상태는 장치 동기화를 추적하며, Kopano의 업그레이드 지침에 따르면 기존 모바일 프로필의 상태를 보존해야 합니다.
  • 개인용 또는 회사용 휴대폰을 등록하기 전에 각 사용자가 동기화해야 하는 데이터 유형을 선택하고 장치 정책 요구 사항을 검토하십시오.

서버 측을 구성합니다.

1. 해당 Z-Push 패키지 세트를 설치합니다.

가능한 경우, 사용 중인 배포판 및 Kopano 릴리스에 맞는 패키지를 사용하십시오. 일반적인 패키지 기반 설정에서는 Z-Push 코어, Kopano 백엔드 및 웹 서버 통합이 분리됩니다. Kopano 관리자 설명서에는 z-push-backend-kopano웹 서버 구성 패키지와 같은 패키지가 설명되어 있지만, 정확한 패키지 이름과 저장소 가용성은 배포판에 따라 다르며, 해당 설명서는 이전 버전의 Kopano 코어 문서를 기반으로 합니다. 이전 버전의 명령을 사용하기 전에 현재 패키지 지원 여부를 확인하십시오.

소스 설치와 컨테이너는 버전 및 파일 시스템 레이아웃에 대한 더 많은 제어 권한을 제공합니다. 또한 운영자에게 책임이 이전됩니다. 웹 서버에서 사용하는 동일한 PHP 런타임에서 PHP 확장 기능을 사용할 수 있도록 하고, 상태 및 로그를 영구 저장하며, 재배포 후에도 ActiveSync 경로에 접근할 수 있도록 유지해야 합니다.

2. Kopano 백엔드와 서버 주소를 선택하세요.

Z-Push 메인 구성에서 백엔드 공급자를 설치된 릴리스에 설명된 설정 및 클래스 이름을 사용하여 Kopano 백엔드로 설정하십시오. 패키지 배포에서 흔히 사용되는 설정은 다음과 같습니다. BackendKopano패키지에 포함된 샘플을 확인하지 않고 구조가 다른 구성 파일에 설정을 붙여넣지 마십시오. Kopano 서비스가 동일한 호스트에 없거나 기본 로컬 연결을 통해 연결할 수 없는 경우 Kopano 백엔드 구성에서 MAPI 서버 주소를 설정하십시오.

// Example only: confirm the setting and file path in your installed package.
define('BACKEND_PROVIDER', 'BackendKopano');

패키지 버전에 따라 파일 이름과 상수가 다를 수 있습니다. 공개 설정 예제에는 비밀 정보를 포함하지 말고, 설정 파일 권한을 제한하며, Apache 또는 PHP-FPM에서 사용하는 PHP 런타임이 필요한 Kopano MAPI 확장 프로그램을 로드할 수 있는지 확인하십시오. 정상적인 명령줄 PHP 환경이 웹 PHP 런타임에도 동일한 확장 프로그램이 활성화되어 있음을 보장하지는 않습니다.

3. ActiveSync 엔드포인트를 HTTPS를 통해 게시합니다.

클라이언트는 ActiveSync 핸들러에 안정적인 HTTPS URL이 필요하며, 일반적으로 호스트 이름 뒤에 .HTTPS가 /Microsoft-Server-ActiveSync붙습니다. Apache, Nginx 또는 선택한 리버스 프록시를 구성하여 해당 경로를 Z-Push의 진입점으로 라우팅하십시오. 정규 엔드포인트는 동일한 호스트 이름을 유지하고 요청 메서드를 변경하거나 모바일 클라이언트를 다른 경로로 보내는 리디렉션을 피하십시오. Kopano 가이드에서는 리디렉션으로 인해 장치 동기화가 중단될 수 있으므로 엔드포인트를 생성하기 위해 Z-Push 디렉터리 이름을 변경하지 말 것을 특히 경고합니다.

엔드포인트 호스트 이름과 일치하는 유효한 인증서를 사용하십시오. HTTPS는 전송 중인 자격 증명 및 동기화 데이터를 보호하며, 대부분의 모바일 클라이언트는 신뢰할 수 없거나 일치하지 않는 인증서를 거부합니다. 프로덕션 계정에서 TLS를 비활성화하여 인증서 경고를 해결하지 마십시오. TLS가 리버스 프록시에서 종료되는 경우, 프록시가 의도한 대로 요청 및 인증 관련 헤더를 전달하는지, 그리고 프록시에서 Z-Push로의 연결이 내부 보안 정책을 준수하는지 확인하십시오.

4. 쓰기 가능 상태 및 로그 위치 설정

Z-Push는 상태 및 로그 위치에 대한 접근 권한을 가져야 합니다. www-data많은 Debian 및 Ubuntu 설치 환경에서처럼 특정 웹 서버 계정에 접근 권한을 부여하십시오. 서비스 계정은 배포판에 따라 다를 수 있습니다. 이러한 디렉터리에 모든 사용자가 쓰기 권한을 갖도록 설정하지 마십시오. 다중 호스트 환경에서는 한 노드의 파일이 다른 노드에서 접근 가능하다고 가정하는 대신, 공유 접근을 위해 설계된 상태 관리 메커니즘을 선택하십시오. Kopano 관리자 가이드에서는 상태 디렉터리 권한에 대해 설명하고 있으며, Z-Push를 업그레이드할 때 상태를 유지해야 한다고 명시하고 있습니다.

모바일 계정을 설정하세요

휴대폰에서 회사 계정 또는 Exchange 계정을 추가하고 Exchange ActiveSync, Microsoft Exchange 또는 해당 클라이언트에서 제공하는 동등한 옵션을 선택합니다. 정확한 레이블과 화면은 운영 체제 및 메일 앱에 따라 다릅니다. 사용자의 이메일 주소와 자격 증명을 입력합니다. 자동 검색으로 서버를 찾지 못하면 Z-Push 호스트 이름을 입력하고, 필요한 경우 ActiveSync 엔드포인트를 입력합니다. Kopano 인증 설정에서 예상하는 사용자 이름 형식을 사용하십시오. 전체 이메일 주소와 Kopano 로그인 이름이 항상 동일하다고 가정하지 마십시오.

SSL/TLS는 활성화된 상태로 유지하고, 장치 정책은 암호 요구 또는 조직에서 관리하는 장치 제어 적용과 같은 허용 사항을 검토한 후에만 수락하십시오. 동기화할 범주(메일, 연락처, 일정, 작업 등)를 선택하십시오. 기존 Kopano 모바일 장치 안내서에는 일반적인 Exchange 계정 워크플로가 설명되어 있지만, 스크린샷과 운영 체제 레이블이 오래되었습니다. 이전 메뉴 경로를 그대로 복사하지 말고 현재 사용 중인 휴대폰의 안내에 따라 진행하십시오.

메일 앱에서 동기화 일정을 제공하는 경우, 푸시 알림 또는 빈번한 업데이트를 선택하면 더 빠르게 메일을 받을 수 있지만 배터리 소모와 네트워크 사용량이 증가할 수 있습니다. 폴링 간격을 길게 설정하면 백그라운드 확인 횟수는 줄어들지만 새 메시지 수신이 지연될 수 있습니다. 업무용 계정의 경우, 신속한 메일 수신이 중요하다면 먼저 클라이언트의 푸시 알림 설정을 사용한 후 배터리 사용량과 회사 정책에 따라 조정하는 것이 좋습니다.

추가 기기를 등록하기 전에 각 계층을 확인하십시오.

  1. 엔드포인트: 브라우저에서 공개 호스트 이름을 열고 TLS 인증서가 유효한지 확인하십시오. 계정을 추가하기 전에 브라우저 오류 또는 인증서 경고를 수정해야 합니다.
  2. 웹 라우팅: ActiveSync 경로가 리디렉션 루프나 일반 웹 서버 404 페이지 없이 Z-Push 핸들러에 도달하는지 확인합니다. 엔드포인트는 일반 웹사이트가 아닌 프로토콜 핸들러입니다.
  3. 백엔드 인증: 테스트 계정을 사용하여 Z-Push 로그에 비밀번호나 토큰 노출 없이 백엔드 연결이 성공적으로 이루어졌는지 확인하십시오.
  4. 초기 동기화: 테스트용 휴대폰 한 대를 추가하고 선택한 메일 폴더, 연락처, 캘린더 및 작업 목록을 확인하세요. 로그인에 성공했다고 해서 모든 데이터 유형이 올바르게 동기화되는 것은 아닙니다.
  5. 양방향 변경: 휴대폰에서 테스트 캘린더 이벤트를 생성하고 Kopano에 표시되는지 확인합니다. 그런 다음 Kopano에서 테스트 변경을 수행하고 변경 사항이 휴대폰에 반영되는지 확인합니다.
  6. 재시작 및 복원: 계획된 테스트 기간 동안 웹 서비스를 재시작하고 동기화가 복구되었는지 확인하며 상태 디렉터리가 손상되지 않았는지 확인합니다.

증상별로 문제 해결

징후먼저 확인하세요
휴대폰이 서버를 확인할 수 없거나 로그인 전에 오류가 발생합니다.호스트 이름, TLS 인증서 체인, HTTPS 엔드포인트 및 프록시 리디렉션 정보
자격 증명이 거부되었습니다사용자 이름 형식, Kopano 인증, 백엔드 제공업체, PHP-MAPI 사용 가능 여부 및 웹 서버 로그
메일은 동기화되지만 캘린더나 연락처는 동기화되지 않습니다.백엔드 기능 지원, 선택된 휴대폰 동기화 카테고리 및 폴더 매핑
동기화는 한 번만 작동하고, 그 후에는 복제되거나 초기화됩니다.변경 또는 업그레이드 중에 상태가 삭제되었는지, 이동되었는지, 또는 호스트 간에 일관성이 없는지 여부
기기 한 대만 고장납니다.기기 호환성, 계정 정책 메시지, 오래된 프로필 및 기기별 로그를 확인하세요. 데이터를 재설정하기 전에 다른 클라이언트에서 테스트해 보세요.
PHP 또는 OS 업데이트 후 모든 장치가 작동하지 않습니다.PHP-FPM/Apache 확장 프로그램 로딩, 패키지 호환성, 서비스 로그 및 최근 구성 변경 사항

Z-Push 자체 로그와 웹 서버/PHP 로그를 동일한 타임스탬프 기준으로 함께 사용하십시오. 새 장치 프로필을 테스트해야 하는 경우, 먼저 서버 측 상태 재설정이 해당 릴리스에 적합한지 확인하고 전체 재동기화가 트리거되는지 여부를 파악하십시오. 문제 해결의 첫 단계로 전체 상태 디렉터리를 삭제하지 마십시오.

어떤 구성을 선택해야 할까요?

기존의 소규모 Kopano Core 설치 환경에서는 배포판에서 지원하는 Z-Push 패키지 세트, Kopano 백엔드, 하나의 HTTPS 엔드포인트, 그리고 권한이 신중하게 설정된 로컬 상태 데이터베이스를 통해 구성 요소를 최소화할 수 있습니다. 격리 또는 운영상의 제약으로 인해 추가적인 네트워크 및 PHP-MAPI 호환성 작업이 필요한 경우에는 별도의 호스트를 사용하십시오. 다중 호스트 설계는 공유 상태 방식을 선택하고 테스트한 후에만 고려하십시오. 메일, 캘린더 또는 연락처 데이터가 Kopano 외부에 저장되는 경우, 배포 전에 관련 Z-Push 백엔드를 비교하고 사용자가 실제로 사용하는 모바일 클라이언트에서 각 데이터 유형을 테스트하십시오.

Z-Push 및 Kopano 패키징, PHP 지원, 그리고 장치 동작은 릴리스마다 변경될 수 있습니다. 설치된 패키지의 샘플 구성과 해당 릴리스 문서를 기준으로 삼으십시오. 이전 Kopano 설명서는 개념 이해에는 유용하지만, 최신 시스템에 그대로 복사해서는 안 됩니다. Z-Push 프로젝트 저장소는 최신 프로젝트 코드 및 릴리스 정보를 제공하는 소스입니다.

댓글 남기기

ActiveSync 모바일 동기화를 위해 Kopano Z-Push를 구성하는 방법

ActiveSync 모바일 동기화를 위해 Kopano Z-Push를 구성하는 방법

Kopano를 사용하여 Z-Push를 구성하고 ActiveSync를 통해 이메일, 연락처, 캘린더 및 작업 정보를 안전하게 동기화하세요. 백엔드 및 배포 옵션을 비교하고 모바일 설정을 확인하세요.

Jitsi Meet에서 "연결이 끊어졌습니다"라는 오류 메시지 및 연결 끊김 문제 해결

Jitsi Meet에서 "연결이 끊어졌습니다"라는 오류 메시지 및 연결 끊김 문제 해결

Jitsi Meet 연결 끊김 문제를 해결하기 위한 실용적인 체크리스트를 소개합니다. 브라우저, 모바일 기기, 불안정한 네트워크, 방화벽, 자체 호스팅 서버 등 다양한 요인을 점검해 보세요.

Nextcloud Talk 화상 통화 품질 및 TURN 서버 연결 문제 해결

Nextcloud Talk 화상 통화 품질 및 TURN 서버 연결 문제 해결

Nextcloud Talk 통화 품질 문제를 해결하고, coturn을 구성하고, 필요한 포트를 열고, ICE 후보를 테스트하고, TURN 또는 HPB가 적절한 해결책인지 판단합니다.

Nginx에서 사용자 정의 요소 웹 클라이언트를 호스팅하는 방법

Nginx에서 사용자 정의 요소 웹 클라이언트를 호스팅하는 방법

사용자 지정 홈서버, HTTPS, 캐싱 및 보안 헤더를 사용하여 Nginx에 Element Web을 배포하고 일반적인 설정 문제를 간단하게 확인하는 방법을 알아보세요.

BigBlueButton 프레젠테이션 업로드 오류 해결 방법: "지원되지 않는 파일 형식"

BigBlueButton 프레젠테이션 업로드 오류 해결 방법: "지원되지 않는 파일 형식"

BigBlueButton의 "지원되지 않는 파일 형식" 프레젠테이션 오류를 해결하려면 파일 확장자를 확인하고, 실제 PDF 파일로 내보내고, 다른 파일을 테스트하고, 관리자에게 문의해야 하는 시점을 파악하십시오.

systemd에서 Matrix Synapse의 "열린 파일이 너무 많습니다" 오류 해결

systemd에서 Matrix Synapse의 "열린 파일이 너무 많습니다" 오류 해결

Matrix Synapse의 "열린 파일이 너무 많습니다" 오류를 해결하려면 서비스 제한을 확인하고, systemd 재정의를 적용하고, 실행 중인 프로세스를 확인하십시오.

Elasticsearch 8을 사용하여 Nextcloud에서 전체 텍스트 검색을 설정하는 방법

Elasticsearch 8을 사용하여 Nextcloud에서 전체 텍스트 검색을 설정하는 방법

Elasticsearch 8을 사용하여 Nextcloud 전체 텍스트 검색을 설정하고, 필요한 앱을 설치하고, 인덱스를 구성하고, 첫 번째 크롤링을 실행하고, 검색 결과를 확인합니다.

Python과 Simple-Matrix-Bot-Lib을 사용하여 Matrix 봇을 설정하는 방법

Python과 Simple-Matrix-Bot-Lib을 사용하여 Matrix 봇을 설정하는 방법

Python과 Simple-Matrix-Bot-Lib을 사용하여 Matrix 봇을 구축하고, 인증 및 배포 옵션을 비교하고, 명령어를 테스트하고, 언제 matrix-nio를 사용해야 하는지 알아보세요.

Let's Encrypt SSL을 사용하여 Ubuntu 24.04에 Jitsi Meet을 설치하는 방법

Let's Encrypt SSL을 사용하여 Ubuntu 24.04에 Jitsi Meet을 설치하는 방법

DNS, 방화벽 규칙, 공식 저장소, Let's Encrypt SSL, 서비스 점검 및 NAT 문제 해결을 포함하여 Ubuntu 24.04에 Jitsi Meet을 설치하는 방법입니다.

ownCloud 데스크톱 동기화 클라이언트에서 발생하는 "SSL 인증서 확인 실패" 오류 해결

ownCloud 데스크톱 동기화 클라이언트에서 발생하는 "SSL 인증서 확인 실패" 오류 해결

ownCloud Desktop 동기화 인증서 오류를 해결하려면 서버 URL, 인증서 이름 및 체인, 시스템 시계, 클라이언트 버전 및 신뢰할 수 있는 CA 저장소를 확인하십시오.