[ЗАКРЫТО] разобраться с NginX

palpalych
тоже интересно, можно по подробнее, какие права?

Данные
SELECT +
INSERT +
UPDATE +
DELETE +
FILE +
Структура
CREATE +
ALTER +
INDEX +
DROP +
CREATE TEMPORARY TABLES +
SHOW VIEW +
CREATE ROUTINE +
ALTER ROUTINE +
EXECUTE +
CREATE VIEW +
EVENT +
TRIGGER +
Администрирование
GRANT +
SUPER ------------------------------
PROCESS +
RELOAD +
SHUTDOWN ----------
SHOW DATABASES +
LOCK TABLES +
REFERENCES +
REPLICATION CLIENT +
REPLICATION SLAVE +
CREATE USER ------------------
Установка прошла успешно! 1C Предприниматель версия 7.7 работает! NGINX+PHP-FPM+MYSQL работает! Все устраивает даже уже не интересно... НО Танцуем дальше...
Перенес все рабочие настройки никса с локалки на хостинг, результат неудовлетворительный, сайт не загружается, админка cms загружается через страницу
Ошибки никса

/var/log/nginx/site/error.log
2014/03/24 11:49:46 [error] 4219#0: *10 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught exception 'PDOException' with message 'could not find driver' in /home/archie/www/http://www.site.ru/admin
Stack trace:
#0 /home/archie/www/www.site.ru: PDO->__construct('mysql:host=loca...', 'root', 'pass', Array)
#1 /home/archie/www/http://www.site.ru/admin: PropelPDO->__construct('mysql:host=loca...', 'root', 'pass', Array)
#2 /home/archie/www/www.site.ru: Propel::initConnection(Array, 'Shop')
#3 /home/archie/www/http://www.site.ru/admin: Propel::getMasterConnection('Shop')
#4 /home/archie/www/www.site.ru: Propel::getSlaveConnection('Shop')
#5 /home/archie/www/http://www.site.ru/admin" while reading response header from upstream, client: 83.139.186.53, server: site.ru, request: "GET /admin/components/run/shop/notifications/getAvailableNotification HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "www.site.ru", referrer: "http://www.site.ru/admin"
$ php -m
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/sqlite3.so' - /usr/lib/php/modules/sqlite3.so: cannot open shared object file: No such file or directory in Unknown on line 0
Других ошибок не обнаружено, на локалке все работает удовлетворительно, не понятно в чем дело?
п.с. кстати а почему в логах выскакивает пароль юзера базы, в данном случае root, так и должно быть? (заменил на pass)
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
1. нескромный вопрос: а пароль к субд на локальном компьютере такой же как и на VDS? И вы уверены что использовать пользователя root (в субд) это хорошая идея?
2. что пакетный менеджер говорит про php sqlite и про php sqlite3?
Да пребудет с вами знание ip адреса

"PHP message: PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver'
Включите драйвер PDO, для начала.

extension=pdo_mysql.so
corner
Включите драйвер PDO, для начала.
Да это и есть причина, спасибо... прощелкал, на локалке все правильно...
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
domov0y
1. нескромный вопрос: а пароль к субд на локальном компьютере такой же как и на VDS? И вы уверены что использовать пользователя root (в субд) это хорошая идея?
а с какими правами нужен пользователь? lavlan предложил свой вариант, ну я пока не разобрался...


2. что пакетный менеджер говорит про php sqlite и про php sqlite3?
установил php-sqlite ошибка исчезла.

Natrio
Если вам вдруг нужен этот скрипт – могу поделиться.
не понял, а как этим пользоваться?

