- Orange Pi. Установка ОС (Debian, Ubuntu), первоначальная настройка
- Домашний сервер на Orange Pi часть 1: установка ОС и первичная настройка
- Список ингредиентов
- Подготовка к установке
- Установка (самый короткий и легкий пункт)
- Первый запуск сервера
- Настройка сервера
- Русификация сервера
- Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One
- Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One
- 0. Предыстория
- 1. Установка прошивки
- 2. Установка LAMP(Linux + Apache + MySQL + PHP)
Orange Pi. Установка ОС (Debian, Ubuntu), первоначальная настройка
Записываем на SD карту с помощью Rufus (или аналогичной), вставляем карту в OrangePI, загружаемся и авторизуемся (логин: orangepi, пароль: orangepi).
Настраиваем интернет Wi-Fi. Или через интерфейс десктоп (если установлен).
Подключаемся через Putty (мне так удобнее). Меняем китайские репозитории. Вводим:
Если установлена Debian, то меняем на:
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
#deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
#deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
deb http://security.debian.org/ bullseye-security main contrib non-free
#deb-src http://security.debian.org/ bullseye-security main contrib non-free
Если установлена Ubuntu, то меняем на:
deb http://ports.ubuntu.com/ jammy main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ jammy main restricted universe multiverse
deb http://ports.ubuntu.com/ jammy-security main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ jammy-security main restricted universe multiverse
deb http://ports.ubuntu.com/ jammy-updates main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ jammy-updates main restricted universe multiverse
deb http://ports.ubuntu.com/ jammy-backports main restricted universe multiverse
#deb-src http://ports.ubuntu.com/ jammy-backports main restricted universe multiverse
Домашний сервер на Orange Pi часть 1: установка ОС и первичная настройка
Итак, приступим. Вы являетесь счастливым обладателем Orange Pi приобретённом на популярной интернет площадке из далекой страны Синд. И в один прекрасный момент Вас посетило желание создать свой домашний сервер на базе этого одноплатного компьютера. Сразу предупрежу: машинка слабенькая и склонна к перегреву (но Вы же уже изучили все её хорошие и плохие стороны, и раз Вы здесь, то видимо смирились с последними — а радиаторы, все же стоит приклеить), но к выполнению простеньких задач в качестве сервера вполне пригодна и если не планируете посещение сайта одновременно 50+ клиентов, то и сайт потянет. Нет никакой разницы на какую апельсинку ставить ОС, принцип один и сработает везде. В качестве сервера у меня используется Orange Pi PC, но для того, чтобы написать инструкции, из ящика был извлечён Orange Pi PC Plus (отличие: присутствует wi-fi, Bluetooth и наплатная память на 8 Gb), который мы и будем терзать.
Список ингредиентов
- Сам одноплатный компьютер — Orange Pi.
- Шнурок Ethernet для подключения к роутеру, либо клавиатура, кабель HDMI, и монитор/телевизор, для первого входа на наш сервер.
- Карта Micro SD от SanDisk (как показала практика только они на апельсинке работают беспроблемно), объемом не менее 8Gb.
- USB адаптер для micro SD.
- Компьютер/ноутбук подключённый к той же сети, что и будущий сервер.
- Внешний IP адрес, если Вы планируете доступ к Вашему серверу из любой точки мира.
- Не очень кривые руки, которые мы и будем вместе выпрямлять.
Подготовка к установке
- Идём на сайт Armbian и скачиваем образ для своего Orange.
Почему армбиан? Мне он показался самым простым в настройке, он построен базе Ubuntu и Debian, можно скачать либо тот, либо другой. Я качал на базе Ubuntu — серверный вариант без графического окружения. - Качаем для своей платформы программу для записи образа на флешку Unetbootin или Etcher. У меня макбук, поэтому я воспользуюсь Etcher. Владельцы Linux и MacOS могут также воспользоваться штатными средствами своей ОС: терминальная утилита dd. Здесь мы её рассматривать не будем.
- Если Вы счастливый обладатель Windows, то качаете бесплатную утилиту эмулятор терминала — PuTTY, которая имеет в себе терминал и встроенный клиент OpenSSH. Пользователям Linux и MacOS ничего качать не надо, у вас все это есть.
Установка (самый короткий и легкий пункт)
- Запускаем утилиту (в Windows, запускаем утилиту с правами администратора).
- Выбираем скачанный ранее образ.
- Выбираем диск-флешку куда будем ставить Armbian.
- Вводим пользовательский пароль (в Windows ничего вводить не надо).
- Ждём слегка волнуясь 3-5 мин. и всё, система установлена на Вашу SD карту.
Первый запуск сервера
Дрожащей рукой, вытирая слёзы счастья, вставляем эсдишку в наш одноплатник подключённый по Ethernet (чтобы не городить конструкцию с дополнительной клавиатурой и монитором подключенном по HDMI) к роутеру и подаем на него питание (второй дрожащей рукой рукой вставляем блок питания от Orange Pi в розетку)
блок питания, лучше приобрести помощнее: 2-3А, так как при подключении usb устройств, на слабом БП может быть просадка по напряжению и и наш сервер будет выключаться.
Ждём порядка минуты, Armbian быстро грузится, открываем терминал/PuTTY и вводим. да ничего мы не вводим, т.к. не знаем какой IP-адрес получило устройство от нашего роутера.
Открываем браузер и идём в админ-панель роутера, где смотрим какой IP-адрес присвоился нашему серверу у меня — это 192.168.1.210 Запоминаем или записываем.
(Прошу владельцев Windows извинить меня, но скриншотов как настроить PuTTY не будет, т.к. винды у меня нет )) и Вам придётся самостоятельно поискать в интернете: как зайти на Линукс через PuTTY). Возвращаемся в терминал, вводим: ssh root@IP-адрес
нажимаем Enter, вводим пароль 1234
(не пугаемся, в целях безопасности на экране не отображаются даже звездочки при вводе пароля) и соглашаемся с созданием ключа безопасности ssh (набираем по английски yes ) для пары хост-сервер, нажимаем Enter и попадаем в окно приветствия где нам сразу предлагают изменить пароль для пользователя — root. Вводим 1234 , и следующим пунктов вводим новый пароль пользователя root, подтверждаем новый пароль.
Следующим пунктом, нам предлагают создать нового пользователя, вводим имя пользователя, в моём случае — example ,
дважды вводим пароль нового пользователя и далее нам предлагают заполнить информацию о пользователе, что можно смело пропустить, т.к. ни на что это не влияет, подтверждаем введеную информацию символом y и жмём Enter.
Выходим из сессии root сочетанием клавиш Ctrl-D и заходим на наш сервер уже под пользователем, которого мы только что создали.
Настройка сервера
Запускаем встроенную утилиту для настройки Armbian: набираем в терминале sudo armbian-config
- Настройка частоты процессора для избежания перегрева. Выбираем пункт System -> CPU и:
- задаем минимальную частоту ппроцессора — 480000
- следующим пунктом, задаём максимальную частоту процессора — 1200000
- В пункте Timezone выбираем свою временную зону, у меня Europe -> Moscow .
- В пункте Hostname меняем имя host’a, в моём случае example .
Выходим из утилиты armbian-config .
Теперь нам осталось только установить русскую локализацию и на этом наша первичная настройка сервера будет завершена.
Русификация сервера
Для установки русского языка, необходимо установить два пакета локализации. Набираем в терминале следующие команды:
sudo apt update && sudo apt upgrade -y
нажимаем Enter и вводим пароль пользователя.
Эти команды обновят нашу систему до актуального состояния.
Затем устанавливаем пакеты локализации:
sudo apt install language-pack-ru language-pack-ru-base
Подтверждаем установку введением пароля и нажатием Enter. По окнчании установки пакетов, необходимо поправить файл локализации, открываем файл локализации:
sudo nano /etc/default/locale
Подтверждаем открытие вводом пароля и нажатием Enter. В открывшемся файле, удаляем всё и приводим файл к виду:
LC_MESSAGES=ru_RU.UTF-8 LANGUAGE=ru_US.RUF-8 LANG=ru_RU.UTF-8 LC_ALL=ru_RU.UTF-8
Выходим из редактора нажатием клавиш Ctrl-X , подтверждаем сохранение файла нажатием y , и Enter`ом подверждаем имя сохраняемого файла.
Все наши изменения вступят в силу при следующем входе в систему, поэтому перезагружаем наш сервер командой в терминале sudo reboot , вводим пароль пользователя, ждем около минуты и повторно заходим на наш сервер и если все прошло удачно (а другого и быть не может), радуемся тому, что наш сервер в своем интерфейсе будет иметь русский язык. Для проверки можно открыть редактор nano и убедиться в том, что его интерфейс теперь имеет русский язык.
На этом установка ОС и первичная настройка нашего сервера завершена. В следующей статье, мы с вами подключим к нашему серверу USB-диск (на примере флешки), для организации файлового хранилища в домашней сети.
Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One
Установка LAMP (Linux + Apache + MySQL + PHP) на OrangePi One
0. Предыстория
Недавно столкнулся с такой проблемой: По раз 10-15 приходилось переустанавливать прошивку на Orange Pi One т.к. Mysql и Phpmyadmin не хотели дружить. Долго искал годный мануал на данную тему и так не нашел. Данный мануал собрал с нескольких сайтов и чуток доработан моим корявым русским.
1. Установка прошивки
При помощи утилиты Rufus для Windows устанавливаем прошивку на microSD
При первом старте логин ‘root’ а пароль ‘1234’.
Дальше в принудительном порядке вы поменяете пароль и будет создание нового пользователя
2. Установка LAMP(Linux + Apache + MySQL + PHP)
Подключаемся к нашей OrangePi при помощи SSH/HDMI/UART
Устанавливаем Apache + PHP
$ apt-get install apache2 php libapache2-mod-php
Чтобы включить Htaccess нужно изменить конфиг файл:
$ nano /etc/apache2/sites-enabled/000-default
AllowOverride None
на
AllowOverride ALL
$ apt-get install mysql-server mysql-client php-mysql
После установки пароля для root пользователя жмем Enter и ждем окончания установки.
$ 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;
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 //Перезапуск БД