logo

nixscript

Keep it simple, stupid !

Ссылка на статью в формате 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.

Вверх 🡑