Let's Encrypt를 사용하여 ownCloud 서버에 SSL/HTTPS를 설정하는 방법

Apache VirtualHost 뒤에서 직접 호스팅되는 ownCloud 서버 인스턴스의 경우, 일반적인 경로는 공용 도메인을 서버로 연결하고, HTTP 사이트에 접속 가능하도록 설정한 다음, 해당 호스트 이름에 대해 Certbot의 Apache 설치 프로그램을 실행하는 것입니다. 예를 들어 ownCloud 주소가 `<hostname>`인 경우 cloud.example.com, Certbot은 Let's Encrypt 인증서를 요청하고 Apache가 `<hostname>`으로 HTTPS를 제공하도록 구성할 수 있습니다 sudo certbot --apache -d cloud.example.com. 사이트를 사용하기 전에 사이트 및 자동 갱신 기능을 테스트하십시오.

이 절차는 ownCloud의 Apache 가이드에서 가정하는 것처럼 Ubuntu의 Apache에서 실행되는 ownCloud Classic 10.16 스타일 설치를 기준으로 합니다. ownCloud Classic 11을 Docker에서 실행하는 경우, ownCloud는 컨테이너 앞의 웹 프록시에 HTTPS를 구성해야 한다고 안내합니다. 호스팅 제공업체 또는 리버스 프록시에서 이미 TLS를 종료하는 경우, ownCloud 컨테이너에 인증서를 설치하는 대신 해당 웹 프록시에 인증서를 구성하십시오.

이 설정이 서버에 적합한지 확인하십시오.

Let's Encrypt는 인증서를 발급하기 전에 요청된 도메인 이름을 사용자가 소유하고 있음을 증명합니다. 일반적인 HTTP-01 인증의 경우, Let's Encrypt는 사용자의 서버에서 공용 HTTP 포트 80을 통해 임시 파일을 가져올 수 있어야 합니다. 또한, 해당 호스트 이름이 사용자의 ownCloud 사이트를 제공하는 공용 엔드포인트로 확인되어야 합니다. 이후 HTTPS 트래픽은 Apache 엔드포인트의 443번 포트에 도달합니다.

  • 와 같은 공개 호스트 이름이 있고 cloud.example.com해당 호스트의 DNS 레코드를 관리합니다.
  • 호스트 이름은 Apache 서버 또는 공용 리버스 프록시의 공용 IP 주소로 확인됩니다.
  • 관련 방화벽, 라우터 및 클라우드 보안 그룹을 통해 인바운드 포트 80 및 443이 허용됩니다.
  • Apache는 이미 해당 호스트 이름에 대한 VirtualHost를 통해 ownCloud 사이트를 제공하고 있습니다.
  • 공용 HTTP 및 HTTPS 트래픽을 처리하는 시스템에 대한 관리자 권한이 있습니다.

사이트가 프록시, 로드 밸런싱, 컨테이너 호스트 또는 제어판 뒤에 있는 경우 Certbot을 실행하기 전에 공용 TLS 연결이 종료되는 위치를 확인하십시오. 잘못된 위치에 설치된 인증서는 브라우저와 서버 간의 연결을 보호하지 못합니다. ownCloud Classic 11의 경우 지원되는 Docker 설계는 컨테이너 내부에서 Apache를 관리하고 웹 프록시에 HTTPS를 배치합니다.

ownCloud 호스트 이름과 Apache 사이트를 준비하세요.

가능하면 ownCloud 전용 호스트 이름을 사용하십시오. ownCloud는 로그인에 사용되는 각 브라우저 URL이 trusted_domains해당 config/config.php파일의 `trusted-domains` 목록에 있어야 합니다. IP 주소 또는 다른 호스트 이름에서 `ownCloud`로 변경하는 경우 cloud.example.com, 새 주소를 테스트하기 전에 `trusted-domains` 배열의 사용되지 않는 항목에 새 호스트를 추가하십시오. 실수로 다른 항목을 덮어쓰지 않도록 주의하십시오.

인증서를 요청하기 전에 일반 HTTP 프로토콜을 사용하여 원하는 ownCloud 사이트에 접속할 수 있는지 확인하십시오. Apache 환경에서는 VirtualHost ServerName설정에 정확한 호스트 이름을 지정해야 합니다. ownCloud의 Apache 설정 안내는 VirtualHost 구성이 되어 있다고 가정하며, Ubuntu 환경에서는 사이트 정의 파일을 `/usr/site.php` 경로에 배치합니다 /etc/apache2/sites-available/. 다른 배포판에서는 경로 및 서비스 이름이 다를 수 있습니다.

