Debian 12에서 WireGuard Point-to-Site VPN을 구성하는 방법
원격 클라이언트 한 명을 위해 Debian 12 기반 WireGuard VPN 서버를 설정합니다. 키, IPv4 포워딩, nftables NAT, 방화벽 액세스 및 연결 확인을 구성합니다.
Zimbra Community Edition(CE) 사서함 하나를 백업하려면 `export` 명령어를 사용하여 TGZ 파일로 내보내고 zmmailbox getRestURL, 아카이브의 유효성을 검사한 다음, `restore` 명령어를 사용하여 복원하십시오 postRestURL. 이미 메일이 있는 계정으로 가져올 때는 `export` 명령어로 시작하십시오 . 사서함 루트에서 `restore` 명령어를 resolve=skip사용하면 기존 항목이 삭제될 수 있습니다.resolve=reset
Zimbra는 REST 인터페이스 및 유틸리티를 통해 TGZ 내보내기 및 가져오기 zmmailbox기능을 제공합니다. 이 아카이브는 사서함 내용과 폴더 구조를 포함하며, EML 파일로 패키징된 이메일 메시지와 해당 캘린더, 연락처, 작업 또는 브리프케이스 데이터를 전송합니다. 가져오기 과정에서 어떤 콘텐츠와 메타데이터가 그대로 유지되는지는 원본 및 대상 버전과 전송되는 항목에 따라 달라질 수 있습니다.
이 기능을 전체 계정 또는 서버 백업과 혼동하지 마십시오. TGZ 콘텐츠 내보내기는 누락된 계정을 프로비저닝하거나 모든 LDAP 속성, 암호, 별칭, 서비스 등급 할당, 라우팅 설정, 필터, 권한 부여 또는 서버 구성을 독립적으로 보존하지 않습니다. 필요한 계정 설정은 관리 절차를 사용하여 별도로 기록하십시오. zmbackup이전 Zimbra 설명서에 설명된 유틸리티는 표준 CE 워크플로가 아닌 네트워크 에디션에 속합니다.
명령어 예제는 Zimbra의 공식 인터페이스를 따르지만, 모든 독립적으로 빌드된 CE 릴리스에 대한 실시간 테스트는 아닙니다. 프로덕션 복구를 계획하기 전에 도움말 및 빌드 릴리스 노트를 확인하십시오 zmcontrol -v. zmmailbox또한 실시간 REST 내보내기는 사용자가 실행 중에 항목을 변경하는 경우 완벽하게 일관된 순간을 포착한다고 가정해서는 안 됩니다. 일관성이 중요한 경우에는 활동이 적은 시간대를 예약하십시오.
관리자 권한이 있는 운영 체제 계정으로 Zimbra 서버에 연결합니다. Zimbra 서비스 사용자로 전환한 다음 대상 계정이 존재하는지 확인합니다. 여러 서버로 구성된 환경에서는 올바른 사서함 서비스에 연결하고 있는지 확인하십시오.
sudo -iu zimbra
zmcontrol -v
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders
user@example.com실제 계정 정보로 바꿔야 합니다 . 이 -z스위치는 로컬 Zimbra 관리자 자격 증명을 사용하며, 최종 사용자의 암호가 아닙니다. 필요한 관리자 권한이 없는 경우, 셸 명령에 암호를 직접 입력하는 대신 승인된 계정 액세스 워크플로를 사용하십시오.

OS 관리자 권한으로 Zimbra 서비스 사용자가 쓰기 가능한 위치를 생성하십시오. 이 작업은 공용 디렉터리 외부에서 수행하고 먼저 여유 공간을 확인하십시오. 설치 명령을 실행한 후 관리자 계정으로 전환 zimbra하거나 관리자 계정으로 돌아가십시오.
sudo install -d -o zimbra -g zimbra -m 0700 /srv/zimbra-mailbox-backups
df -h /srv/zimbra-mailbox-backups
ls -ld /srv/zimbra-mailbox-backups
메일 보관함에는 기밀 메시지와 첨부 파일이 포함될 수 있습니다. 파일 시스템 접근을 제한하고, 서버 외부에 저장된 사본을 보호하며, 적절한 보존 정책을 적용하십시오.

