Linux에서 나만의 캐디 웹서버를 만드는 방법

Linux에서 나만의 캐디 웹서버를 만드는 방법
녹색 백라이트가 있는 테이블 위에 컴퓨터 모니터가 있는 사진.

Caddy는 현대적이고 사용하기 쉬운 Linux용 웹 서버입니다. 사이트 구성 파일 및 SSL 인증서 생성 프로세스를 간소화하여 작동합니다. 이 문서에서는 Ubuntu Linux 서버에 Caddy를 설치하는 과정을 안내합니다. 또한 Caddy를 사용하여 간단한 웹 페이지와 SSL 역방향 프록시를 배포하는 방법도 보여줍니다.

Caddy를 웹서버로 사용하는 이유는 무엇입니까?

NginxApache 는 강력한 웹 서버 데몬 이지만 신규 사용자에게는 다루기 힘들고 복잡할 수 있습니다. Caddy는 초보자도 쉽게 배울 수 있는 간단한 구문을 갖춘 단일 플랫 파일인 “Caddyfile”을 제공하여 이러한 복잡성을 줄였습니다.

Caddyfile 예시를 보여주는 터미널입니다.

Caddy의 또 다른 판매 포인트는 바로 웹 서버에 HTTPS를 제공한다는 것입니다. 이는 웹사이트에 SSL을 설정하는 것이 어렵고 복잡하다고 생각하는 사용자에게 편리합니다. 따라서 Caddy는 유지 관리와 사용이 모두 쉬운 Linux에서 “간단한” 웹 서버를 찾고 있는 경우에 적합합니다.

캐디 설치

Ubuntu Linux에 Caddy를 설치하는 첫 번째 단계는 저장소 키와 정보를 가져올 수 있는 도구가 있는지 확인하는 것입니다.

개발자 웹사이트에서 Caddy용 저장소 서명 키를 가져옵니다.

Caddy 프로젝트의 저장소 파일을 다운로드하여 컴퓨터의 “sources.list.d” 디렉터리에 저장합니다.

다음을 실행하여 시스템의 적절한 저장소를 다시 로드하십시오.

다음을 사용하여 시스템에 Caddy 패키지를 설치하십시오 apt install.

첫 번째 캐디 웹사이트 운영

첫 번째 웹사이트를 실행하려면 홈 디렉터리에 사이트의 루트 폴더를 만드세요.

선호하는 텍스트 편집기를 사용하여 index.html 파일을 만듭니다.

새 HTML 파일 안에 다음 코드 블록을 붙여넣습니다.

index.html 파일을 저장한 후 다음 명령을 실행합니다.

브라우저를 사용하여 웹서버를 탐색하여 웹서버가 제대로 작동하는지 확인하세요.

localhost:8080에서 실행되는 샘플 웹사이트를 보여주는 스크린샷.

Caddyfile을 사용하여 웹사이트 만들기

CLI 도구는 간단한 웹페이지를 제공하는 데 적합하지만 Caddy는 보다 복잡한 설정을 위해 사용하기 쉬운 “Caddyfile”도 제공합니다. 시작하려면 즐겨 사용하는 텍스트 편집기를 사용하여 “/etc/caddy” 아래에 새 Caddyfile을 만듭니다.

새 Caddyfile 안에 다음 코드 블록을 붙여넣습니다.

index.html 파일을 홈 디렉터리에서 시스템의 “/var/www”로 복사합니다.

DNS 등록 기관으로 이동하여 루트 및 www 하위 도메인에 컴퓨터의 IPv4 및 IPv6 주소를 가리키는 A 또는 AAAA 레코드가 있는지 확인하세요.

머신의 IP 주소를 가리키는 두 개의 A 레코드를 보여주는 스크린샷.

컴퓨터에 내장된 Caddy 서비스를 활성화합니다:

도메인 이름으로 이동하여 웹사이트가 제대로 작동하는지 확인하세요.

외부 도메인 이름으로 작업하는 샘플 웹사이트를 보여주는 스크린샷.

Caddy를 사용하여 SSL 역방향 프록시 만들기

Nginx 및 Apache와 마찬가지로 Caddy를 시스템의 내부 서비스에 대한 역방향 프록시 로 사용할 수도 있습니다. 이렇게 하려면 시스템의 Caddyfile을 엽니다.

