Поиск по сайту:

Как установить веб-сервер Caddy на Debian 11


На этой странице

  1. Предпосылки
  2. Установите Caddy в Debian 11
  3. Управление службой Caddy
  4. Включить поддержку PHP в Caddy
  5. Создать файл конфигурации виртуального хоста Caddy
  6. Доступ к веб-сайту Caddy
  7. Заключение

Caddy — это бесплатный современный веб-сервер с открытым исходным кодом, написанный на языке GO. Это легкий и коммерчески поддерживаемый веб-сервер, который поддерживает протоколы HTTP/2 и экспериментальные протоколы HTTP/3. Он может работать где угодно без внешних зависимостей и расширяется с помощью плагинов. Он разработан с учетом требований безопасности и предоставляет ряд функций, полезных для размещения веб-сайтов.

В этом руководстве я объясню, как установить веб-сервер Caddy на Debian 11.

Предпосылки

  • Сервер под управлением Debian 11.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Установите Caddy на Debian 11

По умолчанию пакет Caddy не включен в стандартный репозиторий Debian 11. Поэтому вам нужно будет добавить репозиторий 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' | apt-key add -

Затем добавьте репозиторий Caddy в APT с помощью следующей команды:

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 проверьте версию Caddy с помощью следующей команды:

caddy version

Вы получите следующий вывод:

v2.4.5 h1:P1mRs6V2cMcagSPn+NWpD+OEYUYLIf6ecOa48cFGeUg=

Чтобы разрешить двоичному файлу caddy подключаться к привилегированным портам, таким как 80 и 443, выполните следующую команду:

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

Управление Caddy Service

Вы можете управлять сервисом Caddy с помощью файла systemd.

Чтобы запустить службу Caddy, выполните следующую команду:

systemctl start caddy

Чтобы остановить службу Caddy, выполните следующую команду:

systemctl stop caddy

Чтобы служба Caddy запускалась при перезагрузке системы, выполните следующую команду:

systemctl enable caddy

Чтобы проверить состояние службы Caddy, выполните следующую команду:

systemctl status caddy

Вы получите следующий вывод:

? caddy.service - Caddy
     Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-10-16 14:34:44 UTC; 2min 30s ago
       Docs: https://caddyserver.com/docs/
   Main PID: 2370 (caddy)
      Tasks: 7 (limit: 2341)
     Memory: 17.5M
        CPU: 30ms
     CGroup: /system.slice/caddy.service
             ??2370 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Oct 16 14:34:44 debian11 caddy[2370]: JOURNAL_STREAM=8:16308
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.658216,"msg":"using provided configuration","config_file":"/etc/caddy/Ca>
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6623824,"logger":"admin","msg":"admin endpoint started","address":"tcp/l>
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6626618,"logger":"http","msg":"server is listening only on the HTTP port>
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.663054,"msg":"autosaved config (load with --resume flag)","file":"/var/l>
Oct 16 14:34:44 debian11 systemd[1]: Started Caddy.
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6655433,"msg":"serving initial configuration"}
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6656897,"logger":"tls","msg":"cleaning storage unit","description":"File>
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6657932,"logger":"tls","msg":"finished cleaning storage units"}
Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6694443,"logger":"tls.cache.maintenance","msg":"started background certi>

Включить поддержку PHP в Caddy

Сначала установите PHP и другие необходимые расширения, используя следующую команду:

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

После установки PHP отредактируйте файл конфигурации PHP-FPM и измените пользователя и группу по умолчанию с помощью caddy:

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

Найдите и замените имя пользователя и группы с www-data на caddy:

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

Сохраните и закройте файл, затем перезапустите службу PHP-FPM, чтобы применить изменения:

systemctl restart php7.4-fpm

Создать файл конфигурации виртуального хоста Caddy

Файл конфигурации виртуального хоста 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/php7.4-fpm.sock
}

Сохраните и закройте файл, затем перезапустите службу Caddy, чтобы применить изменения:

systemctl restart caddy

Затем создайте образец PHP-файла для Caddy, используя следующую команду:

nano /usr/share/caddy/info.php

Добавьте следующие строки:

<?php

phpinfo();
?>

Сохраните и закройте файл, когда закончите.

Доступ к веб-сайту Кэдди

Теперь откройте веб-браузер и зайдите на веб-сайт Caddy, используя URL-адрес http://caddy.example.com/info.php. Вы должны увидеть страницу PHP на следующем экране:

Заключение

Поздравляем! вы успешно установили веб-сервер Caddy на Debian 11. Теперь вы можете создать свой собственный веб-сайт с помощью веб-сервера Caddy. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.