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

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


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

  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 16.04 (Xenial Xerus)

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

  1. Предпосылки
  2. Что мы будем делать
  3. Шаг 1. Установите веб-сервер Caddy.
  4. Шаг 2. Базовая настройка веб-сервера Caddy
  5. Шаг 3. Запуск Caddy как службы в Systemd Ubuntu 16.04
  6. Шаг 4. Установите PHP и PHP-FPM 7.0
  7. Шаг 5. Настройте веб-сервер Caddy с помощью PHP-FPM.
  8. Шаг 6. Тестирование
  9. Справочник

Веб-сервер Caddy или Caddy — это веб-сервер с открытым исходным кодом, поддерживающий HTTP/2, написанный на Go. Caddy может работать на различных системах, в том числе на операционных системах Linux, Windows, Mac OS, Android и BSD. Caddy имеет множество функций и может быть установлен как веб-сервер и как обратный прокси-сервер для вашего приложения. Наиболее заметными функциями веб-сервера Caddy являются автоматическое включение HTTPS по умолчанию без дополнительной настройки.

В этом руководстве я пошагово покажу вам, как установить и настроить веб-сервер Caddy с PHP-FPM 7.x в Ubuntu 16.04. Мы установим Caddy в локальной среде, а затем настроим PHP-FPM для приложений на основе PHP.

Предпосылки

  • Сервер Ubuntu 16.04
  • Привилегии root

Что мы будем делать

  1. Установите веб-сервер Caddy
  2. Настройка веб-сервера Caddy
  3. Запуск Caddy как службы в Systemd Ubuntu 16.04
  4. Установите PHP и PHP-FPM 7.0.
  5. Настройка веб-сервера Caddy с помощью PHP-FPM
  6. Тестирование

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

На этом этапе мы установим веб-сервер Caddy с помощью скрипта установки. Скрипт автоматически загрузит двоичный файл и извлечет его в каталог bin.

Скачайте скрипт установщика и сделайте его исполняемым.

wget https://getcaddy.com -O getcaddy
chmod +x getcaddy

Теперь запустите скрипт установки с помощью sudo.

sudo ./getcaddy personal http.ipfilter,http.ratelimit

Примечание:

  • getcaddy=скрипт установки caddy.
  • личная=лицензия для нашей установки.
  • http.ipfileter ...=включить установку подключаемых модулей caddy.

Дождитесь установки веб-сервера caddy, и вы получите результат, как показано ниже.

Веб-сервер Caddy был установлен на Ubuntu 16.04.

Шаг 2 - Базовая конфигурация веб-сервера Caddy

На этом этапе мы настроим веб-сервер Caddy. Мы создадим нового пользователя с именем caddy, создадим новый каталог для файла конфигурации caddy, новый каталог для файлов журнала caddy и новый каталог для корневого веб-каталога caddy.

Создайте нового пользователя caddy, используя параметр /bin/false, как показано ниже.

useradd -M -s /bin/false caddy

Теперь выполните следующие команды mkdir, чтобы создать каталог caddy.

mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html

И измените право собственности на пользователя caddy.

chown -R caddy:root /etc/caddy /var/log/caddy

Далее мы создадим новый файл конфигурации caddy с именем Caddyfile. Перейдите в каталог /etc/caddy и создайте конфигурацию с помощью команды vim.

cd /etc/caddy/
vim Caddyfile

Вставьте туда базовую конфигурацию кэдди.

http://hakase-labs.co {
    root /var/www/html
    log /var/log/caddy/hakase-labs.log
    tls off
    gzip
}

Сохранить и выйти.

Примечание:

  • tls off=Caddy работал на локальном сервере. Если вы работаете на активном сервере, включите этот параметр.

Базовая настройка веб-сервера Caddy завершена.

Шаг 3. Запуск Caddy как службы в Systemd Ubuntu 16.04

На этом этапе мы запустим веб-сервер caddy как службу в системе systemd и создадим файл index.html для нашего веб-сервера caddy.

Создайте новый файл службы с именем caddy.service, используя vim.

vim /etc/systemd/system/caddy.service

Вставьте туда следующую конфигурацию.

[Unit]
Description=Caddy HTTP/2 web server

[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64

[Install]
WantedBy=multi-user.target

Сохранить и выйти.

Теперь перезагрузите систему systemd и запустите службу caddy с помощью команды systemctl, как показано ниже.

systemctl daemon-reload
systemctl start caddy

Включите его для запуска каждый раз при загрузке системы.

systemctl enable caddy

Веб-сервер Caddy теперь работает как служба в Ubuntu 16.04.

Далее мы создадим новый файл index.html в корневом веб-каталоге /var/www/html.

Перейдите в этот каталог и создайте файл index.html, используя приведенные ниже команды.

cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html

Теперь измените владельца файла на пользователя и группу caddy.

chown -R caddy:caddy /var/www/html

Файл index.html создан. Откройте веб-браузер и введите адрес доменного имени, который вы ввели в конфигурации Caddyfile, мой:

http://hakase-labs.co/

И вы получите индексную страницу, которую мы создали.

Шаг 4 — Установите PHP и PHP-FPM 7.0

На этом этапе мы установим пакеты PHP-FPM из репозитория Ubuntu.

Запустите команду apt ниже.

sudo apt install -y php7.0-fpm php7.0-cli curl

После завершения установки мы настроим файл конфигурации для PHP-FPM.

Перейдите в каталог /etc/php/7.0/fpm и отредактируйте файл конфигурации пула wwwconf с помощью vim.

cd /etc/php/7.0/fpm
vim pool.d/www.conf

Раскомментируйте строки ниже.

listen.owner = www-data
listen.group = www-data
listen.mode = 0660

Сохранить и выйти.

Теперь добавьте пользователя caddy в группу www-data.

usermod -a -G www-data caddy

Запустите службу PHP-FPM и включите ее запуск каждый раз при загрузке системы.

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

Установка и настройка PHP-FPM для нашего веб-сервера Caddy завершена.

Проверьте процесс файла сокета PHP-FPM, используя приведенную ниже команду netstat.

netstat -pl | grep php

Шаг 5. Настройте веб-сервер Caddy с помощью PHP-FPM.

После установки и настройки PHP-FPM мы добавим поддержку PHP-FPM на веб-сервер Caddy.

Перейдите в каталог конфигурации /etc/caddy и отредактируйте файл конфигурации Caddyfile с помощью vim.

cd /etc/caddy
vim Caddyfile

Теперь добавьте следующую конфигурацию PHP-FPM для caddy в скобку вашего доменного имени, как показано ниже.

http://hakase-labs.co {
    root /var/www/html
    log /var/log/caddy/hakase-labs.log
    errors /var/log/caddy/errors.log
    tls off
    gzip

    # PHP-FPM Configuration for Caddy
    fastcgi / /run/php/php7.0-fpm.sock php {
        ext .php
        split .php
        index index.php
    }
}

Сохранить и выйти.

Перезапустите веб-сервер caddy и службу PHP-FPM.

systemctl restart caddy
systemctl restart php7.0-fpm

Настройка веб-сервера Caddy с PHP-FPM завершена.

Шаг 6 — Тестирование

Перейдите в корневой веб-каталог /var/ww/html и создайте файл phpinfo info.php.

cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php

Откройте веб-браузер и введите URL-адрес установки веб-сервера Caddy, как показано ниже.

http://hakase-labs.co/info.php

И вы получите информационную страницу PHP, как показано ниже.

Установка веб-сервера Caddy с PHP-FPM на Ubuntu 16.04 успешно завершена.

Ссылка

  • https://caddyserver.com/docs/fastcgi