Как запустить PHP-сервер на Android

от
PHP/MySQL    php, apache2, android

Или как разрабатывать сайты на PHP без компьютера © riseremi

В статье идет речь о полноценном Web-сервере, который можно очень быстро и гибко настроить под свои нужды. Такие вещи как Composer, .htaccess, php.ini будут работать.

Содержание

1 Termux
2 Рабочее место
3 Настройка Apache2

1 Termux

Начать разработку PHP- или Web-приложения легко.
Вам понадобится приложение Termux, скачать его можно из Play Store, а обсудить в топике форума
Запустите его и первым делом добавьте виртуальные функциональные кнопки (CTRL, ESC, стрелки) зажав кнопку громкости вверх и букву Q на клавиатуре.
Получится так:
приложение Termux с виртуальными кнопками

Установите текстовый редактор nano, сервер apache2, php и модуль Apache php-apache. Для потверждения может потребоваться ввести Y.
Для этого введите команду в Termux:
  1. pkg install nano apache2 php php-apache
И откройте доступ к памяти телефона через Termux:
  1. termux-setup-storage
А так же разрешите приложению работать с памятью телефона.

2 Рабочее место

Это папка в которой будут хранится логи, настройки и папка с сайтом.

Откройте память телефона, в Termux:
  1. cd ~/storage/shared
Создайте папку web - это будет корень всего, что связано с сервером. В корне создайте папки cfg - для настроек (php.ini например), log - для логов сервера и php, tmp - для временных файлов и root - файлы сайта.
  1. mkdir web web/cfg web/log web/tmp web/root
Можете назвать иначе.

Теперь через любой файлменеджер откройте папку web/root и создайте там index.php со следующим содержимым:
  1. <?php
  2.  
  3. phpinfo();
Для проверки достаточно, рабочее окружение создано.

Настройка Apache2

Узнайте полный путь к папке web через ее свойства и запомните его. Везде, где увидите по тексту статьи надпись {$WEB}, заменяйте ее на значение пути. Например, у меня он /storage/emulated/0/web

Откройте папку настроек apache2 в Termux, чтобы настроить сервер:
  1. cd ~
  2. cd ..
  3. cd usr/etc/apache2
и начните его редактировать:
  1. nano httpd.conf
Изменить необходимо следующие параметры:
  1. # порт сервера, можно свой
  2. Listen 8080
  3.  
  4. # раскоментируйте, чтобы можно было использовать Rewrite Engine
  5. LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  6.  
  7. # допишите, чтобы работал php
  8. LoadModule php7_module libexec/apache2/libphp7.so
  9. AddHandler application/x-httpd-php .php
  10. PhpIniDir "{$WEB}/cfg"
  11.  
  12. # имя сервера, оставьте лучше таким, 8080 - значение Listen
  13. SeverName localhost:8080
  14.  
  15. # корень сайта
  16. DocumentRoot "{$WEB}/root"
  17.  
  18. # параметры для корня
  19. <Directory "{$WEB}/root">
  20.     # измените только этот параметр внутри тега
  21.    AllowOverride All
  22. </Directory>
  23.  
  24. # файл index
  25. DirectoryIndex index.php
  26.  
  27. # где хранить лог ошибок Apache
  28. ErrorLog "{$WEB}/log/apache-error.log"
  29.  
  30. # где хранить лог запросов к серверу
  31. CustomLog "{$WEB}/log/apache-access.log" common
Чтобы сохранить в nano используйте CTRL+O, и чтобы закрыть - CTRL+X.

Подробнее о PhpIniDir. По этому пути модуль PHP будет искать php.ini, если вам нужно его изменить, то добавьте туда его. По умолчанию используются стандартные параметры.

Запускаем Apache2
  1. httpd -k start
Остановить вместо start пишите stop, а перезапустить - restart. Прошу заметить, что сервер будет работать пока работает Termux, если вы его полностью закроете, сервер остановится.

Настройка закончена. Вы сделали все правильно и после ввода в адрессной строке браузера localhost:8080 увидите информацию о PHP:
Страница phpinfo()
  • +6
  • views 32569