Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One
Ожидает приглашения
Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One
0. Предыстория
Недавно столкнулся с такой проблемой: По раз 10-15 приходилось переустанавливать прошивку на Orange Pi One т.к. Mysql и Phpmyadmin не хотели дружить. Долго искал годный мануал на данную тему и так не нашел. Данный мануал собрал с нескольких сайтов и чуток доработан моим корявым русским.
1. Установка прошивки
Скачиваем образ Armbian Ubuntu 18.04+ для OrangePi One с официального сайта
Ссылка на прошивку
При помощи утилиты Rufus для Windows устанавливаем прошивку на microSD
Ссылка на Rufus
При первом старте логин 'root' а пароль '1234'.
Дальше в принудительном порядке вы поменяете пароль и будет создание нового пользователя
2. Установка LAMP(Linux + Apache + MySQL + PHP)
Подключаемся к нашей OrangePi при помощи SSH/HDMI/UART
Устанавливаем Apache + PHP
$ apt-get install apache2 php libapache2-mod-php
Делаем рестарт Apache
$ service apache2 restart
Чтобы включить Htaccess нужно изменить конфиг файл:
$ nano /etc/apache2/sites-enabled/000-default
меняем везде строку
AllowOverride None
на
AllowOverride ALL
Установка MySQL-сервера
$ apt-get install mysql-server mysql-client php-mysql
После установки пароля для root пользователя жмем Enter и ждем окончания установки.
Установка PHPMYADMIN
$ apt-get install phpmyadmin
выбивает такое окно The phpmyadmin package must have a database installed and
configured before it can be used. This can be optionally
handled with dbconfig-common.
If you are an advanced database administrator and know
that you want to perform this configuration manually, or
if your database has already been installed and
configured, you should refuse this option. Details on what needs to be
done should most likely be provided in
/usr/share/doc/phpmyadmin.
Otherwise, you should probably choose this option.
configured before it can be used. This can be optionally
handled with dbconfig-common.
If you are an advanced database administrator and know
that you want to perform this configuration manually, or
if your database has already been installed and
configured, you should refuse this option. Details on what needs to be
done should most likely be provided in
/usr/share/doc/phpmyadmin.
Otherwise, you should probably choose this option.
Есть кнопка ОК, но подождите минуты 2 чтобы все было хорошо ( не знаю почему, но у меня с 5того раза получилось)
Оказалось, что «password» в MySQL 5.7 переименовали в «authentication_string». Пришлось модифицировать запрос:
SELECT host, user, authentication_string from mysql.user;
Обновляем пароль root
UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password')
WHERE User='root';
Создать нового пользователя с административными правами, где 'pmauser' — имя аккаунта
$ mysql -p -u root
CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password_here';
GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;
Сделаем помощь Apache, подключив конфигурации для веб-сервера от phpmyadmin.
Для этого выполним:
$ nano /etc/apache2/apache2.conf
И в самый конец файла вставим:
Include /etc/phpmyadmin/apache.conf
Жмем [Ctrl]+[X] затем Y проверяем путь и подтверждаем Enter.
В PHPMYADMIN может выбить ошибка из-за новой версии
Ошибка
(Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable
Backtrace
./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',......)
В строке 613 функция count всегда принимает значение true, поскольку после нее закрывающая скобка отсутствует $analyzed_sql_results['select_expr']. Выполнение приведенных ниже замен решает эту проблему, тогда вам нужно будет удалить последние закрывающие скобки в строке 614, поскольку теперь они являются дополнительными скобками
Редактировать файл:
$ nano /usr/share/phpmyadmin/libraries/sql.lib.php
Заменить:
(count($analyzed_sql_results['select_expr'] == 1)
На: (Переместить скобку перед == )
(count($analyzed_sql_results['select_expr']) == 1
$mysql -u root -p //Команда для входа в БД где 'root' - логин
exit; //Выход из БД
$service mysql restart //Перезапуск БД