Установка 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.


Есть кнопка ОК, но подождите минуты 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  //Перезапуск БД

На этом установка LAMP на OrangePi One завершена.


Возможно кому-нибудь данный мануал поможет

Tags:
orange pi, server, lamp, ubuntu

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.