셸 에서 zimbra아래 REST 익스포터를 사용하십시오. 이 -t 0옵션은 대규모 작업에 대한 CLI 시간 초과를 비활성화하지만, 프록시, 디스크 I/O 또는 서버 제한으로 인해 내보내기가 중단될 수 있음을 보장하지는 않습니다.
umask 077
zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz' > /srv/zimbra-mailbox-backups/user-20261010.tgz
계정별로 한 번씩 내보내기를 실행하고 날짜가 포함된 고유한 파일 이름을 선택하십시오. 셸 리디렉션으로 인해 이전 아카이브 경로가 잘릴 수 있으므로 재사용하지 마십시오. 명령 실행 중 오류가 발생하면 아래 검사를 통과할 때까지 결과 파일을 불완전한 것으로 간주하십시오.

비어 있지 않은 TGZ 파일이 있다고 해서 백업 복구가 가능하다는 증거는 아닙니다. 전체 tar 스트림을 검사하고, 대표적인 폴더 항목을 확인하고, 다이제스트를 계산하십시오. tar 검사에 실패했다면 파일을 가져오기보다는 내보내기 과정을 조사해야 합니다.
test -s /srv/zimbra-mailbox-backups/user-20261010.tgz
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz > /dev/null
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz | head -n 20
cd /srv/zimbra-mailbox-backups
sha256sum user-20261010.tgz > user-20261010.tgz.sha256
체크섬을 아카이브 파일과 함께 저장하고 두 파일을 원래 서버 외부의 안전한 저장소로 이동합니다. 복사 후 sha256sum -c user-20261010.tgz.sha256두 파일이 있는 디렉터리에서 명령을 실행합니다. 체크섬 검사가 성공하면 바이트 무결성이 확인되는 것이며, 모든 사서함 기능이 올바르게 복원된다는 의미는 아닙니다.


대상 계정이 없는 경우, 승인된 Zimbra 프로비저닝 프로세스를 통해 생성하십시오. TGZ 가져오기 과정에서는 계정이 생성되지 않습니다. 계정 주소, 할당량, 서비스 액세스 권한 및 기존 폴더를 확인하십시오. 특히 버전 간 전송의 경우, 첫 테스트에는 격리된 비프로덕션 계정을 사용하는 것이 좋습니다.
sudo -iu zimbra
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders
검증된 아카이브를 대상 Zimbra 서비스 사용자가 읽을 수 있는 디렉터리에 복사하되, 제한된 권한은 유지하십시오. 원격 전송의 경우, 대상에서 체크섬을 다시 확인하십시오. 동일한 주소를 가진 계정이 비어 있다고 가정하지 마십시오.

일치하는 항목은 그대로 두고 누락된 항목을 추가하려면 를 사용하십시오 resolve=skip. 이는 문서화된 기본 중복 처리 동작이지만 모든 항목 유형이나 버전에 대해 완벽한 병합을 보장하는 것은 아닙니다.
zmmailbox -z -m user@example.com -t 0 postRestURL '//?fmt=tgz&resolve=skip' /srv/zimbra-mailbox-backups/user-20261010.tgz
파괴적인 예제를 프로덕션 환경에 복사하지 마십시오. Zimbra 문서에서는 resolve=reset가져오기 전에 대상 항목을 삭제하는 방법을 설명합니다. 또한 replace정책 modify에 따라 기존 항목의 처리 방식이 변경될 수 있습니다. 정확한 계정 및 폴더 범위에 대한 테스트를 거쳐 승인을 받은 후에만 제어된 복원을 고려하십시오.

