
Ссылка на статью в формате MarkDown для Curl, кодировка RU.UTF-8
Настройка веб-сервера Caddy с PHP на чистом Termux
Адрес статьи: nixscript.ru/caddy
Установка
pkg install caddy php php-fpm
# Создаём директорию для сайта
mkdir ~/www
Настройка
Открываем файл /data/data/com.termux/files/usr/etc/php-fpm.d и комментируем строку listen и под ней пишем свою строку
;listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock
listen = 127.0.0.1:9000
Это заставит php-fpm работать не через файл сокета, который нам не даст андроид создать, а через порт 9000, который андроид легко разрешает использовать.
Далее, создаём файл ~/.caddy/Caddyfile, в котором пишем следующее
127.0.0.1 { #имя домена
root /data/data/com.termux/files/home/www
index index.php
fastcgi / 127.0.0.1:9000 php {
root /data/data/com.termux/files/home/www
}
}
Это заставляет caddy слушать адрес 127.0.0.1.
Теперь создаём в директории ~/www/ файл index.php и пишем
<?php
echo "<h2>Это выдал PHP</h2>";
?>
<h2>А это выдал чистый HTML</h2>
запускаем всё хозяйство
php-fpm
caddy -conf ~/.caddy/Caddyfile
PHP-FPM ругнётся на то, что user и group в игноре, потому что запускает не root, но работать будет исправно.
А Caddy ругнётся на размер дескриптора файла, но работать будет. И запустится на порту 2015 по-умолчанию.
Теперь открываем браузер и пишем адрес http://127.0.0.1:2015
На странице должны быь две сроки от PHP и HTML. Если это не так
- читайте эту статью сначала и проверяйте, что вы упустили.
Ну и в завершение, чтобы веб-сервер стартовал при запуске Termux, в файле .bashrc (если его нет - создаём) пишем следующее
if ! pgrep php-fpm
then
php-fpm
fi
if pgrep php-fpm
then
caddy -conf ~/.caddy/Caddyfile
fi
На этом всё.
Автор: Grigruss 04.05.2019
Статья написана в формате MarkDown и сконвертирована в HTML с помощью скрипта Parsedown.