Linux에 Caddy 웹 서버를 설치하는 방법

요즘 HTTPS는 웹사이트를 호스팅할 때 핵심입니다. 이것이 없으면 사용자가 웹사이트에서 전 세계로 매우 개인적인 데이터를 유출할 수 있습니다. 이 문제를 해결하기 위해 많은 Linux 웹마스터가 LetsEncrypt 도구를 사용하여 인증서를 매우 쉽게 생성할 수 있습니다. 그래도 LetsEncrpyt가 쉬운 것처럼 Nginx 또는 Linux의 Apache에서 활성화하는 것은 여전히 ​​번거로운 작업일 수 있습니다. 다행히 더 좋은 방법이 있습니다. 캐디 웹서버를 소개합니다. HTTPS가 기본적으로 활성화되어 있는 웹 서버입니다. SSL 인증서로 번거롭게 하는 것이 지겹다면 Caddy가 필요할 것입니다.

캐디 설치

Caddy 웹 서버 설치는 사용 중인 서버 운영 체제에 관계없이 거의 동일하게 작동합니다. Caddy가 설치하기 쉬운 이유는 개발자가 소프트웨어 설치를 위해 타사 소프트웨어 저장소를 추가하거나 바이너리를 통해 설치하는 대신 다운로드 가능한 Bash 스크립트를 사용하기로 선택했기 때문입니다.

이 튜토리얼에서는 Ubuntu Server를 사용할 것이지만 Caddy 웹 서버를 실행하면 대부분의 다른 Linux OS, 심지어 데스크탑에서도 잘 작동합니다. 시작하려면 Linux PC에 Curl 앱이 있는지 확인하십시오. 그렇지 않은 경우 터미널을 열고 패키지 관리자에서 “curl”을 검색하고 설치하십시오.

참고: 터미널에서 curl을 실행하여 이미 curl이 있는지 확인하십시오. 프로그램에 대한 “도움말” 대화 상자가 나타나면 Linux 시스템에 Curl이 있는 것입니다.

curl https://getcaddy.com | bash -s personal

Caddy 웹 서버는 개인 용도로 무료로 사용할 수 있지만 반드시 지정해야 합니다. 기업 환경에서 Caddy를 사용할 계획입니까? 다음을 사용하여 설치 명령을 실행합니다.

curl https://getcaddy.com | bash -s commercial

Curl을 실행하면 Bash를 통해 파이프되고 자동으로 설치 프로세스가 시작됩니다. Caddy 설치 프로그램은 웹 서버 바이너리를 다운로드하여 /usr/local/bin/ 디렉토리에 저장하는 데 시간이 걸립니다. 설치가 성공하면 “성공적으로 설치되었습니다”라는 메시지가 표시됩니다.

이 시점에서 Caddy 바이너리를 수정해야 합니다. 터미널에서 sudo 권한으로 다음 명령을 실행합니다.

sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy

캐디 구성

캐디가 서버에 설치됩니다. 프로세스의 다음 단계는 디렉토리 구조를 구성하는 것입니다. 루트 터미널을 얻는 것으로 시작하십시오. 이렇게 하면 모든 명령에 대해 sudo를 입력하고 암호를 입력할 필요가 없으므로 파일 시스템의 폴더 수정이 훨씬 빨라집니다.

  iPhone 및 iPad용 메일 설정을 구성하는 방법

대부분의 시스템에서 사용자는 다음을 사용하여 루트 계정에 직접 로그인할 수 있습니다.

su

그러나 Ubuntu 서버에서는 보안상의 이유로 루트 계정이 잠겨 있습니다. 이 문제를 해결하려면 sudo로 루트 셸을 얻으십시오.

sudo -s

이제 루트 액세스 권한이 있으므로 Caddy 서버가 올바르게 작동하는 데 필요한 디렉터리를 생성합니다.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

참고: 서버에 이미 /var/www/ 디렉토리가 있는 경우 이 마지막 mkdir 명령을 건너뛰십시오.

mkdir /var/www

다음으로 /etc/caddy/ 안에 새 “Caddyfile”을 만듭니다.

touch /etc/caddy/Caddyfile

chmod 명령을 사용하여 /etc/ssl/ 내부의 Caddy 하위 폴더에 대한 권한을 업데이트합니다.

chmod 0770 /etc/ssl/caddy

마지막으로 /var/www/ 디렉토리를 검색합니다.

chown www-data: /var/www

캐디 시스템 파일

대부분의 서버, 특히 Ubuntu 서버는 systemd init 시스템을 많이 사용합니다. 그러나 웹 서버는 Bash 스크립트를 통해 설치되기 때문에 systemd 파일이 존재하지 않습니다. 대신 우리가 직접 만들어야 합니다. touch 명령을 사용하여 비어 있는 새 서비스 파일을 만드십시오.

touch /lib/systemd/system/caddy.service

새 caddy.service 파일을 열고 다음 코드를 붙여넣습니다.

[Unit]
설명=Caddy HTTP/2 웹 서버
문서=https://caddyserver.com/docs
After=network-online.target
원함=network-online.target

[Service]
재시작 = 실패 시
시작 제한 간격=86400
StartLimitBurst=5

사용자=www-data
그룹=www-data
; Letsencrypt에서 발급한 인증서가 이 디렉터리에 기록됩니다.
환경=CADDYPATH=/etc/ssl/caddy

ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

제한NOFILE=1048576
제한NPROC=64

PrivateTmp=참
PrivateDevices=true
프로텍트홈=true
ProtectSystem=전체
ReadWriteDirectories=/etc/ssl/caddy

; 다음 추가 보안 지시문은 systemd v229 이상에서만 작동합니다.
; 캐디가 얻을 수 있는 특권을 더욱 제한합니다. 당신이 원한다면 코멘트를 제거하십시오.
; 사용 중인 플러그인에 필요한 기능을 추가해야 할 수도 있습니다.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true

[Install]
WantedBy=다중 사용자.대상

caddy.service 파일에는 많은 코드가 있으므로 모든 것이 있는지 확인하기 위해 최선을 다하십시오. 확실하면 Ctrl + X 키보드 조합을 눌러 변경 사항을 저장합니다. Ctrl + X로 편집기를 종료합니다.

systemctl enable caddy.service

systemctl start caddy.service

systemd를 설정한 후에는 모든 준비가 완료되어야 합니다.

도메인 설정

Caddy는 다른 웹 서버와 마찬가지로 사용하기 전에 약간의 구성이 필요합니다. 도메인 폴더를 생성하여 시작합니다.

  불확실성을 계산하기 위해 Microsoft Excel을 얻는 방법

참고: “test-domain.org”의 이름을 도메인으로 변경해야 합니다.

mkdir -p /var/www/test-domain.org/

다음으로 앞서 만든 Caddyfile 파일을 수정합니다.

nano /etc/caddy/Caddyfile

새 도메인을 활성화하려면 다음 코드를 붙여넣으세요.

내 도메인.com {
루트 /var/www/test-domain.org
}

Caddy systemd 서비스를 다시 시작하여 변경 사항을 저장하십시오. 서비스 재시작이 완료되면 서버에서 Caddy를 사용할 준비가 된 것입니다.

systemctl restart caddy.service