Установка MajorDoMo на OrangePi Prime
Установка MajorDoMo на OrangePi Prime (Armbian 23.x)
1. Обновление системы
2. Базовые утилиты
3. Настройка пользователя
Создай пользователя pi
(если не сделал) и добавь в sudo:
4. Проверка памяти
Armbian по умолчанию включает zram swap (~1 ГБ). Проверить:
Должен быть /dev/zram0
.
apt-get install ssh -y
5. Установка MariaDB
Настройка безопасности:
Задай пароль root, на все вопросы отвечай Y
.
6. Создание БД и пользователя
7. Установка Apache
Конфиг виртуального хоста /etc/apache2/sites-available/000-default.conf или
/etc/apache2/sites-available/default:
Включаем модуль rewrite:
Удаляем стандартный index.html файл командой:
rm -f /var/www/html/index.html
И перезапускаем Апач:
apache2ctl restart
Если при перезапуске выдаст примерно такой ответ:
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
То необходимо поправить apache2.conf
nano /etc/apache2/apache2.conf
Вставив в него такую строку:
ServerName localhost
Сохраняемся и выходим: Ctrl-O Ctrl-X
Перезапускаем Апач
apache2ctl restart
Если ваша версия Apache отличается от рассматриваемой, то пути к файлам конфигурации могут быть такими:
nano /etc/apache2/sites-available/default.conf
nano /etc/apache2/httpd.conf
8. Установка PHP
Перезапуск:
9. Настройка PHP
В обоих файлах /etc/php/8.2/apache2/php.ini
и /etc/php/8.2/cli/php.ini
поправь строки:
OPcache (очень рекомендую для скорости)
Обычно пакет уже стоит; проверь и включи в /etc/php/8.2/apache2/php.ini или /etc/php/8.2/mods-available/opcache.ini
Прочие полезные твики
Перезапуск Apache:
10. Установка phpMyAdmin (первый вариант)
Загрузите phpMyAdmin на сервере Debian 10
phpMyAdmin не включен в репозиторий программного обеспечения Debian 10, поэтому мы должны вручную загрузить программное обеспечение.
Перейдите на страницу загрузки phpMyAdmin, чтобы проверить последнюю стабильную версию.
Затем выполните следующую команду, чтобы загрузить его.
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
Подсказка: Вы всегда можете использовать вышеуказанный формат URL для загрузки последней стабильной версии phpMyAdmin.
Просто замените 5.2.0 на номер последней версии.
Распакуйте.
apt install unzip
unzip phpMyAdmin-5.2.0-all-languages.zip
Переместите phpMyadmin в /usr/share/каталог.
mv phpMyAdmin-5.2.0-all-languages /usr/share/phpmyadmin
Затем сделайте веб-сервером user ( www-data) в качестве владельца этого каталога.
chown -R www-data:www-data /usr/share/phpmyadmin
Если вы хотите получить доступ к веб-интерфейсу phpMyAdmin из подкаталога, создайте фрагмент конфигурации с помощью следующей команды.
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Вставьте следующий текст в файл.
Сохраните и закройте файл. Затем включите этот фрагмент конфигурации.
a2enconf phpmyadmin.conf
sudo systemctl reload apache2
phpMyAdmin не включен в репозиторий программного обеспечения Debian 10, поэтому мы должны вручную загрузить программное обеспечение.
Перейдите на страницу загрузки phpMyAdmin, чтобы проверить последнюю стабильную версию.
Затем выполните следующую команду, чтобы загрузить его.
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
Подсказка: Вы всегда можете использовать вышеуказанный формат URL для загрузки последней стабильной версии phpMyAdmin.
Просто замените 5.2.0 на номер последней версии.
Распакуйте.
apt install unzip
unzip phpMyAdmin-5.2.0-all-languages.zip
Переместите phpMyadmin в /usr/share/каталог.
mv phpMyAdmin-5.2.0-all-languages /usr/share/phpmyadmin
Затем сделайте веб-сервером user ( www-data) в качестве владельца этого каталога.
chown -R www-data:www-data /usr/share/phpmyadmin
Создание конфигурации Apache для phpMyAdmin
Если вы хотите получить доступ к веб-интерфейсу phpMyAdmin из подкаталога, создайте фрагмент конфигурации с помощью следующей команды.
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Вставьте следующий текст в файл.
# phpMyAdmin on Apache 2.4 / PHP 8.x
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
AllowOverride None
Require all granted
</Directory>
# Закрываем служебные папки
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
Сохраните и закройте файл. Затем включите этот фрагмент конфигурации.
a2enconf phpmyadmin.conf
sudo systemctl reload apache2
Установка phpMyAdmin (второй вариант из пакета)
После этого панель доступна по адресу:
http://IP_OrangePi/phpmyadmin
Входи как пользователь majordomo
(не root).
Нам также нужно создать временную папку phpMyAdmin.
mkdir -p /var/lib/phpmyadmin/tmp
chown www-data:www-data /var/lib/phpmyadmin/tmp
Перезагрузите Apache, чтобы изменения вступили в силу.
systemctl reload apache2
mkdir -p /var/lib/phpmyadmin/tmp
chown www-data:www-data /var/lib/phpmyadmin/tmp
Перезагрузите Apache, чтобы изменения вступили в силу.
systemctl reload apache2
Включаем mod_rewrite
a2enmod rewrite
Перезапускаем Апач
apache2ctl restart
11. Установка MajorDoMo (первый вариант)
Скачиваем дистрибутив Majordomo, разархивируем и копируем содержимое majordomo-master в директорию /var/www/html:
mkdir ~/majordomo
cd ~/majordomo
wget https://github.com/sergejey/majordomo/archive/master.zip
unzip master.zip
cp -rp ~/majordomo/majordomo-master/* /var/www/html
cp -rp ~/majordomo/majordomo-master/.htaccess /var/www/html
rm -rf ~/majordomo
Установка MajorDoMo (второй вариант)
Настройка прав на файлы и директории
Установка рекомендуемых прав выполняется следующими командами:
Для файлов:
find /var/www/html/ -type f -exec chmod 0644 {} \;
Для директорий:
find /var/www/html/ -type d -exec chmod 0755 {} \;
Проверяем права командой:
ls -lh /var/www/html
Права будут выглядеть подобно:
Для директорий:
drwxr-xr-x
Для файлов:
-rw-r--r--
Установка собственника и группы на файлы и директории
Majordomo (а именно сервисы: apache и php) работает от пользователя www-data. Права доступа к каталогу /var/www/html, где лежат файлы Majordomo по умолчанию принадлежат root. Изменим владельца директории /var/www/html на www-data.
chown -R www-data:www-data /var/www/html
Проверяем:
ls -lh /var/www/html
Вывод должен быть подобный:
-rw-r--r-- 1 www-data www-data 12K May 26 22:19 cycle.php
Теперь необходимо предоставить доступ пользователю www-data к медиа устройствам. Для этого его необходимо добавить в группу audio.
Это делается командой usermod:
usermod -a -G audio www-data
Проверяем, что он появился в группе:
cat /etc/group | grep audio
Если всё в порядке, то вывод будет подобный:
audio:x:29:www-data
Далее пользователю www-data предоставляем доступ к выполнению команд через sudo.
Открываем файл visudo
sudo visudo
И добавляем строку
www-data ALL=(ALL) NOPASSWD:ALL → огромная дыра в безопасности.
Лучше такая запись:
www-data ALL=(ALL) NOPASSWD:/sbin/reboot,/sbin/poweroff,/usr/bin/systemctl restart majordomo
Тогда PHP сможет запускать только эти команды.
Сохраните и закройте файл.
Создай конфиг:
12. Импорт БД
Заходим по адресу:
Или:
Если phpadmin не открывается, замените localhost на IP вашего сервера, к примеру http://192.168.178.22/phpmyadmin
При входе будет запрошен логин, его необходимо указать как: majordomo, и пароль который который был задан на шаге: "Создание пользователя и БД MySQL".
В созданную ранее БД необходимо импортировать файл db_terminal.sql из директории с дистрибутивом. Скачать его можно по ссылке: db_termina.sql. Для скачивания нажмите правой кнопкой мыши на ссылку и выберите: "Сохранить ссылку как...".
Далее выполняем последовательность действий в phpMyAdmin для импорта sql файла.
В левой части окна выбрать БД db_terminal, путём нажатия один раз на её название.
В верхней части окна найти кнопку "Импорт".
В загрузившейся странице, в разделе "Импортируемый файл" нажать "Выберите файл" или "Обзор".
В открывшемся окне, выбрать ранее сохраненный файл "db_terminal.sql".
В нижней части окна нажать "Вперёд".
После успешного импорта должна отобразится зелёная строка с подобным текстом:
Импорт успешно завершён, выполнено 171 запросов. (db_terminal.sql)
В случае если возникли проблемы с импортом БД используя phpMyAdmin, есть возможность импортировать дамп БД используя командную строку. Для этого скачайте дамп файл командой:
wget -O /tmp/db_terminal.sql https://raw.githubusercontent.com/sergejey/majordomo/master/db_terminal.sql
И импортируйте его:
mysql -umajordomo -p db_terminal < /tmp/db_terminal.sql
Будет запрошен пароль пользователя majordomo, который был задан на шаге: "Создание пользователя и БД MySQL".
13. Все, теперь можно зайти в веб интерфейс Majordomo.
Или: Если установка выполняется не на локальную машину.
При первом входе должна быть отображена страница: "Hello, world! :)" на которой необходимо выбрать тайм зону, язык системы и цветовую тему. По завершении нажать кнопку "Continue".
В случае если такая страница не отобразилась, открыть её можно по ссылке:
14. Основной цикл Systemd unit. Открываем файл:
nano /etc/systemd/system/majordomo.service
И вставляем в него код юнита:
[Unit]
Description=Majordomo cycles service
Requires=network.target mysql.service apache2.service
After=mysql.service apache2.service
[Service]
Type=simple
User=www-data
Group=www-data
ExecStart=/usr/bin/php /var/www/html/cycle.php
ExecStop=/usr/bin/pkill -f cycle_*
KillSignal=SIGKILL
KillMode=control-group
RestartSec=1min
Restart=on-failure
[Install]
WantedBy=multi-user.target
Для автозапуска MajorDoMo при старте системы, необходимо выполнить команду:
systemctl daemon-reload
systemctl enable majordomo
И для запуска MajorDoMo необходимо выполнить:
systemctl start majordomo
Осталось только перезапустить систему командой:
sudo shutdown -r now
Всем успеха! Материал взят и малость переделан под свои нужды с сайта Majordomo.
Комментарии
Отправить комментарий