웹사이트 검색

Ubuntu 22.04에서 PHP 8.1로 캐디 웹 서버를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 16.04(Xenial Xerus)

이 페이지에서

  1. 전제 조건
  2. 캐디 웹 서버 설치
  3. 캐디 서비스 시작 및 중지 방법
  4. 캐디에서 PHP 지원 활성화\n
  5. 캐디 가상 호스트 구성 파일 만들기\n
  6. 캐디 PHP 지원 확인\n
  7. 결론

Caddy는 GO 언어로 구축된 최신 웹 서버입니다. 간단하고 사용자 친화적이며 가볍고 상업적으로 지원되는 웹 서버입니다. HTTP/2 및 실험적인 HTTP/3 프로토콜을 지원하고 외부 종속성 없이 어디에서나 실행됩니다. 플러그인을 통해 확장할 수 있습니다. 캐디는 기본적으로 HTTPS를 자동으로 사용하는 유일한 웹 서버입니다. Caddy는 사이트에 대한 TLS 인증서를 자동으로 획득하고 갱신합니다. 보안을 염두에 두고 설계되었으며 웹사이트 호스팅에 유용한 여러 기능을 제공합니다.

이번 포스팅에서는 우분투 22.04에 캐디 웹서버를 설치하는 방법에 대해 설명드리겠습니다.

전제 조건

  • Ubuntu 22.04를 실행하는 서버.\n
  • 유효한 도메인 이름은 서버 IP를 가리킵니다.\n
  • 루트 암호는 서버에서 구성됩니다.\n

캐디 웹 서버 설치

기본적으로 Caddy 패키지는 Ubuntu 22.04 기본 리포지토리에 포함되어 있지 않습니다. 따라서 시스템에 Caddy 리포지토리를 추가해야 합니다.

먼저 다음 명령을 사용하여 필요한 모든 종속 항목을 설치합니다.

apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https

그런 다음 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

다음으로 다음 명령을 사용하여 APT에 Caddy 리포지토리를 추가합니다.

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list

다음으로 다음 명령을 실행하여 리포지토리를 업데이트하고 Caddy 웹 서버를 설치합니다.

apt-get update
apt-get install caddy -y

캐디가 설치되면 다음 명령을 사용하여 캐디 버전을 확인할 수 있습니다.

caddy version

다음과 같은 결과가 표시됩니다.

v2.6.2 h1:wKoFIxpmOJLGl3QXoo6PNbYvGW4xLEgo32GPBEjWL8o=

다음으로 캐디 바이너리가 80 및 443과 같은 권한 있는 포트에 연결할 수 있도록 일부 권한을 설정해야 합니다. 다음 명령을 사용하여 설정할 수 있습니다.

setcap 'cap_net_bind_service=+ep' /usr/bin/caddy

이제 웹 브라우저를 열고 URL http://your-server-ip를 사용하여 Caddy 기본 페이지에 액세스하십시오. 다음 페이지가 표시됩니다.

캐디 서비스 시작 및 중지 방법

systemd를 통해 캐디 서비스를 관리할 수 있습니다. systemctl 명령을 사용하여 쉽게 시작하고 중지할 수 있습니다.

캐디 서비스를 시작하려면 다음 명령을 실행하십시오.

systemctl start caddy

캐디 서비스를 중지하려면 다음 명령을 실행하십시오.

systemctl stop caddy

시스템 재부팅 시 캐디 서비스가 시작되도록 하려면 다음 명령을 실행하십시오.

systemctl enable caddy

캐디 서비스의 상태를 확인하려면 다음 명령을 실행하십시오.

systemctl status caddy

다음과 같은 결과가 표시됩니다.

? caddy.service - Caddy
     Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-11-20 11:03:31 UTC; 42s ago
       Docs: https://caddyserver.com/docs/
   Main PID: 2356 (caddy)
      Tasks: 8 (limit: 2242)
     Memory: 7.8M
        CPU: 31ms
     CGroup: /system.slice/caddy.service
             ??2356 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4061167,"msg":"using provided configuration","config_file":"/etc/cadd>
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4079537,"logger":"admin","msg":"admin endpoint started","address":"lo>
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"warn","ts":1668942211.4082074,"logger":"http","msg":"server is listening only on the HTTP p>
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4085367,"logger":"http.log","msg":"server running","name":"srv0","pro>
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4088042,"msg":"autosaved config (load with --resume flag)","file":"/v>
Nov 20 11:03:31 ubuntu2204 systemd[1]: Started Caddy.
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.419063,"logger":"tls.cache.maintenance","msg":"started background cer>
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4192455,"logger":"tls","msg":"cleaning storage unit","description":"F>
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.419398,"logger":"tls","msg":"finished cleaning storage units"}
Nov 20 11:03:31 ubuntu2204 caddy[2356]: {"level":"info","ts":1668942211.4197013,"msg":"serving initial configuration"}

캐디에서 PHP 지원 활성화

먼저 다음 명령을 사용하여 PHP 및 기타 필요한 확장을 설치합니다.

apt-get install php-fpm php-mysql php-curl php-gd php-mbstring php-common php-xml php-xmlrpc -y

PHP를 설치한 후 PHP-FPM 구성 파일을 편집하고 캐디를 사용하여 기본 사용자 및 그룹을 변경합니다.

nano /etc/php/8.1/fpm/pool.d/www.conf

www-data에서 caddy로 사용자 및 그룹 이름을 찾아 바꿉니다.

user = caddy
group = caddy
listen.owner = caddy
listen.group = caddy

파일을 저장하고 닫은 다음 PHP-FPM 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart php8.1-fpm

캐디 가상 호스트 구성 파일 생성

Caddy 기본 가상 호스트 구성 파일은 /etc/caddy/Caddyfile에 있습니다.

다음 명령을 사용하여 /etc/caddy/Caddyfile 파일을 편집합니다.

nano /etc/caddy/Caddyfile

모든 행을 제거하고 다음 행을 추가하십시오.

caddy.example.com:80 {
    root * /usr/share/caddy/
    encode gzip zstd
    php_fastcgi unix//run/php/php8.1-fpm.sock
}

파일을 저장하고 닫은 다음 Caddy 서비스를 다시 시작하여 변경 사항을 적용합니다.

systemctl restart caddy

다음으로 다음 명령을 사용하여 Caddy용 샘플 PHP 파일을 만듭니다.

nano /usr/share/caddy/info.php

다음 줄을 추가합니다.

<?php

phpinfo();
?>

완료되면 파일을 저장하고 닫습니다.

캐디 PHP 지원 확인

이제 웹 브라우저를 열고 URL http://caddy.example.com/info.php를 사용하여 Caddy 웹 사이트에 액세스하십시오. 다음 화면에 PHP 페이지가 표시되어야 합니다.

결론

이번 포스팅에서는 우분투 22.04에서 캐디 웹서버를 설치하고 설정하는 방법에 대해 설명드렸습니다. 이제 Caddy 웹 서버를 사용하여 자신의 웹사이트를 만들고 호스팅할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.