Простая админка для localhost с bash сервером и c обёрткой на PHP. Всего семь файлов, шесть из которых на PHP, и один на bash
Преимущества: Простой bash сервер без использования стороннего программного обеспечения с запуском от администратора, безопасно выполняющий указанные команды. Не нужно назначать права супер-пользователя веб-серверу. Подойдет для установки на чистый веб-сервер
Недостатки: Для дополнительной настройки нужно немного знать bash и php c java script
По-умолчанию:
- Bash команды в меню
- Секция с логами
- Секция whois
- Секция phpinfo
Содержит файлы конфигурации для nginx и apache, скрипт юнита systemd для bash-сервера, файлы сервера
Убрать секцию phpinfo или добавить дополнительные страницы можно в /server/index.php на 8 строке в переменной массива
Меню bash и логи можно настроить под себя в файле commands.sh, в функциях makeBashJson() на 48 строке и makeLogJson() на 142 строке соответственно, добавив обработку bash в nc_serv(). Затем перезапустить сервер
systemctl restart commands.service
Для работы необходимы PHP 7.0 или выше с расширениями php-xml, php-mbstring, веб-сервер
Пакеты: screen (для запуска bash сервера в терминале), jq (для работы bash с json), whois
Установка и запуск:
Установить screen, jq, whois, nginx, php
$ sudo apt install screen jq whois nginx php php-fpm php-xml php-mbstring
Cкачать архив, распаковать и скопировать файлы сервера в папку сервера.
$ unzip Bash\ сервер.zip $ sudo cp -r var/www/html /var/www $ sudo chown -R www-data:www-data /var/www/html $ sudo chmod -R 755 /var/www/html $ sudo find /var/www/html -type f -exec chmod 644 {} \; $ sudo chmod +x /var/www/html/server/scripts/commands/commands.sh
Установить systemd юнит commands.service и обновить
$ sudo systemctl daemon-reload
Изменить порт bash сервера 1234 по желанию на свой в файле commands.sh и запустить bash сервер
$ sudo systemctl enable commands.service $ sudo systemctl start commands.service
Настроить и перезапустить веб-сервер, запустить браузер и перейти на страницу
http://localhost
#linux #bash #netcat