Я правильно понимаю что простого набора консольных команд для работы с MySql будет достаточно, а PhpMyAdmin это как бы лишнее.
$ mysql -uroot -pпароль
]> show databases;
]> create database имя_базы;
]> drop database имя_базы;
]> create user 'логин'@'localhost' IDENTIFIED BY 'пароль';
]> drop user логин;
$ sudo mysql -uлогин -pпароль имя_базы < имя_файла.sql     – залить бд.
$ sudo mysqldump -uлогин -pпароль имя_базы > имя_файла.sql – выгрузка дампа.
Только не нашел как создать пользователя с правами, только без прав.
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
palpalych
а как этим пользоваться?
Откройте файл start_example.php. Это конфиг и запускающий файл, настройки скрипта в нём, сам скрипт в mysqlsh_main.php , его править не нужно.
Как минимум, надо придумать пароль и вписать его MD5-хеш в $password
Проще всего получить хеш так:
$ echo -n abcd|md5sum 
e2fc714c4727ee9395f324cd2e7f331f  -
или так:
$ php -r 'echo md5("abcd")."\n";'
e2fc714c4727ee9395f324cd2e7f331f
Далее start_example.php желательно переименовать (дать то имя, по которому он будет запускаться).

После входа в интерфейс можно логиниться в БД и писать запросы.
Можно настроить скрипт так, чтобы он логинился в БД автоматически, если в каталоге со скриптом будет лежать файл config.php (или ссылка на него) с переменными $dbhost $dbname $dbuser $dbpasswd


Только не нашел как создать пользователя с правами, только без прав
Чтобы у юзера были права, надо дать ему права – примерно так:
GRANT ALL ON dbname.* TO user@localhost
Natrio
Чтобы у юзера были права, надо дать ему права – примерно так:
это понятно, тут как-бы 2 варианта без прав и полные права, а я имел в виду выбор прав, кстати Natrio можешь одобрить набор прав от lavlan (первый пост на этой странице)?

Прикольно нашел противоречащие друг другу сценарии бэкапа
$ sudo mysql -uлогин -pпароль имя_базы < имя_файла.sql     – залить бд.
$ sudo mysqldump -uлогин -pпароль имя_базы > имя_файла.sql – выгрузка дампа.
$ sudo mysqldump --all --add-drop-table -u логин -pпароль имя_базы > dumpdb.sql - бэкап имя_базы
$ sudo mysql -u логин -pпароль имя_базы < dumpdb.sql – закачка бекапа из файла dumpdb.sql.
как-бы где истина?

сделал так, вроде прокатило, обмен произошел...
$ sudo mysqldump --add-drop-table -uroot -pпароль workloc > exp.sql
$ sudo mysqldump --add-drop-table -uroot -pпароль exploc > work.sql
$ sudo mysql -uroot -pпароль exploc < exp.sql
$ sudo mysql -uroot -pпароль workloc < work.sql
Арчи ~]$ ...as always want ready-made solutions that would make even tastier

а с какими правами нужен пользователь?
Как в двухтысячных утверждал журнал хакер, работа под рутом опасна для здоровья. Так что имеет смысл создать простого пользователя.

Что посетителю требуется от сайта? обычно просмотр (select), добавление записи в базу (insert), и может быть редактирование (update). в случае магазина/форума/блога может оказаться необходимым еще и удаление (delete).

Управление структурой отдавать движку я бы не рискнул (хотя для первой установки могут потребоваться create, alter, create view. гораздо реже TRIGGER ). Имхо проще перенести структуру с тестовой базы.
относительно безопасные команды show tables и show databases . Остальные команды я бы пользователю (под которым работает движок) разрешать не рискнул.
Да пребудет с вами знание ip адреса
domov0y
Так что имеет смысл создать простого пользователя.
Нужно определиться с терминами.
Есть вот такой магазин, у него есть администратор который через админку (Логин: test@admin.com Пароль: admin) что-то администрирует, вот ему какие права нужны? потому что насколько я понимаю речь может идти только об администраторе магазина, посетитель тут вообще никаким боком, он вносить изменения в базу не может ни при каких обстоятельствах, или я что-то не понимаю?
Арчи ~]$ ...as always want ready-made solutions that would make even tastier
 
Зарегистрироваться или войдите чтобы оставить сообщение.