Показать полную графическую версию : phpMyAdmin ошибка Parse error
Давно уже присутствует на сайте проблема, когда сыпятся таблицы БД на MySQL, сайт лежит, и чтобы как-то это дело ремонтировать, наткнулся на рекомендацию установить на сервер phpMyAdmin и поместить её в корень сайта. Сайт на битриксе, тот в свою очередь на FreeBSD. Скачал свежую версию вчера с оф. сайта, установил в корень сайта в папку phpmyadmin, откорректировал файл настроек config.inc.php как советовали в инструкции, зашел в браузере по адресу <МойСайт>/phpmyadmin и получил сразу в лоб ошибку
Parse error: syntax error, unexpected '@' in /usr/local/www/apache22/data/phpmyadmin/libraries/common.inc.php on line 467
К такому, как говорится, жизнь меня не готовила :)
Что с этим делать? Версия что-ли какая-то не такая?
dislike,
так посмотрите на что ругается этот самый файл в той самой строчке
как вариант, проверьте config.inc.php - не внесли ли Вы туда email в неправильном виде (например, не в обычных кавычках, а скопировав откуда-нибудь из win-редактора)
И еще два момента:
1) не надо ни в коем случае ставить phpMyAdmin в корень сайта. Эта злая шутка - может привести к взлому сайта.
2) "тяжелые" запросы к бд все равно лучше давать из консоли, а не через phpMyAdmin т.к. в противном случае есть шанс замедлить, или "положить" бд
mar, спасибо, всё оказалось проще: перекачал чуть более старую стабильную версию 4.0 от марта этого года, она заработала сразу. Похоже мне просто сырая бета попалась в первый раз.
Но вот ещё какой затык. К базе MySQL подключение идет с логином root и пустым паролем. А на каждом углу, включая контроль безопасности битрикса, кричат что пустой пароль недопустим, ну оно как бы и логично. В файле \bitrix\php_interface\dbconn.php тоже указан логин root и пустой пароль, но там их менять бесполезно. Полез в phpMyAdmin на вкладку пользователи, а там почему-то целых 4 пользователя root от разных хостов (среди них 127.0.0.1, ::1, localhost и <мойсайт.ru>) и все четверо без паролей. Зачем их столько, за что каждый отвечает? Какому из них нужно установить пароль и ничего если это делать через phpMyAdmin?
upd
Создал в phpMyAdmin нового пользователя, скопировав привилегии рута, задал пароль, отредактировал логин и пароль в dbconn.php - вроде работает.
не надо ни в коем случае ставить phpMyAdmin в корень сайта. Эта злая шутка - может привести к взлому сайта. »
А куда ж его засунуть тогда?
MakaBooka
22-08-2017, 11:40
Цитата dislike:
когда сыпятся таблицы БД на MySQL »
наличие phpmyadmin позволяет к существующим проблемам добавить дыру в безопасности.
Цитата dislike:
Скачал свежую версию вчера с оф. сайта »
Нет такого способа установки софта во FreeBSD. Софт ставится из портов/пакаджей.
pkg install databases/phpmyadmin
или portmaster databases/phpmyadmin (предварительно д.б. установлен portmaster)
установка таким образом гарантирует согласованность версий.
Цитата mar:
как вариант, проверьте config.inc.php - не внесли ли Вы туда email в неправильном виде »
нет, это классическая ошибка "софт требует более новую версию php"
Цитата mar:
И еще два момента:
1) не надо ни в коем случае ставить phpMyAdmin
2) "тяжелые" запросы к бд все равно лучше давать из консоли, а не через phpMyAdmin т.к. в противном случае есть шанс замедлить, или "положить" бд »
Вот так совсем правильно :)
Цитата dislike:
Зачем их столько, за что каждый отвечает? »
Не "зачем", а почему. Потому что админ, который это настраивал не умеет ни в безопасность вообще, ни в mysql в частности.
число пользователей в mysql определяется просто. root@localhost / с паролем / - 1 шт. Каждый виртхост (сиречь - приложение) - ещё + одна штука, с паролем.
Если битрикс это единственное, что у вас вертится на сервере, то root@localhost, bitrix@localhost. Bitrix не должен работать под рутом, ни рут ни битрих не должны работать без пароля.
Всё. То что вы описали лично для меня - повод к реинсталлу сервера, потому что он дыряв и тратить десятки человекочасов на поиск потенциальных закладок сильно дорого.
Ну подождите рубить сразу.
Всё. То что вы описали лично для меня - повод к реинсталлу сервера, потому что он дыряв и тратить десятки человекочасов на поиск потенциальных закладок сильно дорого. »
Передать не могу, как вы меня "обрадовали" таким диагнозом, мне ж ещё с этим всем бардаком работать, но вот реинсталл на данный момент невозможен, потому что я и сам в вопросах freebsd, mysql и т.д. не сильно лучше того админа, который всё это нафигачил. Не сталкивался ранее с этими вещами, от слова "совсем". Да и поскольку контора государственная, тут очень многое, если не всё, делалось по принципу тяп-ляп-и-отвяжись, потому и про безопасность никто не думал, работает и ладно. Зато когда не работает, сразу за голову хватаются и судорожно вспоминают, в каком году последний бекап сделали )))
Если битрикс это единственное, что у вас вертится на сервере, то root@localhost, bitrix@localhost. Bitrix не должен работать под рутом, ни рут ни битрих не должны работать без пароля. »
Давайте попробуем по порядку. Битрикс - единственный житель сервера. Т.е. если я грохну всех лишних пользователей, кроме рута и mysqluser, которого я сейчас создал, ничего больше не сломается? Там сейчас такой списочек:
Обзор учетных записей
Пользователь Хост Пароль Глобальные привилегии
Любой % -- USAGE
Любой localhost Нет USAGE
Любой <мойсайт.ru> Нет USAGE
mysqluser localhost Да ALL PRIVILEGES
phpmyadmin localhost Да USAGE
root 127.0.0.1 Нет ALL PRIVILEGES
root ::1 Нет ALL PRIVILEGES
root localhost Нет ALL PRIVILEGES
root <мойсайт.ru> Нет ALL PRIVILEGES
Jula0071
22-08-2017, 13:24
Т.е. если я грохну всех лишних пользователей, кроме рута и mysqluser, которого я сейчас создал, ничего больше не сломается? »
То что вы создали пользователя с ALL PRIVILEGES (да ещё с GRANT OPTION) имеет не больше смысла, чем работа от рута. Смысл отдельного пользователя как раз в том, чтобы ограничить его одной базой и только теми привилегиями, которые ему необходимы. Он не должен иметь прав лазать в системную базу и тем более модифицировать других пользователей! Ну как так? Вам обстоятельно рассказали, как не надо делать, а вы тут же накосячили по принципу тяп-ляп-и-отвяжись »
Если накосячите с удалением пользователей и залочитесь, то mysql можно запустить с опцией skip-grant-tables и починить.
Небось там и не обновлялось ничего лет много, следовательно, даже если закрыть логические дыры, то останется с несколько десятков критических CVE. Надеюсь, это чудовище хотя бы из мира не доступно...
То что вы создали пользователя с ALL PRIVILEGES (да ещё с GRANT OPTION) имеет не больше смысла, чем работа от рута. »
Вот смотрите, ещё раз объясняю, что происходит. Я сегодня впервые вижу mysql. Вижу что оно работает под root'ом без пароля. Не знаю что ещё и как работает с какими паролями и т.д. Что можно менять, что нельзя менять - не знаю. Первостепенная задача - не сломать то что уже есть. Нарубить с плеча всегда успею.
Я просто скопировал root полностью, со всеми галочками, всеми привилегиями, чтобы только работало, дал ему новый логин и новый пароль, чтобы и PMA и Битрикс перестали жевать голову, что кококо вы работаете под рутом без пароля. Теперь и с паролем, и не под рутом - всё классно.
Смысл отдельного пользователя как раз в том, чтобы ограничить его одной базой »
Хорошо. Я только за. Т.е. там есть список из 6 примерно баз: bitrix, information_schema, mysql, performance_schema, phpmyadmin, test
Судя по всему bitrix - это она? Другие не нужны?
Ну как так? Вам обстоятельно рассказали, как не надо делать, а вы тут же накосячили »
Вообще-то мне ничего обстоятельно не рассказывали до того момента. Так, в общих чертах только. Вот и справляюсь как могу с вашей помощью и помощью гугла.
Небось там и не обновлялось ничего лет много »
Ну да, не обновлялось. Надо обновить?
К слову по опыту винды, обновление - довольно острая вещь, как нож - можно нарезать салат, а можно порезать горлышко. Но если винда вещь более менее знакомая и родная, её легко воскресить если что, то mysql для меня пока ещё темный лес увместе с бсд и битриксом до кучи. Лазить в такие места "без родителей" не рекомендуется.
Jula0071
22-08-2017, 14:03
Я сегодня впервые вижу mysql »
Тогда вам сюда http://www.mysql.ru/docs/
Судя по всему bitrix - это она? Другие не нужны? »
Битриксу – не нужны. Все остальные – системные, кроме phpmyadmin.
К слову по опыту винды, обновление - довольно острая вещь, как нож - можно нарезать салат, а можно порезать горлышко. »
Точно так. Особенно, если не обновлять годами – попытка обновления в этом случае сломает всё с вероятностью 100%. Проще новый сервер поднять с нуля и обновлять регулярно, следя за новостями по уязвимостям. Если нет ресурсов на масштабные переделки, то надо хотя бы фаерволом себя обезопасить. И бекапами.
Там так сделано, что сервер с этим сайтом находится в неком РЦУПе, и соединиться с ним может только компьютер с установленным VipNET'ом, именные ключи к которому выдает тот же РЦУП. Другой безопасности нет.
Jula0071
27-08-2017, 15:49
Там так сделано, что сервер с этим сайтом находится в неком РЦУПе, и соединиться с ним может только компьютер с установленным VipNET'ом, именные ключи к которому выдает тот же РЦУП. Другой безопасности нет. »
VipNET, как я понял, это адский проприетарный комбайн с функционалом VPN в том числе. Ну ок, сойдёт. Для неуловимого Джо.
MaximCarrera
27-06-2019, 08:32
Настройте бэкап таблиц MySQL по сети со стороннего компьютера, например, вот так (https://www.handybackup.ru/mysql-backup.shtml), и сносите сервер смело каждый раз, когда появляется дыра в безопасности. Иначе не избежать либо проникновений, либо потери данных (скорбный личный опыт институтского админа подсказывает мне это).
Jula0071
27-06-2019, 11:00
Без бекапа вообще всего (для СУБД необходима репликация, помимо периодических дампов) в прод выходить категорически нельзя. Но выходят... А потом рано или поздно кусают локти.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.