Как установить веб-сервер Caddy с PHP-FPM на Ubuntu 16.04
Это руководство существует для этих версий ОС
- Ubuntu 18.04 (Bionic Beaver)
- Ubuntu 16.04 (Xenial Xerus)
На этой странице
- Предпосылки
- Что мы будем делать
- Шаг 1. Установите веб-сервер Caddy.
- Шаг 2. Базовая настройка веб-сервера Caddy
- Шаг 3. Запуск Caddy как службы в Systemd Ubuntu 16.04
- Шаг 4. Установите PHP и PHP-FPM 7.0
- Шаг 5. Настройте веб-сервер Caddy с помощью PHP-FPM.
- Шаг 6. Тестирование
- Справочник
Веб-сервер 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
Что мы будем делать
- Установите веб-сервер Caddy
- Настройка веб-сервера Caddy
- Запуск Caddy как службы в Systemd Ubuntu 16.04
- Установите PHP и PHP-FPM 7.0.
- Настройка веб-сервера Caddy с помощью PHP-FPM
- Тестирование
Шаг 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