Скачал и установил adminer в Ubuntu через apt, прописал эти строки в конфиге сайта работающем на nginx:
location /adminer {
root /usr/share/;
index index.php;
}
Выдал все права папке, но при заходе по url mysite.ru/adminer , получаю 403 ошибку, а в error.log пишет это:
[error] 865174#865174: *2253 directory index of "/usr/share/adminer/" is forbidden, request: "GET /adminer/ HTTP/1.1"
[error] 865174#865174: *2253 directory index of "/usr/share/adminer/" is forbidden, request: "GET /adminer/ HTTP/1.1"
error] 900753#900753: *1 directory index of "/usr/share/adminer/" is forbidden, request: "GET /adminer/ HTTP/1.1"
error] 900753#900753: *2 directory index of "/usr/share/adminer/" is forbidden, request: "GET /adminer/ HTTP/1.1"
[error] 900753#900753: *2 directory index of "/usr/share/adminer/" is forbidden, request: "GET /adminer/ HTTP/1.1"
AUser0, а если я поставлю вместо index.php любой другой, мне выдаёт 404 и если напишу /usr/share/arminer/adminer/ в котором есть index.php то мне тоже выдаёт 404
Юрий, запросы вроде /adminer/file.php попадают в location ~ \.php$ { а там нет root /usr/share/;. Нужно скопировать location ~ \.php в location /adminer/
location /adminer/ {
root /usr/share;
index index.php;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
}
Какие файлы в папке /usr/share/adminer/ нужно разобраться какой файл является точкой входа и указать его в index.
dodo512, переставил
Там всего 5 файлов, я по одному их вписывал, перезагружал сервер и смотрел сайт, в этот раз php показывает множество ошибок, по типу notice: undefined index/offset
dodo512, Это я нашёл в их гитхабе
adminer/index.php - Run development version of Adminer
editor/index.php - Run development version of Adminer Editor
editor/example.php - Example customization
plugins/readme.txt - Plugins for Adminer and Adminer Editor
adminer/plugin.php - Plugin demo
adminer/sqlite.php - Development version of Adminer with SQLite allowed
editor/sqlite.php - Development version of Editor with SQLite allowed
adminer/designs.php - Development version of Adminer with adminer.css switcher
compile.php - Create a single file version
lang.php - Update translations
tests/katalon.html - Katalon Automation Recorder test suite
Юрий, стоп если это index.php во вложенной папке, то получается нужно запустить
/usr/share/adminer/adminer/index.php
Для этого root должен указывать на /usr/share/adminer/ а не на /usr/share/.
location /adminer/ {
root /usr/share/adminer;
index index.php;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
}
Юрий, интересно а каким образом смогли получить "Notice: Undefined index: script" если в начале файла
bootstrap.inc.php отключаются все Notice. error_reporting(6135); // errors and warnings https://github.com/vrana/adminer/blob/master/admin...
Юрий, так у вас в том файле строка с error_reporting присутствует и там число 6135?
Если попробовать поменять на 6133 или 0.
А php установлен какой версии.
Ну nginx говорит, что ему запрещено выводить directory index, а index.php похоже там отсутствует. Наверное стоит проверить какой файл является точкой входа - и index поставить на него
А если я поставлю вместо index.php любой другой, мне выдаёт 404 и если напишу /usr/share/arminer/adminer/ в котором есть index.php то мне тоже выдаёт 404
Юрий, зачем вам вложенные папки? это такой тонкий стеб что ли? вам нужно в папке /usr/share/arminer/ определить точку входа и указать ее в качестве index.
Дмитрий, к сожалению я не знаю что из этих файлов является точкой входа
А указал обычно
location /adminer/ {
root /usr/share/;
index "перечислил файлы";
}