Загрузка...

Сервер с рабочим PHP + MySQL на TERMUX`е

Тема в разделе Backend создана пользователем ar_saakyan 22 мар 2022. (поднята 10 апр 2022) 2487 просмотров

Загрузка...
  1. ar_saakyan
    ar_saakyan Автор темы 22 мар 2022 Заблокирован(а) 5 13 фев 2021
    (Есть видеоролики как установить это все, но у меня почему то не получалось по их гайдам делать)
    И так, сразу к делу!)

    Есть 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
    И изменяем первые 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
    Теперь нужно дописать свою строчку перед этими 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
    Далее ищем:
    #ServerName www.example.com:8080


    ROOT изменяет это на:
    ServerName localhost:80

    Без ROOT на:
    ServerName localhost:8080


    Идем дальше, и находим:
    Код
    <Directory />
    AllowOverride none
    Require all denied
    </Directory>
    Изменяем на:
    Код
    <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">
    Изменяем на:
    Код
    DocumentRoot "/sdcard/web/www"
    <Directory "/sdcard/web/www">
    Находим:
    Код
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    Изменяем его на:
    Код
    <IfModule dir_module>
    DirectoryIndex index.php index.html
    </IfModule>
    Дальше будет де то:
    Код
    # 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


    ПОЖАЛУЙСТА, НЕ СУДИТЕ СТРОГО, ЭТО ПЕРВАЯ СТАТЬЯ.. =)
     
  2. Riconc
    Riconc 22 мар 2022 Заблокирован(а) 81 14 авг 2019
    тему снесут, перенес бы лучше в статью
     
  3. bigbombdaun
    че ты топ просто спасибо за статью сам бы хер разобрался
     
  4. Varlynny
    Varlynny 20 сен 2022 Заблокирован(а) 304 11 сен 2022
    спасибо, не видел раньше
     
  5. Sagall
    Sagall 12 окт 2022 0 11 окт 2022
    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
     
  6. Sagall
    Sagall 12 окт 2022 0 11 окт 2022
    Как исправить???
     
Top