За последние 24 часа нас посетили 7029 программистов и 452 робота. Сейчас ищут 240 программистов ...

Не корректное отображается PMA.

Тема в разделе "Настройка веб-сервера", создана пользователем zolka, 17 май 2020.

Метки:
  1. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    Доброго дня.

    phpMyAdmin-4.9.5
    http://joxi.ru/8AnxDybIzMbpBm

    phpMyAdmin-5.0.2 приблизительно также.

    Это может быть связанно с настройками apache2 ?,- просто на энгинс всё было корректно.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.901
    Симпатии:
    967
    Да, это может быть связано с настройками apache2. Изображения не грузятся.
     
  3. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    у меня связка nginx для статистического контента апаче для динамического ,
    можно энгинс настроить для связи с PMA через " location"

    типо-

    #phpmyadmin

    location /phpmyadmin {
    root /usr/share/;
    index index.php;
    try_files $uri $uri/ =404;

    location ~ ^/phpmyadmin/(doc|sql|setup)/ {
    deny all;
    }

    location ~ /phpmyadmin/(.+\.php)$ {
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    #include snippets/fastcgi-php.conf;
    include fastcgi_params;
    }
    }
    но тогда как быть с апачем не пойму он будет работать по прежнему с динам..конт..,
    или есть оптимальнее решение?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.901
    Симпатии:
    967
    Одно другому вообще не мешает. Принял нгинкс запрос, статику отдал сам, динамику реверс-проксировал другому. В конфиге выше - это пхп-фпм. Для апача будет скорее всего не fastcgi_pass а proxy_pass. И надо смотреть как именно проксируется в сторону апача и потом ещё изучить виртуальный хост апача который должен этот проксированный запрос обработать. Конфиги в студию.
     
  5. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    Всё конфиги в точности по этому руководству с нашего сайта.
    https://php.ru/forum/threads/ustanovka-nginx-apache-na-ubuntu-16-04.62676/

    только у меня Деба 9, но это почти очень похоже.
    --- Добавлено ---
    Только вот в чём не понятно,- он говорит что по адресу -
    sudo nano /etc/apache2/apache2.conf

    надо делать == ServerName 127.0.1.1

    разве не
    ServerName 127.0.0.1
    ,?
    --- Добавлено ---
    Как это решать,?
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.901
    Симпатии:
    967
    на локальной петле несколько миллионов адресов - вся подсеть 127.0.0.0/8. В дебе обычно локалхост .0.1 а имя машины - .1.1 - см /etc/hosts у себя. Автор статьи не пояснил многих моментов предложив просто скопипастить готовый конфиг, который у него вполне может прекрасно работать из-за других особенностей настройки системы. Полагаю что лучше там оставить .0.1 и идти дальше внимательно настраивать виртуальный хост.
     
  7. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    Да автора я прекрасно понимаю, спасибо за то что он уже поделился опытом.!
    Были добавлены те настройки для PMA в конфиг энгинса без результатно, тэстил на пхп 5.6 и 7.2..

    Думаю что и апаче всё норм вот конфиги...

    ServerName 127.0.0.1

    Mutex file:${APACHE_LOCK_DIR} default

    PidFile ${APACHE_PID_FILE}

    Timeout 300

    KeepAlive On

    MaxKeepAliveRequests 100

    KeepAliveTimeout 5

    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}

    HostnameLookups Off

    ErrorLog ${APACHE_LOG_DIR}/error.log

    LogLevel warn

    IncludeOptional mods-enabled/*.load
    IncludeOptional mods-enabled/*.conf

    Include ports.conf

    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
    </Directory>

    <Directory /usr/share>
    AllowOverride None
    Require all granted
    </Directory>

    <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>

    #<Directory /srv/>
    # Options Indexes FollowSymLinks
    # AllowOverride None
    # Require all granted
    #</Directory>

    AccessFileName .htaccess

    <FilesMatch "^\.ht">
    Require all denied
    </FilesMatch>

    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %O" common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i" agent

    IncludeOptional conf-enabled/*.conf

    IncludeOptional sites-enabled/*.conf


    //////////////////

    <VirtualHost 127.0.0.1:81>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com/basic/web

    # <Directory /var/www/example.com/>
    # Options Indexes FollowSymLinks
    # AllowOverride All
    # Require all granted
    # </Directory>

    LogLevel warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    #Include conf-available/serve-cgi-bin.conf

    # Если есть ошибка 404, то выводим свою страницу данной ошибки
    ErrorDocument 404 /er404.html
    </VirtualHost>




    Может дело в самом PMA - нужно какой-то другой ,?
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.901
    Симпатии:
    967
    с пма всё отлично, если он с оф.сайта загружен

    где пма лежит?
    что в журналах ошибок обоих веб-серверов?
    конфиг нгинкса какой?
     
  9. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    PMA = /usr/share/phpmyadmin

    1. user www-data;
    2. worker_processes auto;
    3. pid /run/nginx.pid;
    4. events {
    5. worker_connections 768;
    6. }
    7. http {
    8. sendfile on;
    9. tcp_nopush on;
    10. tcp_nodelay on;
    11. keepalive_timeout 65;
    12. types_hash_max_size 2048;
    13. # разрешаем загружать указанный максимальный объем файла; влияет на заливку дампа БД на сервер
    14. client_max_body_size 10m;
    15. # скрываем версию сервера nginx
    16. server_tokens off;
    17. include /etc/nginx/mime.types;
    18. default_type application/octet-stream;
    19. access_log /var/log/nginx/access.log;
    20. error_log /var/log/nginx/error.log;
    21. gzip on;
    22. gzip_disable "msie6";
    23. gzip_vary on; # Разрешить выдавать в ответе строку заголовка "Vary: Accept-Encoding"
    24. gzip_proxied any; # Разрешить сжатие для всех проксированных запросов
    25. gzip_comp_level 6; # Степень сжатия (от 1 до 9 цифра больше увеличивает степень сжатия и увеличивает нагрузку на ЦПУ)
    26. gzip_buffers 16 8k; # Размер буферов, в которые будет сжиматься ответ
    27. gzip_http_version 1.1; # Устанавливает минимальную HTTP-версию запроса для сжатия ответа
    28. gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    29. #include /etc/nginx/conf.d/*.conf; # Если папка conf.d пустая, то можно закомментировать
    30. include /etc/nginx/sites-enabled/*;
    31. }
    ===============================

    1. server{
    2. listen 80;

    3. root /var/www/sitetest/site;
    4. index index.html index.php index.htm;

    5. server_name sitetest.ru www.sitetest.ru;

    6. # xrennaideshmyphpmyadmin - это ваш секретный путь к phpMyadmin, таким образом всё
    7. # что касается phpMyadmin, будет отдавать Apacheи страница будет корректно отображаться.
    8. # Картинки и прочее отдаёт Nginx

    9. location ~*^(?!/xrennaideshmyphpmyadmin/).+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|b)$ {
    10. access_log off;
    11. expires 30d;
    12. }

    13. # запрет на доступ к .htaccess
    14. location ~/\.ht {
    15. deny all;
    16. }

    17. # Если есть ошибка 404, то выводим свою страницу данной ошибки.

    18. error_page 404 /er404.html;

    19. # передача запроса апачу
    20. location /{
    21. proxy_pass http://127.0.0.1:81/; # Порт на котором висит Apache
    22. proxy_set_header X-Real-IP $remote_addr;
    23. proxy_set_header X-Forwarded-for $remote_addr;
    24. proxy_set_header Host $host;
    25. proxy_connect_timeout 300;
    26. proxy_send_timeout 300;
    27. proxy_read_timeout 300;
    28. proxy_redirect off;
    29. proxy_set_header Connection close;
    30. proxy_pass_header Content-Type;
    31. proxy_pass_header Content-Disposition;
    32. proxy_pass_header Content-Length;
    33. }
    34. }
     
  10. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.901
    Симпатии:
    967
    в нгинксе прописан хост sitetest.ru с рутом /var/www/sitetest/site
    локация мпа судя по комментарию /var/www/sitetest/site/xrennaideshmyphpmyadmin

    апачи не отрабатывает такую локацию ни дефолтом ни виртуальным хостом
    апачи не отрабатывает такой хост виртуальным хостом поэтому будет пытаться фолбэком использовать дефолтный который тоже не сможет ничем помочь ибо документ_руты разные

    чтоб схема работала надо чтоб апачи отвечал на запрос хоста sitetest.ru (и судя по 81 порту в конфиге прокси удобно протестировать работоспособность можно открывая в браузере http://sitetest.ru:81) с документ_рутом /var/www/sitetest/site и чтоб пма лежал в подкаталоге /var/www/sitetest/site/xrennaideshmyphpmyadmin
     
    zolka нравится это.
  11. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    Cпасибо . Заработало вот так.
    http://localhost:81/phpmyadmin/index.php

    А вот чтобы убедится что оба сервера правельно работают,как вывести на странице ошибки какой именно сервер,-
    обрабaтыват несуществующий запрос?

    http://localhost/notsite.php должен apache

    http://localhost/notsite.должен nginx

    Эти две команды одно и тоже показывают код вьюшки -
    curl 127.0.0.1:81
    curl 127.0.0.1:80
     
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.901
    Симпатии:
    967
    Чтоб понять какой именно сервер отработал запрос надо журналу ошибок нжинкса добавить флаг debug, сделать запрос к ресурсу и пойти почитать в логе ошибок логику разрешения запроса - там будут сотни строк для каждого запроса но по этому избыточному дампу будет ясно каким образом и почему нгинкс решил обработать запрос этого ресурса именно так. Потом флаг убрать чтоб не загадить диск, но всегда помнить что у всех адекватных инструментов есть возможность простой отладки.

    Ну а быстрее всего если это пхп - конечно же поглядеть PHP_SAPI или phpinfo() внимательно почитать.
     
    zolka нравится это.
  13. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    понятно,ну ещё вопрос-
    сайт открывается нормально,но по http://localhost/user/login
    выдаёт 404 ,
    пришлось закоментить настройки ЧПУ ,так работает ,
    http://localhost/index.php?r=user/security/login
    это только .htaccess создовать сервер не причём?
     
  14. zolka

    zolka Новичок

    С нами с:
    21 дек 2019
    Сообщения:
    14
    Симпатии:
    0
    Вопрос закрыт — это ЧПУ, уже всё работает,
    спасибо.