Apache VirtualHost 구성을 변경하기 전에 백업하십시오. 이렇게 하면 자동 설치 프로그램이 잘못된 사이트를 선택하거나 충돌하는 HTTPS 호스트를 생성하는 경우 복구 지점을 확보할 수 있습니다. 동일한 서버에 여러 사이트가 있는 경우 기존 VirtualHost를 검사하여 인증서가 기본 사이트가 아닌 ownCloud 호스트 이름에 연결되도록 하십시오.

Apache용 Certbot을 설치하고 실행하세요.

운영 체제 및 Apache 설정에 맞는 지침에 따라 Certbot을 설치하십시오. Certbot의 공식 지침에서는 많은 Linux 설치 환경에서 Snap 패키지 사용을 권장하지만, 패키지 사용 가능 여부 및 지원되는 설치 경로는 배포판에 따라 다릅니다. 운영 체제 패키지 관리자와 Snap을 통해 여러 개의 Certbot을 설치하지 마십시오. 반드시 certbot사용하려는 Apache 플러그인이 포함된 Certbot 설치 명령어를 사용해야 합니다.

Snap이 설치되어 지원되는 Ubuntu 호스트에서 Certbot 지침은 다음과 같은 설치 경로를 보여줍니다.

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot

Certbot이 이미 설치되어 있는 경우, 추가 설치 전에 셸에서 실행 중인 버전과 설치 방법을 확인하십시오. 다른 지원되는 설치 옵션에 대해서는 최신 Certbot Apache 설치 가이드를 참조하십시오.

ownCloud 호스트 이름에 대한 인증서를 요청하고 설치하세요.

sudo certbot --apache -d cloud.example.com

실제 호스트 이름으로 바꾸십시오 cloud.example.com. Certbot은 도메인 유효성 검사를 수행하고 Apache 설치 프로그램을 통해 발급된 인증서를 사용하도록 Apache를 업데이트합니다. 하나의 인증서로 여러 도메인 이름을 사용하려면 각 이름을 명시적으로 지정하십시오(예: ) -d cloud.example.com -d files.example.com. 나열된 모든 이름은 접근 가능한 엔드포인트를 가리켜야 하며 유효성 검사를 통과해야 합니다.

Certbot은 HTTP 요청을 HTTPS로 리디렉션할지 여부를 묻는 메시지를 표시할 수 있습니다. HTTPS VirtualHost가 정상적으로 작동하면 리디렉션을 활성화하는 것이 좋습니다. ownCloud는 프로덕션 환경에서는 HTTPS 사용을 권장하며, 암호화되지 않은 트래픽에 대해서는 영구 리디렉션을 설정할 것을 권장합니다. Apache 설정을 직접 관리하고 싶다면 Certbot에서 제공하는 인증서 전용 모드를 사용할 수도 있습니다. ownCloud의 Apache 가이드를 참조하여 인증서 파일과 VirtualHost를 올바르게 연결한 후, Apache를 재시작하기 전에 설정을 테스트하십시오.

HTTP 유효성 검사가 서버에 도달할 수 없는 경우

HTTP-01 방식은 /.well-known/acme-challenge/80번 포트의 특정 경로를 사용합니다. 라우터가 80번 포트를 다른 시스템으로 포워딩하거나, 방화벽이 해당 포트를 차단하거나, 다른 프록시 서버가 해당 경로를 다른 곳으로 라우팅하는 경우, ownCloud 페이지가 HTTPS를 통해 로드되더라도 인증이 실패할 수 있습니다. 공용 DNS 및 포트 포워딩 설정을 확인하고, ACME 인증 요청이 Certbot이 실행 중인 엔드포인트와 동일한 위치에 도달하는지 확인하십시오.

인터넷 서비스 제공업체(ISP) 또는 네트워크 정책에서 80번 포트를 차단하는 경우 DNS-01 유효성 검사를 고려해 보세요. DNS-01 유효성 검사는 DNS TXT 레코드를 통해 도메인 제어 권한을 증명하고 와일드카드 인증서를 발급할 수 있지만, 갱신 자동화는 DNS 제공업체에서 적합한 API 플러그인을 제공하는지 여부에 따라 달라집니다. 범위가 제한된 자격 증명이나 별도의 유효성 검사 호스트를 사용할 수 있는 경우, 웹 서버에 광범위한 DNS 자격 증명을 배치하지 마세요. 와일드카드 인증서에 HTTP-01 전용 절차를 사용하지 마십시오.

