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

Как установить веб-сервер Caddy с PHP 8.1 на Ubuntu 22.04


Это руководство существует для этих версий ОС

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

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

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

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

В этом посте мы объясним, как установить веб-сервер Caddy на Ubuntu 22.04.

Предпосылки

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

Установите веб-сервер Caddy

По умолчанию пакет 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

Затем добавьте репозиторий 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.6.2 h1:wKoFIxpmOJLGl3QXoo6PNbYvGW4xLEgo32GPBEjWL8o=

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

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

Теперь откройте веб-браузер и перейдите на страницу Caddy по умолчанию, используя URL-адрес http://your-server-ip. Вы должны увидеть следующую страницу:

Как запустить и остановить службу Caddy

Вы можете управлять сервисом Caddy через файл systemd. Вы можете легко запускать и останавливать его с помощью команды systemctl.

Чтобы запустить службу 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 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 в 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/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

Файл конфигурации виртуального хоста 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

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

nano /usr/share/caddy/info.php

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

<?php

phpinfo();
?>

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

Проверьте поддержку Caddy PHP

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

Заключение

В этом посте мы объяснили, как установить и настроить веб-сервер Caddy в Ubuntu 22.04. Теперь вы можете приступить к созданию и размещению собственного веб-сайта с помощью веб-сервера Caddy. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.