Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   phpMyAdmin ошибка Parse error (http://forum.oszone.net/showthread.php?t=329255)

dislike 22-08-2017 08:24 2759903

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
К такому, как говорится, жизнь меня не готовила :)
Что с этим делать? Версия что-ли какая-то не такая?

mar 22-08-2017 08:58 2759911

dislike,
так посмотрите на что ругается этот самый файл в той самой строчке

как вариант, проверьте config.inc.php - не внесли ли Вы туда email в неправильном виде (например, не в обычных кавычках, а скопировав откуда-нибудь из win-редактора)

И еще два момента:
1) не надо ни в коем случае ставить phpMyAdmin в корень сайта. Эта злая шутка - может привести к взлому сайта.
2) "тяжелые" запросы к бд все равно лучше давать из консоли, а не через phpMyAdmin т.к. в противном случае есть шанс замедлить, или "положить" бд

dislike 22-08-2017 09:26 2759917

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 - вроде работает.

Цитата:

Цитата mar
не надо ни в коем случае ставить phpMyAdmin в корень сайта. Эта злая шутка - может привести к взлому сайта. »

А куда ж его засунуть тогда?

MakaBooka 22-08-2017 11:40 2759938

Цитата 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 не должен работать под рутом, ни рут ни битрих не должны работать без пароля.

Всё. То что вы описали лично для меня - повод к реинсталлу сервера, потому что он дыряв и тратить десятки человекочасов на поиск потенциальных закладок сильно дорого.

dislike 22-08-2017 12:00 2759943

Ну подождите рубить сразу.

Цитата:

Цитата MakaBooka
Всё. То что вы описали лично для меня - повод к реинсталлу сервера, потому что он дыряв и тратить десятки человекочасов на поиск потенциальных закладок сильно дорого. »

Передать не могу, как вы меня "обрадовали" таким диагнозом, мне ж ещё с этим всем бардаком работать, но вот реинсталл на данный момент невозможен, потому что я и сам в вопросах freebsd, mysql и т.д. не сильно лучше того админа, который всё это нафигачил. Не сталкивался ранее с этими вещами, от слова "совсем". Да и поскольку контора государственная, тут очень многое, если не всё, делалось по принципу тяп-ляп-и-отвяжись, потому и про безопасность никто не думал, работает и ладно. Зато когда не работает, сразу за голову хватаются и судорожно вспоминают, в каком году последний бекап сделали )))

Цитата:

Цитата MakaBooka
Если битрикс это единственное, что у вас вертится на сервере, то 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 2759966

Цитата:

Цитата dislike
Т.е. если я грохну всех лишних пользователей, кроме рута и mysqluser, которого я сейчас создал, ничего больше не сломается? »

То что вы создали пользователя с ALL PRIVILEGES (да ещё с GRANT OPTION) имеет не больше смысла, чем работа от рута. Смысл отдельного пользователя как раз в том, чтобы ограничить его одной базой и только теми привилегиями, которые ему необходимы. Он не должен иметь прав лазать в системную базу и тем более модифицировать других пользователей! Ну как так? Вам обстоятельно рассказали, как не надо делать, а вы тут же накосячили
Цитата:

Цитата dislike
по принципу тяп-ляп-и-отвяжись »

Если накосячите с удалением пользователей и залочитесь, то mysql можно запустить с опцией skip-grant-tables и починить.

Небось там и не обновлялось ничего лет много, следовательно, даже если закрыть логические дыры, то останется с несколько десятков критических CVE. Надеюсь, это чудовище хотя бы из мира не доступно...

dislike 22-08-2017 13:55 2759971

Цитата:

Цитата Jula0071
То что вы создали пользователя с ALL PRIVILEGES (да ещё с GRANT OPTION) имеет не больше смысла, чем работа от рута. »