타임아웃 오류가 발생하면 -t 0서버 또는 프록시 타임아웃 및 저장 용량 제한을 확인하고 점검하십시오. CLI 타임아웃 값이 0이라고 해서 모든 네트워크 문제가 해결되는 것은 아닙니다. Zimbra 지원 위키에서도 대용량 사서함 내보내기 시 아카이브 손상 및 I/O 오류가 발생할 수 있다고 경고합니다. 크기가 너무 크거나 내보내기가 불안정한 경우, 작업을 폴더 또는 날짜별로 나누어 각 아카이브와 가져오기 작업을 여분의 계정에서 테스트하십시오.
예를 들어, 문서화된 검색 쿼리는 under:Inbox받은 편지함 콘텐츠와 하위 폴더를 선택합니다. REST URL을 따옴표로 묶는 것은 필수적입니다. 앰퍼샌드(&)가 셸이 아닌 Zimbra에 도달해야 하기 때문입니다.
zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz&query=under:Inbox' > /srv/zimbra-mailbox-backups/inbox-20261010.tgz
폴더 범위 아카이브는 전체 사서함 내보내기를 대체할 수 없습니다 . 아카이브 내용을 별도로 확인하고 누락된 폴더 또는 날짜를 기록해 두십시오. 계정이 비활성화되었거나 요청에서 권한 오류가 발생하는 경우, TLS 인증서 검사를 우회하거나 자격 증명을 노출하는 대신 계정 상태 및 관리자 인증을 확인하십시오.
대상 폴더 목록을 작성하고 기록된 소스 폴더 및 TGZ 인벤토리와 비교하십시오.
zmmailbox -z -m user@example.com getAllFolders
zmmailbox -z -m user@example.com getMailboxSize
그런 다음 대상 테스트 계정에 로그인하여 수신 및 발신 메시지, 첨부 파일, 연락처, 캘린더 이벤트 샘플을 엽니다. 날짜와 폴더 경로를 확인하고 가져오기 오류가 있는지 검토합니다. 필요한 경우 별칭, 공유 권한, 규칙 및 기타 계정 수준 설정을 별도로 다시 만들거나 확인합니다. 예상되는 데이터에 액세스할 수 있고 확인 사항이 기록된 후에만 복구가 성공한 것으로 간주합니다.

주요 참조 자료: Zimbra zmmailbox 명령어 참조 , Zimbra REST API 참조 , Zimbra zmprov 관리 참조 , 그리고 스코프 내보내기 및 대용량 아카이브 주의 사항에 대한 Zimbra 문서 . 일부 Zimbra 위키 예제는 오래되었거나 개발 중인 것으로 표시되어 있으므로, 프로덕션 환경에서 사용하기 전에 설치된 CE 빌드에서 해당 예제의 동작을 확인하십시오.
원격 클라이언트 한 명을 위해 Debian 12 기반 WireGuard VPN 서버를 설정합니다. 키, IPv4 포워딩, nftables NAT, 방화벽 액세스 및 연결 확인을 구성합니다.
Nextcloud 파일과 MariaDB를 함께 백업하고, cron을 사용하여 암호화된 Restic 스냅샷을 예약하고, 운영 서버에 위험을 초래하지 않고 복구를 검증하세요.
데비안에서 SSH 키, fstab, systemd 자동 마운트를 사용하여 SSHFS 부팅 마운트를 구성하는 방법입니다. 재부팅 확인, 권한 설정, 타임아웃 및 문제 해결 기능도 포함되어 있습니다.
Zimbra Community Edition 개별 사서함을 내보내고, TGZ 백업의 유효성을 검사하고, 기존 메일을 덮어쓰지 않고 누락된 항목을 복원할 수 있습니다.
Keycloak 및 토큰 인증을 사용하여 승인된 계정만 Jitsi Meet 회의실을 시작할 수 있도록 허용하고, 필요한 경우 게스트 참여도 허용합니다.
ONLYOFFICE DocSpace를 Active Directory 또는 OpenLDAP에 연결하고, 사용자 및 그룹을 안전하게 가져오고, 계정 필드를 매핑하고, 안정적인 동기화를 예약하세요.
ONLYOFFICE Document Server에 사용자 지정 글꼴을 설치하고, Docker 마운트된 글꼴과 직접 복사된 글꼴을 비교하고, 글꼴 목록을 다시 빌드하고, 결과를 확인합니다.
ONLYOFFICE Docs에 대해 HAProxy HTTPS, 전달 헤더, WebSocket 시간 초과 및 상태 확인을 구성한 다음 편집 및 저장이 제대로 되는지 확인합니다.
보안 부팅을 비활성화하지 않고 사용자 지정 SLES 15 커널 모듈을 로드합니다. 실행 중인 커널과 일치시키고, .ko 파일에 서명하고, MOK 키를 등록하고, 로드 여부를 확인합니다.
SLES 시스템 로그를 인증된 TLS를 통해 원격 rsyslog 수집기로 전송하고, 인증서 확인, 장애 버퍼링 및 전송 테스트를 수행합니다.