(Есть видеоролики как установить это все, но у меня почему то не получалось по их гайдам делать) И так, сразу к делу!) Есть 2 варианта с ROOT правами и БЕЗ ROOT Если есть ROOT права, то сервер будет работать на порту 80 (локальный сервер) А если нема ROOT, то на 8080 (на функционал порт не влияет, просто в браузерах по умолчанию установлен всегда 80 порт, поэтому чтобы попасть на ваш сервер прийдется в конце дописывать и порт, пример: localhost:8080) Команды в TERMUX`е: pkg update -y && pkg upgrade -y pkg install apache2 -y && pkg install php -y && pkg install php-apache -y && pkg install phpmyadmin -y && pkg install mariadb -y && termux-setup-storage mkdir -p /sdcard/web/www Если есть ROOT то устанавливаем и tsu: pkg install tsu -y Сервер теперь работает, но не работают php и mysql. И так.. Исправим это..) nano ../usr/etc/apache2/httpd.conf Ищем строчку: Listen 8080 Если у вас есть ROOT, то изменяем на: Listen 80 А если нема, то оставляем на Listen 8080 Далее ищем вот такие строчки: #LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so LoadModule authn_file_module libexec/apache2/mod_authn_file.so #LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so #LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so #LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so #LoadModule authn_socache_module libexec/apache2/mod_authn_socache.so LoadModule authn_core_module libexec/apache2/mod_authn_core.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so LoadModule authz_user_module libexec/apache2/mod_authz_user.so Code #LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so LoadModule authn_file_module libexec/apache2/mod_authn_file.so #LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so #LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so #LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so #LoadModule authn_socache_module libexec/apache2/mod_authn_socache.so LoadModule authn_core_module libexec/apache2/mod_authn_core.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so LoadModule authz_user_module libexec/apache2/mod_authz_user.so И изменяем первые 2 LoadModule так, чтобы перед #LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so не было Решетки # А у второй: LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so нужно поставить Решетку в начале: #LoadModule ..... В итоге должно получится вот так: LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so #LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so Code LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so #LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so Теперь нужно дописать свою строчку перед этими LoadModule LoadModule php_module libexec/apache2/libphp.so И первые 3 строчки будут такими: LoadModule php_module libexec/apache2/libphp.so LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so #LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so Code LoadModule php_module libexec/apache2/libphp.so LoadModule mpm_prefork_module libexec/apache2/mod_mpm_prefork.so #LoadModule mpm_worker_module libexec/apache2/mod_mpm_worker.so Далее ищем: #ServerName www.example.com:8080 ROOT изменяет это на: ServerName localhost:80 Без ROOT на: ServerName localhost:8080 Идем дальше, и находим: <Directory /> AllowOverride none Require all denied </Directory> Code <Directory /> AllowOverride none Require all denied </Directory> Изменяем на: <Directory /> AllowOverride none Require all granted </Directory> Code <Directory /> AllowOverride none Require all granted </Directory> Ищем: DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs" <Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"> Code DocumentRoot "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs" <Directory "/data/data/com.termux/files/usr/share/apache2/default-site/htdocs"> Изменяем на: DocumentRoot "/sdcard/web/www" <Directory "/sdcard/web/www"> Code DocumentRoot "/sdcard/web/www" <Directory "/sdcard/web/www"> Находим: <IfModule dir_module> DirectoryIndex index.html </IfModule> Code <IfModule dir_module> DirectoryIndex index.html </IfModule> Изменяем его на: <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> Code <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> Дальше будет де то: # Virtual hosts #Include etc/apache2/extra/httpd-vhosts.conf Code # Virtual hosts #Include etc/apache2/extra/httpd-vhosts.conf Изменим на: [CODE=code]# Virtual hosts Include etc/apache2/extra/httpd-vhosts.conf[/CODE]И последнее в этом файле, в самом низу находим это: [CODE=code]<IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> # # Load config files from the config directory 'conf.d'. # Include etc/apache2/conf.d/*.conf[/CODE]И прописываем между: [CODE=code]<IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> ВОТ ТУТ БУДЕТ КОД # # Load config files from the config directory 'conf.d'. #[/CODE]Вот это: [CODE=code]<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>[/CODE]Тыкаем CTRL + S а потом CTRL + X Поздравляю, у вас уже есть полностью рабочий сервер, который поддерживает php, но без Баз Данных.. Осталось совсем чуток! И они у нас будут работать! Совсем чуток, ты молодец! nano ../usr/etc/apache2/extra/httpd-vhosts.conf Измените там так, чтобы у вас было как туты: [CODE=code]<VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/sdcard/web/www" ServerName localhost ServerAlias www.dummy-host.example.com ErrorLog "var/log/apache2/dummy-host.example.com-error_log" CustomLog "var/log/apache2/dummy-host.example.com-access_log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/data/data/com.termux/files/usr/share/phpmyadmin" ServerName 127.0.0.1 ErrorLog "var/log/apache2/dummy-host2.example.com-error_log" CustomLog "var/log/apache2/dummy-host2.example.com-access_log" common </VirtualHost>[/CODE]ЕСЛИ У ВАС НЕТУ ROOT ТО НЕ МЕНЯЙТЕ ПОРТЫ В: <VirtualHost *:8080> У вас они должны остаться 8080 в тех обеих блоках! - это только у тех, у кого нема ROOT Тыкаем CTRL + S а потом CTRL + X И последний штрих..) nano ../usr/share/phpmyadmin/config.inc.php Изменяем строчку: $cfg['Servers'] [$i] ['host'] = 'localhost'; Меняем localhost на 127.0.0.1 чтобы получилось так: $cfg['Servers'] [$i] ['host'] = '127.0.0.1'; ПОЗДРАВЛЯЮ! На этом все..) WARNING! ВСЕ ФАЙЛЫ ЭТОГО СЕРВЕРА ХРАНЯТСЯ НА ВАШЕЙ ВНУТРЕННЕЙ ПАМЯТИ! В ПАПКЕ WEB/WWW Прежде чем запускать добавьте туда какой то файл =) index.php или хотя бы html Запустить Сервер БЕЗ ROOT: httpd Запустить Сервер MySQL: mysqld --skip-grant-tables --general-log & Остановить Сервер БЕЗ ROOT: killall httpd Остановить Сервер MySQL: killall mysqld Запустить Сервер ROOT: sudo httpd Запустить Сервер MySQL: mysqld --skip-grant-tables --general-log & Остановить Сервер ROOT: sudo killall httpd Остановить Сервер MySQL: killall mysqld КАК ЗАЙТИ НА СВОЙ СЕРВЕР: localhost - если делали под ROOT localhost:8080 - если делали все БЕЗ ROOT БД НАХОДИТСЯ НА: 127.0.0.1 - если делали под ROOT 127.0.01:8080 - если делали все БЕЗ ROOT * ЛОГИН И ПАРОЛЬ ПО УМОЛЧАНИЮ "root" * ВНИМАНИЕ, ЕСЛИ У ВАС НЕ ЗАПУСКАЕТСЯ СЕРВЕР С БАЗОЙ ДАННЫХ ТО ПОПРОБУЙТЕ ВВЕСТИ ЭТО: rm ../usr/var/lib/mysql/ib_logfile0 && rm ../usr/var/lib/mysql/ib_logfile1 && rm ../usr/var/lib/mysql/ib_logfile2 ПОЖАЛУЙСТА, НЕ СУДИТЕ СТРОГО, ЭТО ПЕРВАЯ СТАТЬЯ.. =)
2022-10-12 13:10:55 0 [Note] InnoDB: Completed initialization of buffer pool 2022-10-12 13:10:55 0 [ERROR] InnoDB: File ./ib_logfile0 was not found 2022-10-12 13:10:55 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2022-10-12 13:10:55 0 [Note] InnoDB: Starting shutdown... 2022-10-12 13:10:55 0 [ERROR] Plugin 'InnoDB' init function returned error. 2022-10-12 13:10:55 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2022-10-12 13:10:55 0 [Note] Plugin 'FEEDBACK' is disabled. 2022-10-12 13:10:55 0 [ERROR] Unknown/unsupported storage engine: InnoDB 2022-10-12 13:10:55 0 [ERROR] Aborting