Терминал в браузере
Терминал открывает командную строку сервера прямо в панели. Перезапустить приложение, подтянуть новый код или поправить права можно здесь, не запуская SSH-клиент.
Что это такое
Командная строка открывается во вкладке браузера. Это тот же shell, что и по SSH, с теми же программами. В WardPane 2.0 терминалов два.
Root-терминал доступен только в сеансе, начатом под root (см. безопасность панели). Он работает от root и может изменить на сервере что угодно.
Терминал владельца открывается из сайта. Он работает от имени владельца сайта, то есть пользователя Linux, которому принадлежат файлы (по умолчанию www-root), начинает в папке сайта и имеет ровно те права, что у владельца.
В обоих случаях у терминала столько прав, сколько у учётной записи, от которой он запущен, и не больше.
Типичные задачи
Приложения Node.js с PM2
У каждого владельца свой демон PM2, под которым работают его сайты Node.js, так что команды PM2 доступны в терминале владельца:
pm2 list # приложения владельца, названные по их доменам
pm2 restart example.com # перезапустить одно приложение
pm2 logs example.com # следить за его выводом (Ctrl+C, чтобы остановить)
Версию, команду запуска, переменные окружения и лимиты меняйте в панели. Конфигурацию PM2 панель пересоздаёт из своих настроек, и правки, сделанные через сам PM2, пропадут. См. Node.js.
Установка зависимостей и сборка
cd /var/www/www-root/data/www/example.com
npm ci # или нажмите «npm install» на вкладке «Обработчик»
npm run build
Развёртывание через git
cd /var/www/www-root/data/www/example.com
git pull
Для сайта Node.js после этого перезапустите приложение (pm2 restart example.com или Перезапустить в панели).
PHP-сайты
cd /var/www/www-root/data/www/example.com
wp plugin update --all # WP-CLI, если установлен
php artisan migrate # Laravel
Песочница PHP ограничивает сайт, но не команды, которые вы запускаете в терминале. Поэтому плагины и обновления WordPress безопаснее ставить из терминала, а не из админки WordPress: ей для этого нужен параметр Выполнять .php из папок с правом записи. См. PHP.
Права на файлы
Файлы сайта должны быть доступны для чтения всем (644 для файлов, 755 для папок):
find . -type d -exec chmod 755 {} +
find . -type f -exec chmod 644 {} +
После таких изменений на PHP-сайте нажмите Применить заново и исправить права на вкладке Обработчик, и папки с правом записи снова перейдут к PHP.
Базы данных
WardPane 2.0 не управляет базами данных. Если вы сами установили MySQL или MariaDB, их утилиты работают в терминале как обычно:
mysql -u myshop -p myshop # открыть базу данных
mysqldump -u myshop -p myshop > dump.sql # сделать резервную копию
Управление базами данных из панели запланировано на версию 2.1 (см. Базы данных).
Замечания о безопасности
- Любой, кто может войти в панель, может открыть терминал владельца сайта, а в сеансе root можно выполнить что угодно от root. Ставьте надёжные пароли и по возможности ограничьте доступ к панели по адресам через
PANEL_ALLOW_IPS. - Настройки, которыми управляет панель (сайты, обработчики, сертификаты), меняйте в панели, а не в root-терминале. Иначе представление панели о сервере разойдётся с тем, что на нём на самом деле.
- Не редактируйте генерируемые файлы, например
/etc/wardpane/php/<id>/php.iniили конфигурацию PM2: панель их перезаписывает. Меняйте настройки в панели. - Не вставляйте команды из источников, которым не доверяете: здесь они действуют так же, как набранные по SSH.
- Трафик терминала идёт через HTTPS-соединение панели, как и у всех остальных её страниц.