설치 후 Apache와 ownCloud를 확인하십시오.

유지보수 기간을 종료하기 전에 Apache 구성이 유효한지, 그리고 Certbot에 새 인증서가 표시되는지 확인하십시오.

sudo apache2ctl configtest
sudo certbot certificates

Ubuntu에서 Apache 구문 검사가 성공적으로 완료되면 구성이 유효하다는 보고가 표시됩니다. https://cloud.example.com브라우저에서 해당 주소를 열고 로그인합니다. 브라우저에 정확한 호스트 이름에 대한 유효한 인증서가 표시되는지 확인하고, 대표적인 파일 업로드, 다운로드 및 동기화 클라이언트를 테스트합니다. 리디렉션을 활성화한 경우, HTTP 주소로 이동하여 리디렉션 루프 없이 동일한 HTTPS 호스트 이름으로 연결되는지 확인합니다.

ownCloud 로그인 페이지에서 신뢰할 수 없는 도메인이라는 메시지가 표시되면 trusted_domains서버 구성을 확인하십시오. 브라우저가 잘못된 호스트 이름으로 리디렉션되거나 ownCloud가 리버스 프록시 뒤에서 HTTP 링크를 생성하는 경우, 프록시의 전달된 호스트 및 HTTPS 헤더와 ownCloud 프록시 설정을 검토하십시오. 이러한 설정은 프록시 토폴로지에 따라 달라지므로, 특별한 이유 없이 리버스 프록시 재정의 설정을 Apache 직접 설치 환경에 복사하지 마십시오.

작업 완료 여부를 확인하기 전에 갱신 여부를 확인하십시오.

Let's Encrypt의 표준 인증서는 수명이 짧으므로 갱신을 자동화해야 합니다. Certbot 설치에는 일반적으로 systemd 타이머 또는 cron 작업이 포함되어 있습니다. 다음 명령어를 사용하여 갱신을 미리 테스트하십시오.

sudo certbot renew --dry-run

사전 실행 테스트는 기존 인증서를 교체하지 않고 갱신 경로를 확인합니다. 테스트에 실패하면 Certbot 출력 내용을 확인하고 DNS, 방화벽, 챌린지 라우팅 또는 Apache 관련 문제를 수정하십시오. 운영 체제의 서비스 관리 도구를 사용하여 타이머 또는 예약된 작업이 있는지 확인하십시오. 첫 번째 인증서가 발급되었다고 해서 갱신이 활성화되었다고 가정하지 마십시오. 갱신에 HTTP-01을 사용하는 경우 80번 포트를 사용 가능한 상태로 유지하거나 DNS-01 자동화가 필요한 TXT 레코드를 계속 업데이트할 수 있도록 하십시오.

흔히 선택하는 사항과 함정

상황추천 경로
Apache가 직접 노출된 Ubuntu 기반 ownCloud Classic 10.16ownCloud 호스트 이름에는 Certbot의 Apache 설치 프로그램을 사용하십시오.
Docker에서 ownCloud Classic 11 실행컨테이너 앞의 웹 프록시에 HTTPS를 구성하십시오.
호스팅 패널에서 이미 인증서를 관리하고 있습니다.패널의 Let's Encrypt 워크플로를 사용하고 갱신이 제대로 되는지 확인하십시오.
포트 80으로 웹 서버에 연결할 수 없거나 와일드카드가 필요합니다.적절한 갱신 방법을 사용하여 DNS-01을 사용하십시오.
Apache에는 여러 개의 VirtualHost가 있습니다.Certbot이 ServerName이 인증서 호스트 이름과 일치하는 VirtualHost를 선택했는지 확인하십시오.

모든 관련 서브도메인이 HTTPS를 통해 올바르게 제공될 때까지 HSTS를 활성화하지 마십시오 includeSubDomains. 호스트 이름의 헤더가 브라우저가 해당 서브도메인을 처리하는 방식에 영향을 미칠 수 있습니다. 먼저 인증서, 리디렉션 및 갱신을 안정적으로 설정하십시오. 그런 다음 전체 도메인 구성에 적합한 HSTS 및 기타 TLS 설정에 대한 ownCloud의 보안 강화 지침을 검토하십시오.