Вот смотрите, ещё раз объясняю, что происходит. Я сегодня впервые вижу mysql. Вижу что оно работает под root'ом без пароля. Не знаю что ещё и как работает с какими паролями и т.д. Что можно менять, что нельзя менять - не знаю. Первостепенная задача - не сломать то что уже есть. Нарубить с плеча всегда успею.
Я просто скопировал root полностью, со всеми галочками, всеми привилегиями, чтобы только работало, дал ему новый логин и новый пароль, чтобы и PMA и Битрикс перестали жевать голову, что кококо вы работаете под рутом без пароля. Теперь и с паролем, и не под рутом - всё классно.

Цитата:

Цитата Jula0071
Смысл отдельного пользователя как раз в том, чтобы ограничить его одной базой »

Хорошо. Я только за. Т.е. там есть список из 6 примерно баз: bitrix, information_schema, mysql, performance_schema, phpmyadmin, test

Судя по всему bitrix - это она? Другие не нужны?

Цитата:

Цитата Jula0071
Ну как так? Вам обстоятельно рассказали, как не надо делать, а вы тут же накосячили »

Вообще-то мне ничего обстоятельно не рассказывали до того момента. Так, в общих чертах только. Вот и справляюсь как могу с вашей помощью и помощью гугла.

Цитата:

Цитата Jula0071
Небось там и не обновлялось ничего лет много »

Ну да, не обновлялось. Надо обновить?
К слову по опыту винды, обновление - довольно острая вещь, как нож - можно нарезать салат, а можно порезать горлышко. Но если винда вещь более менее знакомая и родная, её легко воскресить если что, то mysql для меня пока ещё темный лес увместе с бсд и битриксом до кучи. Лазить в такие места "без родителей" не рекомендуется.

Jula0071 22-08-2017 14:03 2759975

Цитата:

Цитата dislike
Я сегодня впервые вижу mysql »

Тогда вам сюда http://www.mysql.ru/docs/
Цитата:

Цитата dislike
Судя по всему bitrix - это она? Другие не нужны? »

Битриксу – не нужны. Все остальные – системные, кроме phpmyadmin.
Цитата:

Цитата dislike
К слову по опыту винды, обновление - довольно острая вещь, как нож - можно нарезать салат, а можно порезать горлышко. »

Точно так. Особенно, если не обновлять годами – попытка обновления в этом случае сломает всё с вероятностью 100%. Проще новый сервер поднять с нуля и обновлять регулярно, следя за новостями по уязвимостям. Если нет ресурсов на масштабные переделки, то надо хотя бы фаерволом себя обезопасить. И бекапами.

dislike 22-08-2017 15:44 2759995

Там так сделано, что сервер с этим сайтом находится в неком РЦУПе, и соединиться с ним может только компьютер с установленным VipNET'ом, именные ключи к которому выдает тот же РЦУП. Другой безопасности нет.

Jula0071 27-08-2017 15:49 2760949

Цитата:

Цитата dislike
Там так сделано, что сервер с этим сайтом находится в неком РЦУПе, и соединиться с ним может только компьютер с установленным VipNET'ом, именные ключи к которому выдает тот же РЦУП. Другой безопасности нет. »

VipNET, как я понял, это адский проприетарный комбайн с функционалом VPN в том числе. Ну ок, сойдёт. Для неуловимого Джо.

MaximCarrera 27-06-2019 08:32 2877023

Настройте бэкап таблиц MySQL по сети со стороннего компьютера, например, вот так, и сносите сервер смело каждый раз, когда появляется дыра в безопасности. Иначе не избежать либо проникновений, либо потери данных (скорбный личный опыт институтского админа подсказывает мне это).

Jula0071 27-06-2019 11:00 2877037

Без бекапа вообще всего (для СУБД необходима репликация, помимо периодических дампов) в прод выходить категорически нельзя. Но выходят... А потом рано или поздно кусают локти.


Время: 23:35.

Время: 23:35.
© OSzone.net 2001-