Caddyfile 안에 다음 코드 블록을 붙여넣습니다.

“LOCAL-PORT”를 웹 애플리케이션의 포트로 바꾸십시오. 제 경우에는 들어오는 모든 트래픽을 Uptime Kuma 서버 로 리디렉션하기 위해 3001로 교체하겠습니다 .

수정된 Caddy 역방향 프록시 구성을 보여주는 터미널입니다.

Caddyfile을 저장한 다음 Caddy 서비스를 다시 로드하여 새 설정을 적용합니다.

웹 브라우저를 사용하여 도메인으로 이동하여 역방향 프록시가 제대로 작동하는지 테스트하십시오.

Caddy를 통해 프록시되는 Uptime Kuma 인스턴스를 보여주는 스크린샷.

Caddy를 사용하여 여러 웹사이트 및 서비스 배포

동일한 Caddyfile을 사용하여 동일한 호스트에서 웹사이트와 프록시를 모두 제공할 수도 있습니다. 이를 통해 웹서버의 구성 디렉토리를 복잡하게 만들지 않고도 여러 다른 서비스를 쉽게 관리할 수 있습니다.

시작하려면 Caddy의 다운로드 페이지 로 이동한 다음 검색 창에 “caddy-dns”를 입력하세요.

Caddy 다운로드 페이지의 caddy-dns 검색 상자를 강조 표시하는 스크린샷.

도메인 이름을 관리하는 DNS 공급자를 찾으세요. 제 경우에는 DigitalOcean 을 사용하고 있습니다 .

DNS 공급자를 선택한 다음 페이지 오른쪽 상단에 있는 “다운로드”를 클릭하세요. 그러면 DNS 공급자에 적합한 모듈이 포함된 사용자 정의 Caddy 바이너리가 다운로드됩니다.

DigitalOcean용 caddy-dns 빌드를 선택한 후 다운로드 버튼을 강조 표시하는 스크린샷.

systemctl을 사용하여 Caddy 서비스를 중지합니다.

원본 Caddy 바이너리 파일의 백업을 만든 다음 사용자 정의 바이너리를 “/usr/bin/” 디렉터리에 복사합니다.

버전을 확인하여 사용자 정의 Caddy 바이너리가 제대로 작동하는지 테스트하세요.

와일드카드 도메인에 대해 캐디 SSL 활성화

선호하는 텍스트 편집기를 사용하여 시스템의 Caddyfile을 엽니다.

Caddyfile 안에 다음 코드 블록을 붙여넣습니다.

DNS 공급자로부터 API 키를 받으세요. DigitalOcean에서는 DigitalOcean 대시보드로 이동한 다음 페이지 왼쪽 사이드바에서 API를 클릭하여 이를 얻을 수 있습니다.

DigitalOcean 대시보드의 API 버튼을 강조하는 스크린샷.

새 토큰 생성을 클릭한 후 API 키에 대한 세부정보를 제공하세요.

자동화된 SSL 와일드카드 인증서에 대한 토큰 세부정보를 보여주는 스크린샷.

API 비밀을 복사한 다음 Caddyfile의 “API-KEY” 변수에 붙여넣습니다.

특정 설정에 맞게 Caddyfile을 사용자 정의한 다음 저장하세요.

수정된 다중 사이트 캐디 구성 파일을 보여주는 터미널.

도메인 이름에 도메인 및 하위 도메인에 대한 적절한 A 및 AAAA 레코드가 있는지 확인하세요.

비활성화된 Caddy 데몬을 다시 시작하여 새 설정을 적용합니다.

웹 브라우저에서 두 도메인을 모두 열어 “다중 서비스” 설정이 제대로 작동하는지 테스트하세요.

Caddy를 사용하여 SSL에서 실행되는 두 서비스를 보여주는 스크린샷.

Caddy를 사용하여 간단하고 안전한 웹 서비스를 배포하는 방법을 배우는 것은 Linux에서 놀라운 자체 호스팅 세계를 탐험하는 첫 번째 단계에 불과합니다. SimpleLogin을 사용하여 자신만의 이메일 별칭 서버를 만들어 이 세계에 대해 더 깊이 알아보세요 .

이미지 출처: Unsplash 및 Wikimedia Commons를 통한 Jonathan Ybema . 모든 변경 사항과 스크린샷은 Ramces Red가 작성했습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다