본 문서는 2026년 10월 6일에 확인되었습니다. 아래의 정확한 파일 경로와 명령어는 Apache 및 ownCloud Classic 10.16이 설치된 Ubuntu 환경을 기준으로 작성되었습니다. Docker, 리버스 프록시, 호스팅 패널, Nginx 및 Ubuntu 이외의 배포 환경에서는 해당 환경의 실제 TLS 엔드포인트에 대한 지침을 별도로 확인해야 합니다.

참고 자료: ownCloud 10.16: Let's Encrypt를 사용한 Apache 구성 ; ownCloud 11: HTTPS 및 역방향 프록시 안내 ; ownCloud 10.16: 신뢰할 수 있는 도메인 ; Certbot: Apache 설치 및 갱신 ; Let's Encrypt: 인증 유형 ; Let's Encrypt: 80번 포트를 열어 두기 .

댓글 남기기

Let's Encrypt를 사용하여 ownCloud 서버에 SSL/HTTPS를 설정하는 방법

Let's Encrypt를 사용하여 ownCloud 서버에 SSL/HTTPS를 설정하는 방법

Apache에서 실행되는 ownCloud 서버에 Let's Encrypt HTTPS를 설정합니다. DNS 및 포트를 확인하고, Certbot을 사용하여 인증서를 발급하고, 리디렉션을 활성화하고, 갱신을 테스트합니다.

버전 업그레이드 후 ownCloud "무결성 검사 실패" 오류 해결 방법

버전 업그레이드 후 ownCloud "무결성 검사 실패" 오류 해결 방법

업그레이드 후 ownCloud 무결성 경고를 진단하고 코어 파일 불일치, 파일 누락, 추가 파일 또는 앱 서명 오류에 대한 안전한 해결 방법을 선택하세요.

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버에서 공개 링크 만료일을 제한하는 방법

ownCloud 서버 공개 링크의 최대 만료일을 설정하고, 해당 만료일이 영향을 미치는 공유 폴더를 파악하고, 오래된 링크를 간과하지 않고 정책을 검증하세요.

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화 구성 방법 및 작동 여부 확인

Zimbra GAL 자동 동기화를 구성하고, 폴링 간격을 설정하고, 테스트 동기화를 강제로 실행하고, 타임스탬프를 확인하고, 오래된 내부 또는 외부 LDAP 연락처 문제를 해결합니다.

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에서 LDAP 인증을 구성하는 방법

ownCloud Infinite Scale에 대한 LDAP 기반 로그인을 구성하고, 사용자 및 그룹을 매핑하고, 내장 또는 외부 OIDC를 선택하고, 자격 증명을 보호하고, 안전하게 인증을 확인할 수 있습니다.

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

ownCloud 10 Classic에서 ownCloud Infinite Scale로 마이그레이션하는 방법

지원되는 migrate-to-ocis 앱을 사용하여 ownCloud Classic 10에서 Infinite Scale로의 마이그레이션을 계획하세요. 전송되는 데이터와 전송되지 않는 데이터, LDAP 필수 조건, 명령어 및 전환 점검 사항에 대해 알아보세요.

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 SpamAssassin 사용자 지정 규칙을 안전하게 설정하는 방법

Zimbra에서 사용자 지정 SpamAssassin 규칙을 로드하는 위치, .cf 규칙을 작성하고 유효성을 검사하는 방법, Amavis를 재시작하는 방법, 메시지 헤더를 테스트하는 방법, 그리고 안전하게 롤백하는 방법을 알아보세요.

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

Zimbra CE에서 개별 사서함을 백업하고 복원하는 방법

zmmailbox를 사용하여 개별 Zimbra CE 사서함을 백업하고 복원할 수 있습니다. 메타데이터가 포함된 ZIP 아카이브를 내보내고, 유효성을 검사하고, 스테이징 계정에서 안전하게 복구를 테스트할 수 있습니다.

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud oCIS에서 사용자별 스토리지 할당량을 구성하는 방법

ownCloud Infinite Scale 사용자의 개인 공간 할당량을 설정하는 방법, 이를 프로젝트 공간 및 전역 제한과 구분하는 방법, 그리고 역할별로 신규 사용자에게 기본값을 할당하는 방법을 알아보세요.

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제 해결: 실용적인 진단 가이드

BigBlueButton FreeSWITCH SIP 등록 시간 초과 문제를 진단하려면 서비스 상태, SIP 및 ESL 리스너, NAT 주소, 방화벽 규칙 및 로그를 확인하십시오.